aptdaemon-1.1.1/0000755000175000017500000000000012202062656014241 5ustar renaterenate00000000000000aptdaemon-1.1.1/aptdaemon.egg-info/0000755000175000017500000000000012202062656017703 5ustar renaterenate00000000000000aptdaemon-1.1.1/aptdaemon.egg-info/SOURCES.txt0000644000175000017500000001737012202062656021577 0ustar renaterenate00000000000000AUTHORS COPYRIGHT ChangeLog MANIFEST.in NEWS README README.PackageKit README.tests TODO applet.py aptd aptdcon gtk-demo.py gtk3-demo.py pylintrc release.sh setup.cfg setup.py apport/aptdaemon.py aptdaemon/__init__.py aptdaemon/client.py aptdaemon/config.py aptdaemon/console.py aptdaemon/core.py aptdaemon/crash.py aptdaemon/debconf.py aptdaemon/enums.py aptdaemon/errors.py aptdaemon/gtk3widgets.py aptdaemon/gtkwidgets.py aptdaemon/lock.py aptdaemon/logger.py aptdaemon/loop.py aptdaemon/networking.py aptdaemon/pkcompat.py aptdaemon/pkenums.py aptdaemon/policykit1.py aptdaemon/progress.py aptdaemon/test.py aptdaemon/utils.py aptdaemon/worker.py aptdaemon.egg-info/PKG-INFO aptdaemon.egg-info/SOURCES.txt aptdaemon.egg-info/dependency_links.txt aptdaemon.egg-info/top_level.txt data/20dbus data/org.debian.apt.conf data/org.debian.apt.policy.in data/org.debian.apt.service data/org.freedesktop.PackageKit-aptd.conf data/org.freedesktop.PackageKit.service data/icons/clean_svg_icons.sh data/icons/generate_16x16_icons.sh data/icons/generate_24x24_icons.sh data/icons/generate_48x48_icons.sh data/icons/16x16/animations/aptdaemon-action-cleaning-up.png data/icons/16x16/animations/aptdaemon-action-downloading.png data/icons/16x16/animations/aptdaemon-action-installing.png data/icons/16x16/animations/aptdaemon-action-removing.png data/icons/16x16/animations/aptdaemon-action-resolving.png data/icons/16x16/animations/aptdaemon-action-updating-cache.png data/icons/16x16/animations/aptdaemon-action-waiting.png data/icons/16x16/status/aptdaemon-add.png data/icons/16x16/status/aptdaemon-cleanup.png data/icons/16x16/status/aptdaemon-delete.png data/icons/16x16/status/aptdaemon-download.png data/icons/16x16/status/aptdaemon-resolve.png data/icons/16x16/status/aptdaemon-update-cache.png data/icons/16x16/status/aptdaemon-upgrade.png data/icons/16x16/status/aptdaemon-wait.png data/icons/16x16/status/aptdaemon-working.png data/icons/22x22/animations/aptdaemon-action-cleaning-up.png data/icons/22x22/animations/aptdaemon-action-downloading.png data/icons/22x22/animations/aptdaemon-action-installing.png data/icons/22x22/animations/aptdaemon-action-removing.png data/icons/22x22/animations/aptdaemon-action-resolving.png data/icons/22x22/animations/aptdaemon-action-updating-cache.png data/icons/22x22/animations/aptdaemon-action-waiting.png data/icons/22x22/status/aptdaemon-add.png data/icons/22x22/status/aptdaemon-cleanup.png data/icons/22x22/status/aptdaemon-delete.png data/icons/22x22/status/aptdaemon-download.png data/icons/22x22/status/aptdaemon-resolve.png data/icons/22x22/status/aptdaemon-update-cache.png data/icons/22x22/status/aptdaemon-upgrade.png data/icons/22x22/status/aptdaemon-wait.png data/icons/22x22/status/aptdaemon-working.png data/icons/24x24/animations/aptdaemon-action-cleaning-up.png data/icons/24x24/animations/aptdaemon-action-downloading.png data/icons/24x24/animations/aptdaemon-action-installing.png data/icons/24x24/animations/aptdaemon-action-removing.png data/icons/24x24/animations/aptdaemon-action-resolving.png data/icons/24x24/animations/aptdaemon-action-updating-cache.png data/icons/24x24/animations/aptdaemon-action-waiting.png data/icons/24x24/status/aptdaemon-add.png data/icons/24x24/status/aptdaemon-cleanup.png data/icons/24x24/status/aptdaemon-delete.png data/icons/24x24/status/aptdaemon-download.png data/icons/24x24/status/aptdaemon-resolve.png data/icons/24x24/status/aptdaemon-update-cache.png data/icons/24x24/status/aptdaemon-upgrade.png data/icons/24x24/status/aptdaemon-wait.png data/icons/24x24/status/aptdaemon-working.png data/icons/48x48/animations/aptdaemon-action-cleaning-up.png data/icons/48x48/animations/aptdaemon-action-downloading.png data/icons/48x48/animations/aptdaemon-action-installing.png data/icons/48x48/animations/aptdaemon-action-removing.png data/icons/48x48/animations/aptdaemon-action-resolving.png data/icons/48x48/animations/aptdaemon-action-updating-cache.png data/icons/48x48/animations/aptdaemon-action-waiting.png data/icons/48x48/status/aptdaemon-add.png data/icons/48x48/status/aptdaemon-cleanup.png data/icons/48x48/status/aptdaemon-delete.png data/icons/48x48/status/aptdaemon-download.png data/icons/48x48/status/aptdaemon-resolve.png data/icons/48x48/status/aptdaemon-update-cache.png data/icons/48x48/status/aptdaemon-upgrade.png data/icons/48x48/status/aptdaemon-wait.png data/icons/48x48/status/aptdaemon-working.png data/icons/scalable/status/aptdaemon-add.svg data/icons/scalable/status/aptdaemon-cleanup.svg data/icons/scalable/status/aptdaemon-delete.svg data/icons/scalable/status/aptdaemon-download.svg data/icons/scalable/status/aptdaemon-resolve.svg data/icons/scalable/status/aptdaemon-setup.svg data/icons/scalable/status/aptdaemon-update-cache.svg data/icons/scalable/status/aptdaemon-upgrade.svg data/icons/scalable/status/aptdaemon-wait.svg data/lintian/debian/aptdaemon.profile data/lintian/ubuntu/aptdaemon.profile doc/aptd.1 doc/aptdcon.1 doc/org.debian.apt.7 doc/org.debian.apt.transaction.7 doc/examples/chained.py doc/source/aptdaemon.client.rst doc/source/aptdaemon.enums.rst doc/source/aptdaemon.gtk3widgets.rst doc/source/conf.py doc/source/dbus.rst doc/source/index.rst doc/source/plugins.rst doc/source/_ext/signals.py po/POTFILES.in po/af.po po/am.po po/ar.po po/ast.po po/az.po po/be.po po/bg.po po/bn.po po/br.po po/bs.po po/ca.po po/ca@valencia.po po/crh.po po/cs.po po/cy.po po/da.po po/de.po po/dv.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fil.po po/fo.po po/fr.po po/gd.po po/gl.po po/he.po po/hi.po po/hr.po po/hu.po po/hy.po po/id.po po/is.po po/it.po po/ja.po po/kk.po po/km.po po/kn.po po/ko.po po/ku.po po/ky.po po/ln.po po/lt.po po/lv.po po/mi.po po/ml.po po/ms.po po/my.po po/nb.po po/nds.po po/ne.po po/nl.po po/nn.po po/oc.po po/pl.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/se.po po/shn.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sv.po po/ta.po po/te.po po/th.po po/tr.po po/ug.po po/uk.po po/ur.po po/uz.po po/vi.po po/zh_CN.po po/zh_HK.po po/zh_TW.po tests/__init__.py tests/_test_py2_string_handling.py tests/_test_py3_string_handling.py tests/dbus.conf tests/dpkg-wrapper.sh tests/fake-polkitd.py tests/fakeroot-apt-key tests/test_cdrom.py tests/test_client.py tests/test_configfileprompt.py tests/test_configparser.py tests/test_dbus_type.py tests/test_debconf.py tests/test_gtk3widgets.py tests/test_high_trust_repository_whitelist.py tests/test_index.py tests/test_lock.py tests/test_lock_location.py tests/test_pep8.py tests/test_pk.py tests/test_progress.py tests/test_py2_string_handling.py tests/test_simulate.py tests/test_trans_chain.py tests/test_valid_package_names.py tests/test_worker.py tests/data/high-trust-repository-whitelist-broken.cfg tests/data/high-trust-repository-whitelist.cfg tests/debconf/aptdaemon.config tests/debconf/aptdaemon.templates tests/regressions/test_lp722228.py tests/regressions/test_lp768691.py tests/repo/Packages tests/repo/Release tests/repo/Release.gpg tests/repo/glatzor.gpg tests/repo/gstreamer0.10-silly_0.1-0_all.deb tests/repo/silly-base_0.1-0_all.deb tests/repo/silly-base_0.1-0update1_all.deb tests/repo/silly-broken_0.1-0_all.deb tests/repo/silly-bully_0.1-0_all.deb tests/repo/silly-config_0.1-0_all.deb tests/repo/silly-depend-base-lintian-broken_0.1-0_all.deb tests/repo/silly-depend-base_0.1-0_all.deb tests/repo/silly-essential_0.1-0_all.deb tests/repo/silly-fail_0.1-0_all.deb tests/repo/silly-important_0.1-0_all.deb tests/repo/silly-postinst-input_0.1-0_all.deb tests/repo/backports/Packages tests/repo/backports/Packages.gpg tests/repo/backports/Release tests/repo/backports/Release.gpg tests/repo/security/Packages tests/repo/security/Packages.gpg tests/repo/security/Release tests/repo/security/Release.gpg tests/repo/whitelisted/Packages tests/repo/whitelisted/Packages.gpg tests/repo/whitelisted/Release tests/repo/whitelisted/Release.gpgaptdaemon-1.1.1/aptdaemon.egg-info/PKG-INFO0000644000175000017500000000177612202062656021013 0ustar renaterenate00000000000000Metadata-Version: 1.1 Name: aptdaemon Version: 1.1.1 Summary: DBus driven daemon for APT Home-page: http://launchpad.net/sessioninstaller Author: Sebastian Heinlein Author-email: devel@glatzor.de License: GNU LGPL Description: Aptdaemon allows to perform package management tasks in a background process controlled by DBus. It is greatly inspired by PackageKit, which doesn't support essential features of apt by policy. The project homepage is at https://launchpad.net/aptdaemon You can report errors and suggestion there. Keywords: apt package manager deb dbus d-bus debian ubuntu dpkg Platform: posix Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: System Administrators Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL) Classifier: Programming Language :: Python :: 2.6 Classifier: Topic :: System :: Systems Administration Classifier: Topic :: System :: Software Distribution aptdaemon-1.1.1/aptdaemon.egg-info/dependency_links.txt0000644000175000017500000000000112202062656023751 0ustar renaterenate00000000000000 aptdaemon-1.1.1/aptdaemon.egg-info/top_level.txt0000644000175000017500000000001212202062656022426 0ustar renaterenate00000000000000aptdaemon aptdaemon-1.1.1/NEWS0000644000175000017500000006422412202062652014744 0ustar renaterenate00000000000000VERSION 1.1.1 - released on Mon Aug 12 06:33:46 2013 * Bug Fixes: - Export aptdaemon.progress.Daemon(Fork|Lintian)Progress correctly - Make sure to not remove transactions from the D-Bus more than once - Fix release script to not add a white space when releasing a new version - Fix white space in release version - Fix supported PackageKit roles (add remove_packages and install_files) VERSION 1.1 - released on Tue Jul 16 06:57:38 2013 * Enhancements: - Migrate to the PackageKit 0.8 D-Bus interface including several bug and behavior fixes. Futhermore add support for more transaction roles, see API Changes. - Run the daemon in the tests always with debugging information - Use a colored log output on the console - Add a test to check if installing from a CDrom works after the transaction has failed - Configuration file conflict prompts now default to replace old configuration * API Changes: - Update to the PackageKit 0.8 system D-Bus interface - Add support for the PackageKit RepairSystem and InstallFiles transaction - Add support for CanAuthorize by mapping PackageKit privileges to the coresponding aptdaemon ones - Make us of the ItemProgress singal to report package download progress - Add the ARCH and NOT_ARCH filter - Report the correct package id for download/install progress reports by caching the ids * Bug Fixes: - Fix backwards compatibility for GLib.io_add_watch() - Ensure that the default filesystem encoding is always set by defaulting to C.UTF-8. Thanks Michael (LP: #1058038) - Catch a random exception while resizing GTK3 dialogs (LP: #898851) VERSION 1.0 - released on Sun Mar 10 14:37:49 2013 * Enhancements: - Python3 support and run the daemon with Python3 by default - Make use of apt.auth instead of softwareproperties.AptAuth - Support installing trusted packages from whitelisted repositories with a separate PolicyKit privilege. Ubuntu installs those packages without any confirmation - Support more PackageKit transactions (InstallSignature, RepoEnable) - Use lintian profiles instead of tag files (separat profiles for Debian and Ubuntu are available). Thanks to Niels Thykier. - The client prefers the GOBject introspectable GLib instead of the Python gobject module - Allow to update saved credentials if a repository is re-added - Comply to the PEP8 coding standards - Port to latest PyGObject API (>3.7.2) * API changes: - aptdaemon.test.TestCase has now a start_keyserver() method to fake a GnuPG key server - aptdaemon.errors has got two new transaction error enums ERROR_AUTH_FAILED and ERROR_NOT_AUTHORIZED - If the authorization to run a transaction fails the transaction itself will fail instead of only the run() call - gtk(3)widgtes: Remove the AptMessageDialog since we don't support non fatal messages at all * Bug fixes: - Report blocked updates if the dependency system is broken (LP: #932581) - Fix transaction status message if the package status is unknown (LP: #900982) - Restore compatibility with Python2, which doesn't have urllib.parse - Several fixes for the test suite (LP: #1050799) - Fix package file list handling in PK GetFiles() - Fix parsing process cmdlines with special characters (LP: #1044900) - Fix translations if running in a non-C locale (LP: #1034806) - Fix unicode-hanlding in error messages (LP: LP: #846044) - Fix handling of multiline comments in the APT configuration system - Don't change the automatically installed flag of packages during upgrade (LP: #1078544) - Thanks Daniel Hartwig - Fix installing of local packages that have conflicts (LP: #750958) - Don't fail if we want to remove a package without any candidate when simulating a transaction - Fix formating of config file diffs (LP: #1120322) - Thanks Barry Warsaw - Fix setting the AllowCancel instead of the Speed PackageKit transaction property - Set default values of PK transaction property with a defined type - Report a failed authorization correctly to PK client - Allow repositories to have a dot in the release name - Set a sensible default size for the details in GTK2 error dialogs - Set the GTK dialog details section insensitive if there aren't any details to show - Fix some typos and formattings in the man page (LP: #1112492) Thanks to Ansgar Burchardt CHANGES (0.45): * Enhancements: - Support multiarch package names like apt-get, e.g. xterm:amd64 - Store the transaction role and sender in apt's history log - Freeze (copy) the dpkg status file during a dpkg call to allow simulating other transactions with the frozen dpkg status - Share WhatProvides plugins with the Python APT PackageKit backend - Allow to install global license keys, see below - Add compatibility for py-gobject 3.0 to the client module by switching to gobject from introspection repository - Add an apport package hook which collects information on every unhandled crash to make solving bugs easier - Avoid creating an apport crash report for valid DBusExceptions that are send to the client (subclasses of AptDaemonError) - Only create an apport crash report if it is enabled and aptdaemon was started as a system service - Improve error reporting in the case of DBus type conversions - Unset the apt-listbugs frontend in non-interactive mode - Replace the backported unittest2 framework by the native one of Python 2.7 and Nose to collect the tests - Speedup transaction start time by not marking changes in the cache twice (at simulate and install time) * API changes: - what-provides plugin: Share this plugin with the Python APT backend of PackageKit to allow other packages to specify providers for mod aliases, GStreamer codecs or language support - get-license-key plugin: Add this new plugin which gets the uid, the package name, a json oauth token identifieng the customer and a server name to retrieve a license key and the path to store it to - org.debian.apt D-Bus interface: o Add new AddLicenseKey method which allows to place a license key file at the loaction specified in the record/control field LicenseKeyPath of the corresponding package. o Add the RebootRequired property. Should be quite self-explanatory - org.debian.apt.transaction D-Bus interface: o The Download and Space properties are now of type Int64 (signed 64-bit integer) o The elapsed time, total and done bytes in the ProgressDetails property are now of type Int64 (signed 64-bit integer). Furthermore the speed is a now Double. - org.freedesktop.PackageKit D-Bus interface: Initial implmentation - org.freedesktop.PackageKit.transaction D-Bus interface: Initial implementaion - aptdaemon.client: o New AptClient.add_license_key method o Rename Transaction.disconnect() to Transaction._disconnect_from_dbus() - aptdaemon.enums: o Add enums for package states (e.g. PKG_INSTALLING or PKG_CONFIGURING) and a corresponding description mapping function get_package_status_from_enum() o Add ERROR_NOT_SUPPORTED to indicate that a feature isn't yet implemented * Add ERROR_SYSTEM_ALREADY_UPTODATE to indicate that there isn't any need to upgrade the system o Add STATUS_DOWNLOADING_REPO to indicate that the information of available packages is downloaded from the repositories - aptdaemon.errors: o Add a new TransactionAlreadySimulating() error which gets emitted if a transaction should be simulated but a simulation is already performed currently - aptdaemon.gtk3widgets.AptProgressDialog.run() is now deferable, LP #819328 - aptdaemon.test.Chroot now has got new methods to handle faked cdrom repositories: add_cdrom_repository(), mount_cdrom() and unmount_cdrom() * Bug fixes: - Fix untranslated status messages during installation, LP #641262 - Fix an error in the string decoding helper method - Fix detection of a failed lintian check by convert the exit status correctly - Fix remaining watch_lock refactoring issues, LP #759023 and LP#764422 Thanks to Robert Roth! - Catch a broken cache in the simulate method, LP #694505 - Queued transaction should show as waiting and not as running, LP #702442 - Catch broken and really large install sizes specified in third party packages which result in an overflow error, LP #758837 - Fix argument handling in wait_for_lock call, LP #763642 - Map the dpkg disappear status, LP #762210 - Don't fail if the master_fd was already closed and the io callback is still in the loop, LP #753928 - Convert messages of AptDaemonErrors to unicode, LP #761386 - Don't leak file descriptors during locking, LP #742935 - Handle interrupt signals correctly in the forked child - Make sure to quit the forked child correctly on errors - Fix cdrom test case - Avoid apport crash reports for dpkg failures, LP# 799982 - Use apt_pkg.version_compare to detect already upt-to-date packages instead of simple string comparison - Fix --downgrade option of aptdcon - Fix not supported errors in pkcompat - Fix cancelling transactions - Sync all properties of a transaction in the client before emitting the finished signal (LP#747172) - Fixes to piping the terminal (LP #733090) CHANGES (0.43) * Enhancements: - If there are unsatisiefied dependencies show more details like apt-get does - Allow distributions to ship different lintian tag files (fatal and non-fatal ones) - adds a depedency on lsb_release - No longer take queued transactions into account to simulate transactions (future status). The multi arch support adds to much complexity. - Automatically switch to non-interactive mode if the controlling terminal of the client isn't available anymore - Verify package names specified in aptdaemon DBus calls * API changes: - aptdaemon.gtkwidgets.AptProgressDialog.run() is now deferable, LP #626798 * Bug fixes: - Wait for the lock after dpkg has been executed instead of failing LP #698170, #665572 - Don't overwrite DBusException.args in TransactionFailed leading to empty error messages - Fix policykit translations by dropping the gettext domain field from the policy definitions, LP #690270 - Fix installing local packages which are not yet known to the cache - Fix use of required_version in the gt3widgets, thanks pitti - Fix the client add_repository call, thanks mvo - Stop processing a transaction in the client if there has been an error - Adapt gtkwidgets.AptProgressDialog.run() to latest API using the sync() method of the transaction - Call waitpid after reading the output from lintian, LP# 724859 - Allow package names containing an architecture separated by ":", LP #750941 - gtkwidgets.AptProgressDialog.run() should call Transaction.sync() if attach is True. Missing adoption to API changes. - Don't segfault if we cannot read the status of the process holding a lock - fixes LP #745517 - Fix UnicodeDecodeErrors, LP #724735, #745261, #742051, #749505, #707490, #707490, #708964, #747037 and #706572 - Fix logging of Finished signals CHANGES (0.42): - IMPORTANT SECURTIY FIX, see CVE-2011-0725 http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2011-0725 https://bugs.launchpad.net/ubuntu/+source/aptdaemon/+bug/722228 The UpdateCachePartially method allows to specify an alternative sources.list snippet to only update the repositories specified in the corresponding configuration file. Aptdaemon did not restrict the path to the sources.list.d directory and allowed to inject packages from malicious sources specified in a custom sources.list and even to read every file on the system. CHANGES (0.41): - Greatly enhanced test suite by moving to unittest2, allowing to perform package operations in a chroot and running tests on a local session dbus: "dbus-launch unit2 discover" - Improved error reporting - Improved open progress. Thanks to mvo! - Use sudo to run linitian as the user of the transaction - Several bug fixes * General API changes: - Fix: Emit the properties and signals with the documentated static types. * gtk3widgets Python module: - There is now a gtk3widgets module which uses GTK 3.0 and pygobject (with introspection). gtk3-demo.py is a corresponding port of gtk-demo.py. * org.debian.apt.transaction D-Bus interface - The sizes in the ProgressDownload are now of type long - following the API changes in APT. Therefor the signature of the ProgressDownload struct changed to "ssxxs". API CHANGES 0.40: * General: - Checks .deb files with lintian before installing - Apport integration provides additional information on exceptions - Uses gettext domains in policy files * org.debian.aptdaemon D-Bus interface: - Allow to specify the to be installed/removed version of package. The package name and version are separated by "=", e.g. "xterm=258-1". - API BREAK: The CommitPackage method has got a new argument to downgrade packages. You have to specify the version of the to be downgraded packages. - API BREAK: The InstallFile method now takes an additional argument force to allow installing package files which violate the Debian/Ubuntu policy. - Authentication for actions has been moved to the org.debian.aptdaemon.transaction.Run(). This allows to simulate actions without having to authenticate for it. - Add a new transaction based action Clean() which allows to remove cached downloaded package files. - Add a new transaction based action Reconfigure() which allows to reconfigure already installed packages using debconf. - Add writable property PopConParticipation to control the participation in the package popularity contest. - Add writable properties AutoUpdateInterval, AutoDownload, AutoCleanInterval and UnattendedUpgrade to control the behavior of the APT cron job. * console client: - Add a --details option to show the version number of to be changed packages - Add --clean, --reconfigure and --priority option * defer modules: - Moved to a separate project python-defer * enums module: - Add ERROR_UNREADABLE_PACKAGE_FILE and ERROR_INVALID_PACKAGE_FILE to provide finer error messages * client module: - The return value of wait=True in an async call is now the exit state of the transaction instead of the Transaction instance. It behaves now as documented and in the same way as sync calls. - Add AptClient.clean(), see changes in the D-Bus interface - Add AptClient.reconfigure(), see changes in the D-Bus interface * PolicyKit privileges: - Add a new org.debian.apt.clean privilege for removing downloaded package files. It is granted by default to all active sessions. - Add org.debian.apt.change-config privilege for changing the APT configuration. API CHANGES 0.33 * org.debian.apt D-Bus interface - Make AddRepository() and EnableDistroComponent() transaction based. - Add a new UpdateCachePartially() method which allows to only update the repositories from a given sources.list snippet. * org.debian.apt.transaction D-Bus interface - Add a RunAfter() method to chain transactions. - Add an Unauthenticated property to the transaction. * client Python module - Adapt to changes in the D-Bus interfaces. * enums Python module - Add new role enums ROLE_ADD_REPOSITORY and ROLE_ENABLE_DISTOR_COMP. * policykit1 Python module - Raise an AuthorizationFailed exception in a non-interactive check if the user could obtain the privilege in interactive-mode (is_challenged) * errors Python module - Make the AuthorizationFailed error an inheritance of NotAuthorizedError * PolicyKit1: - Allow every active user to update the cache - Merge install-packages, remove-packages and fix privilege into a new install-or-remove-packages one - Merge add- and remove-vendor-key privileges into change-repository one - Remove upgrade-system in favour of upgrade-packages - Allow set-proxy and cancel-foreign only by auth_admin API CHANGES 0.32 * PolicyKit1: - Add a new privilege org.debian.apt.set-proxy which allows to set an http proxy server for a transaction. Currently every active user is allowed to set a proxy for his or her transactions. * entry points: - Add modify_cache_before and modify_cache_after entry point which make it possible for plugins to modify the to be installed or removed packages of a transaction. See README.Plugins for further details. * client Python module: - Allow to convert all methods into Deferreds by using the deferable_function decorator, see below for more details. - Add a downloads attribute to AptTransaction. It contains a dictionary of all processed downloads. The key is the uri of the download. The value is a tuple of status enum, short description, full size, downloaded size and a status/error message - Add a progress-download-changed signal to AptTransaction which is emitted when a download progress information changed, see above. - Implement the wait arguement in the AptClient methods which are transaction based. If True the transaction will be started immediately and the method call will return when the transaction is finished. - Add add_vendor_key_from_keyserver method, see AddVendorKeyFromKeyserver * enums Python module: - Add a set of DOWNLOAD_* status enumerations. - Fix value of STATUS_DOWNLOADING: from status-downloadgin to status-downloading * defer Python module: - Add inline_callbacks and return_value functions which allow to write async code in a sync way. Works like the inlineCallbacks decorator from the Twisted framework. - Add deferable decorator which adds a defer attribute to the decorated function and returns a Deferred instance. The callback of the Deferred will be passed as reply_handler argument and the errback as the error_handler argument to the decorated function. * gtkwidgets Python module: - Add to the AptConfirmDialog two methods which allow to override the rendered objects and icons: map_package and render_package_icon - Add AptDownloadsView class, which allows to show the sub progress of each download - Rename AptTerminalExpander to AptDetailsExpander and add a terminal attribute to the __init__ call, since the expander now also shows the download sub-progresses. - AptProgressWindow now sets the proxy and debconf frontend during the run call instead of during the set_transaction call. * org.debian.aptdaemon.transaction D-Bus interface: - Add a ProgressDownload property. It contains the last download progress information that was recieved from APT. It is an array of uri, status enum, short description, full size, downloaded size and an error/status message. - Add AddVendorKeyFromKeyserver method to download and use a GnuPG which is used for authenticating packages. API CHANGES 0.31 * client Python module: - Add AptClient.enable_distro_component method, see EnableDistroComponent * org.debian.aptdaemon D-Bus interface: - Add EnableDistroComponent method which enables a component for all distro repositories, e.g. main or universe API CHANGES 0.30 * client Python module: - Change order of error_handler and reply_handler in the AptTransaction.run method to be in sync with the other methods - Add the dependencies, download and space attribute and the corresponding *-changed signal to AptTransaction, see interface changes below - Add a new AptTransaction.simulate() method, see interface changes below - The AptDaemonError stored in client.AptTransaction.error was replaced by a errors.TransactionFailed error. The APtDaemonError has been removed from the client module. - The DBus exception will be converted to native ones which are shared with the daemon. E.g. The DBusException with the error name "org.debian.apt.TransactionRoleAlreadySet" will be a TransactionRoleAlreadySet instance instead. This makes error handling easier since you can use try/except without having to compare the _dbus_error_name attributes. * errors Python modules: - Rename APTDError to AptDaemonError because of readabilty - Add convert_dbus_exception decorator which converts DBus exception raised in a function to native ones. Also takes asynchrous calls into account. - Move NotAuthorizedError from policykit1 to the errors module * enums Python module: - Use strings instead of integers for STATUS_*, EXIT_*, ROLE_* and ERROR_* enum. See interface changes for additional information - Add new enum EXIT_UNFINISHED * org.debian.aptdaemon.transaction D-Bus interface: - The Exit, Status, Role and Error property and the Finished signal now use strings for the enums. This helps to make debugging a lot easier. - Add Simulate method which calculates the dependencies, the download size and the to be used disk space of the transaction. Furthermore it raises a "org.debian.aptdaemon.errors.TransactionFailed" if the transaction could not be performed. The Simulate call also takes all previously queued or currently running transactions into account. So you can simulate the removal a package if the installation of it is still in the queue. - Add new properties Dependencies, Download and Space, see above. API CHANGES 0.20 You don't have to request a transaction, set it up and call the whished action on it aynmore. Instead you call the action, e.g. UpdateCache, on the daemon interface which will return the id of a newly created transaction. After settingit up you have to call its Run method. * org.debian.aptdaemon D-Bus interface: - Add InstallPackages, InstallFile, RemovePackages, CommitPackages, UpgradePackages, UpgradeSystem, AddVendorKey, RemoveVendorKey, UpdateCache method. Each method creates a new transaction and returns its tid. - Remove RequestTransaction method - Add new FixIncompleteInstall method which basically runs dpkg --configure -a - Add a new FixBrokenDepends method wich tries to correct dependencies * org.debian.aptdaemon.transaction D-Bus interface: - Remove InstallPackages, InstallFile, RemovePackages, CommitPackages, UpgradePackages, UpgradeSystem, AddVendorKey, RemoveVendorKey, UpdateCache method. They are now part of the org.debian.aptdaemon interface. - Add a Run method which queues the transaction. - Add PropertyChanged signal - should be used instead of the deprecated signals. Signal matchers are quite limited on the system bus by default. - Add ProgressDetails, RequiredMedium, ConfigFilePrompt, ExitState, Error, Locale, AllowUnauthenticated, Terminal, DebconfSocket, Packages, MetaData and RemoveObsoletedDepends properties. The Packages property keeps a lists of packages which should be installed, reinstalled, removed, purged or upgraded. Currently this doesn't work for UpgradeSystem. The MetaData property allows clients to store additional meta data in the transaction. See man page org.debian.apt.transaction(7) for the format. - Rename the AllowCancel property to Cancellable and the AllowTerminal one to TerminalAttached - helps to make a difference between allowing from the client and daemon side e.g. AllowUnauthenticated. - Remove Message signal and the concept of having non-critical fail states on the daemon side. The decision is up to the client e.g. if a system could not be fully updated. - Remove the Role, Status, AllowCancel, AllowTerminal, StatusDetails, Progress, ProgressDetails signal - PropertyChanged signal should be used instead. - Remove the Attach method - GetAll on the properties interface should be used instead. - Rename property ConfigFilePrompt to ConfigFileConflict and the method AnswerConfigFilePrompt to ResolveConfigFileConflict * client Python module: - The exit_handler was removed from the AptDaemonClient methods, instead it now supports (reply|error)_handlers to call the method asynchronously and furthermore a wait statement to return after the method is complete. - Add public attributes to the Transaction class and remove get_* helpers: role, error (stores an AptDaemonError instance), error_code, error_message, exit_state, cancellable, term_attached, required_medium, config_file_prompt, status, status_details, progress, progress_details, paused, remove_obsoleted_depends The properties are automatically updated by the PropertyChanged signal matcher. - Rename GObject signals of the Transaction class: - role -> role-changed - status -> status-changed - allow-cancel -> cancellable-changed - allow-terminal -> terminal-attached-changed - status -> status-changed - status-details -> status-details-changed - progress -> progress-changed - progress-details -> progress-details-changed - config-file-prompt -> config-file-conflict - Rename method config_file_prompt_answer to resolve_config_file_conflict - Add GObject signals to the Transaction class: - meta-data-changed - paused - resumed - locale-changed - allow-unauthenticated-changed - remove-obsoleted-depends-changed - debconf-socket-changed - The methods Transaction.set_(locale|allow_unauthenticated|data| debconf_socket|remove_obsoleted_depends) reply with the transaction instance if called async. This makes queing much easier. - Remove messages attribute from the Transaction class, see above - Remove Transaction.attach method in favour of a new sync method which uses the GetAll method on the D-Bus properties interface. - Add set_meta_data method which accepts pairs of key=value * PyGTK widgtes: - On the one hand the run method of AptProgressDialog doesn't provide a way to wait until the transaction is done anymore (by iterating on pending gtk events), but on the other hand it now allows to show an error dialog if required (show_error argument) or to close the progress window automatically when the transaction is finished (close_on_finished arguement). - Rename AptConfigFilePromptDialog to AptConfigFileConflictDialog aptdaemon-1.1.1/MANIFEST.in0000644000175000017500000002352112202062653015777 0ustar renaterenate00000000000000include AUTHORS include COPYRIGHT include NEWS include README include README.PackageKit include README.tests include TODO include applet.py include apport/aptdaemon.py include aptd include aptdaemon/__init__.py include aptdaemon/client.py include aptdaemon/config.py include aptdaemon/console.py include aptdaemon/core.py include aptdaemon/crash.py include aptdaemon/debconf.py include aptdaemon/enums.py include aptdaemon/errors.py include aptdaemon/gtk3widgets.py include aptdaemon/gtkwidgets.py include aptdaemon/lock.py include aptdaemon/logger.py include aptdaemon/loop.py include aptdaemon/networking.py include aptdaemon/pkcompat.py include aptdaemon/pkenums.py include aptdaemon/policykit1.py include aptdaemon/progress.py include aptdaemon/test.py include aptdaemon/utils.py include aptdaemon/worker.py include aptdcon include data/20dbus include data/icons/16x16/animations/aptdaemon-action-cleaning-up.png include data/icons/16x16/animations/aptdaemon-action-downloading.png include data/icons/16x16/animations/aptdaemon-action-installing.png include data/icons/16x16/animations/aptdaemon-action-removing.png include data/icons/16x16/animations/aptdaemon-action-resolving.png include data/icons/16x16/animations/aptdaemon-action-updating-cache.png include data/icons/16x16/animations/aptdaemon-action-waiting.png include data/icons/16x16/status/aptdaemon-add.png include data/icons/16x16/status/aptdaemon-cleanup.png include data/icons/16x16/status/aptdaemon-delete.png include data/icons/16x16/status/aptdaemon-download.png include data/icons/16x16/status/aptdaemon-resolve.png include data/icons/16x16/status/aptdaemon-update-cache.png include data/icons/16x16/status/aptdaemon-upgrade.png include data/icons/16x16/status/aptdaemon-wait.png include data/icons/16x16/status/aptdaemon-working.png include data/icons/22x22/animations/aptdaemon-action-cleaning-up.png include data/icons/22x22/animations/aptdaemon-action-downloading.png include data/icons/22x22/animations/aptdaemon-action-installing.png include data/icons/22x22/animations/aptdaemon-action-removing.png include data/icons/22x22/animations/aptdaemon-action-resolving.png include data/icons/22x22/animations/aptdaemon-action-updating-cache.png include data/icons/22x22/animations/aptdaemon-action-waiting.png include data/icons/22x22/status/aptdaemon-add.png include data/icons/22x22/status/aptdaemon-cleanup.png include data/icons/22x22/status/aptdaemon-delete.png include data/icons/22x22/status/aptdaemon-download.png include data/icons/22x22/status/aptdaemon-resolve.png include data/icons/22x22/status/aptdaemon-update-cache.png include data/icons/22x22/status/aptdaemon-upgrade.png include data/icons/22x22/status/aptdaemon-wait.png include data/icons/22x22/status/aptdaemon-working.png include data/icons/24x24/animations/aptdaemon-action-cleaning-up.png include data/icons/24x24/animations/aptdaemon-action-downloading.png include data/icons/24x24/animations/aptdaemon-action-installing.png include data/icons/24x24/animations/aptdaemon-action-removing.png include data/icons/24x24/animations/aptdaemon-action-resolving.png include data/icons/24x24/animations/aptdaemon-action-updating-cache.png include data/icons/24x24/animations/aptdaemon-action-waiting.png include data/icons/24x24/status/aptdaemon-add.png include data/icons/24x24/status/aptdaemon-cleanup.png include data/icons/24x24/status/aptdaemon-delete.png include data/icons/24x24/status/aptdaemon-download.png include data/icons/24x24/status/aptdaemon-resolve.png include data/icons/24x24/status/aptdaemon-update-cache.png include data/icons/24x24/status/aptdaemon-upgrade.png include data/icons/24x24/status/aptdaemon-wait.png include data/icons/24x24/status/aptdaemon-working.png include data/icons/48x48/animations/aptdaemon-action-cleaning-up.png include data/icons/48x48/animations/aptdaemon-action-downloading.png include data/icons/48x48/animations/aptdaemon-action-installing.png include data/icons/48x48/animations/aptdaemon-action-removing.png include data/icons/48x48/animations/aptdaemon-action-resolving.png include data/icons/48x48/animations/aptdaemon-action-updating-cache.png include data/icons/48x48/animations/aptdaemon-action-waiting.png include data/icons/48x48/status/aptdaemon-add.png include data/icons/48x48/status/aptdaemon-cleanup.png include data/icons/48x48/status/aptdaemon-delete.png include data/icons/48x48/status/aptdaemon-download.png include data/icons/48x48/status/aptdaemon-resolve.png include data/icons/48x48/status/aptdaemon-update-cache.png include data/icons/48x48/status/aptdaemon-upgrade.png include data/icons/48x48/status/aptdaemon-wait.png include data/icons/48x48/status/aptdaemon-working.png include data/icons/clean_svg_icons.sh include data/icons/generate_16x16_icons.sh include data/icons/generate_24x24_icons.sh include data/icons/generate_48x48_icons.sh include data/icons/scalable/status/aptdaemon-add.svg include data/icons/scalable/status/aptdaemon-cleanup.svg include data/icons/scalable/status/aptdaemon-delete.svg include data/icons/scalable/status/aptdaemon-download.svg include data/icons/scalable/status/aptdaemon-resolve.svg include data/icons/scalable/status/aptdaemon-setup.svg include data/icons/scalable/status/aptdaemon-update-cache.svg include data/icons/scalable/status/aptdaemon-upgrade.svg include data/icons/scalable/status/aptdaemon-wait.svg include data/lintian/debian/aptdaemon.profile include data/lintian/ubuntu/aptdaemon.profile include data/org.debian.apt.conf include data/org.debian.apt.policy.in include data/org.debian.apt.service include data/org.freedesktop.PackageKit-aptd.conf include data/org.freedesktop.PackageKit.service include doc/aptd.1 include doc/aptdcon.1 include doc/examples/chained.py include doc/org.debian.apt.7 include doc/org.debian.apt.transaction.7 include doc/source/_ext/signals.py include doc/source/aptdaemon.client.rst include doc/source/aptdaemon.enums.rst include doc/source/aptdaemon.gtk3widgets.rst include doc/source/conf.py include doc/source/dbus.rst include doc/source/index.rst include doc/source/plugins.rst include gtk-demo.py include gtk3-demo.py include po/POTFILES.in include po/af.po include po/am.po include po/ar.po include po/ast.po include po/az.po include po/be.po include po/bg.po include po/bn.po include po/br.po include po/bs.po include po/ca.po include po/ca@valencia.po include po/crh.po include po/cs.po include po/cy.po include po/da.po include po/de.po include po/dv.po include po/el.po include po/en_AU.po include po/en_CA.po include po/en_GB.po include po/eo.po include po/es.po include po/et.po include po/eu.po include po/fa.po include po/fi.po include po/fil.po include po/fo.po include po/fr.po include po/gd.po include po/gl.po include po/he.po include po/hi.po include po/hr.po include po/hu.po include po/hy.po include po/id.po include po/is.po include po/it.po include po/ja.po include po/kk.po include po/km.po include po/kn.po include po/ko.po include po/ku.po include po/ky.po include po/ln.po include po/lt.po include po/lv.po include po/mi.po include po/ml.po include po/ms.po include po/my.po include po/nb.po include po/nds.po include po/ne.po include po/nl.po include po/nn.po include po/oc.po include po/pl.po include po/pt.po include po/pt_BR.po include po/ro.po include po/ru.po include po/se.po include po/shn.po include po/si.po include po/sk.po include po/sl.po include po/sq.po include po/sr.po include po/sv.po include po/ta.po include po/te.po include po/th.po include po/tr.po include po/ug.po include po/uk.po include po/ur.po include po/uz.po include po/vi.po include po/zh_CN.po include po/zh_HK.po include po/zh_TW.po include pylintrc include release.sh include setup.cfg include setup.py include tests/__init__.py include tests/_test_py2_string_handling.py include tests/_test_py3_string_handling.py include tests/data/high-trust-repository-whitelist-broken.cfg include tests/data/high-trust-repository-whitelist.cfg include tests/dbus.conf include tests/debconf/aptdaemon.config include tests/debconf/aptdaemon.templates include tests/dpkg-wrapper.sh include tests/fake-polkitd.py include tests/fakeroot-apt-key include tests/regressions/test_lp722228.py include tests/regressions/test_lp768691.py include tests/repo/Packages include tests/repo/Release include tests/repo/Release.gpg include tests/repo/backports/Packages include tests/repo/backports/Packages.gpg include tests/repo/backports/Release include tests/repo/backports/Release.gpg include tests/repo/glatzor.gpg include tests/repo/gstreamer0.10-silly_0.1-0_all.deb include tests/repo/security/Packages include tests/repo/security/Packages.gpg include tests/repo/security/Release include tests/repo/security/Release.gpg include tests/repo/silly-base_0.1-0_all.deb include tests/repo/silly-base_0.1-0update1_all.deb include tests/repo/silly-broken_0.1-0_all.deb include tests/repo/silly-bully_0.1-0_all.deb include tests/repo/silly-config_0.1-0_all.deb include tests/repo/silly-depend-base-lintian-broken_0.1-0_all.deb include tests/repo/silly-depend-base_0.1-0_all.deb include tests/repo/silly-essential_0.1-0_all.deb include tests/repo/silly-fail_0.1-0_all.deb include tests/repo/silly-important_0.1-0_all.deb include tests/repo/silly-postinst-input_0.1-0_all.deb include tests/repo/whitelisted/Packages include tests/repo/whitelisted/Packages.gpg include tests/repo/whitelisted/Release include tests/repo/whitelisted/Release.gpg include tests/test_cdrom.py include tests/test_client.py include tests/test_configfileprompt.py include tests/test_configparser.py include tests/test_dbus_type.py include tests/test_debconf.py include tests/test_gtk3widgets.py include tests/test_high_trust_repository_whitelist.py include tests/test_index.py include tests/test_lock.py include tests/test_lock_location.py include tests/test_pep8.py include tests/test_pk.py include tests/test_progress.py include tests/test_py2_string_handling.py include tests/test_simulate.py include tests/test_trans_chain.py include tests/test_valid_package_names.py include tests/test_worker.py include ChangeLog aptdaemon-1.1.1/COPYRIGHT0000644000175000017500000004310312117271433015535 0ustar renaterenate00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. aptdaemon-1.1.1/aptdaemon/0000755000175000017500000000000012202062656016211 5ustar renaterenate00000000000000aptdaemon-1.1.1/aptdaemon/utils.py0000644000175000017500000000570312117271433017730 0ustar renaterenate00000000000000"""Module with little helper functions and classes: deprecated - decorator to emit a warning if a depreacted function is used """ #Copyright (C) 2008-2009 Sebastian Heinlein # #Licensed under the GNU General Public License Version 2 # #This program is free software; you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation; either version 2 of the License, or #(at your option) any later version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with this program; if not, write to the Free Software #Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. __author__ = "Sebastian Heinlein " __all__ = ("deprecated", "IsoCodes") import sys import gettext import functools import warnings from xml.etree import ElementTree if sys.version >= '3': _gettext_method = "gettext" else: _gettext_method = "ugettext" def deprecated(func): """This is a decorator which can be used to mark functions as deprecated. It will result in a warning being emitted when the function is used. Taken from http://wiki.python.org/moin/PythonDecoratorLibrary #GeneratingDeprecationWarnings """ @functools.wraps(func) def new_func(*args, **kwargs): warnings.warn_explicit( "Call to deprecated function %(funcname)s." % { 'funcname': func.__name__, }, category=DeprecationWarning, filename=func.__code__.co_filename, lineno=func.__code__.co_firstlineno + 1 ) return func(*args, **kwargs) return new_func class IsoCodes(object): """Provides access to the iso-codes language, script and country database. """ def __init__(self, norm, tag, fallback_tag=None): filename = "/usr/share/xml/iso-codes/%s.xml" % norm et = ElementTree.ElementTree(file=filename) self._dict = {} self.norm = norm for element in list(et.iter()): iso_code = element.get(tag) if not iso_code and fallback_tag: iso_code = element.get(fallback_tag) if iso_code: self._dict[iso_code] = element.get("name") def get_localised_name(self, value, locale): try: name = self._dict[value] except KeyError: return None trans = gettext.translation(domain=self.norm, fallback=True, languages=[locale]) return getattr(trans, _gettext_method)(name) def get_name(self, value): try: return self._dict[value] except KeyError: return None # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/errors.py0000644000175000017500000001643412117271433020107 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Exception classes""" # Copyright (C) 2008-2009 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __all__ = ("AptDaemonError", "ForeignTransaction", "InvalidMetaDataError", "InvalidProxyError", "RepositoryInvalidError", "TransactionAlreadyRunning", "TransactionCancelled", "TransactionAlreadySimulating", "TransactionFailed", "TransactionRoleAlreadySet", "NotAuthorizedError", "convert_dbus_exception", "get_native_exception") import inspect from functools import wraps import sys import dbus import aptdaemon.enums PY3K = sys.version_info.major > 2 class AptDaemonError(dbus.DBusException): """Internal error of the aptdaemon""" _dbus_error_name = "org.debian.apt" def __init__(self, message=""): message = _convert_unicode(message) dbus.DBusException.__init__(self, message) self._message = message def get_dbus_message(self): """Overwrite the DBusException method, since it calls Exception.__str__() internally which doesn't support unicode or or non-ascii encodings.""" if PY3K: return dbus.DBusException.get_dbus_message(self) else: return self._message.encode("UTF-8") class TransactionRoleAlreadySet(AptDaemonError): """Error if a transaction has already been configured.""" _dbus_error_name = "org.debian.apt.TransactionRoleAlreadySet" class TransactionAlreadyRunning(AptDaemonError): """Error if a transaction has already been configured.""" _dbus_error_name = "org.debian.apt.TransactionAlreadyRunning" class TransactionAlreadySimulating(AptDaemonError): """Error if a transaction should be simulated but a simulation is already processed. """ _dbus_error_name = "org.debian.apt.TransactionAlreadySimulating" class ForeignTransaction(AptDaemonError): """Error if a transaction was initialized by a different user.""" _dbus_error_name = "org.debian.apt.TransactionAlreadyRunning" class TransactionFailed(AptDaemonError): """Internal error if a transaction could not be processed successfully.""" _dbus_error_name = "org.debian.apt.TransactionFailed" def __init__(self, code, details="", *args): if not args: # Avoid string replacements if not used details = details.replace("%", "%%") args = tuple([_convert_unicode(arg) for arg in args]) details = _convert_unicode(details) self.code = code self.details = details self.details_args = args AptDaemonError.__init__(self, "%s: %s" % (code, details % args)) def __unicode__(self): return "Transaction failed: %s\n%s" % \ (aptdaemon.enums.get_error_string_from_enum(self.code), self.details) def __str__(self): if PY3K: return self.__unicode__() else: return self.__unicode__().encode("utf-8") class InvalidMetaDataError(AptDaemonError): """Invalid meta data given""" _dbus_error_name = "org.debian.apt.InvalidMetaData" class InvalidProxyError(AptDaemonError): """Invalid proxy given""" _dbus_error_name = "org.debian.apt.InvalidProxy" def __init__(self, proxy): AptDaemonError.__init__(self, "InvalidProxyError: %s" % proxy) class TransactionCancelled(AptDaemonError): """Internal error if a transaction was cancelled.""" _dbus_error_name = "org.debian.apt.TransactionCancelled" class RepositoryInvalidError(AptDaemonError): """The added repository is invalid""" _dbus_error_name = "org.debian.apt.RepositoryInvalid" class PolicyKitError(dbus.DBusException): pass class NotAuthorizedError(PolicyKitError): _dbus_error_name = "org.freedesktop.PolicyKit.Error.NotAuthorized" def __init__(self, subject, action_id): dbus.DBusException.__init__(self, "%s: %s" % (subject, action_id)) self.action_id = action_id self.subject = subject class AuthorizationFailed(NotAuthorizedError): _dbus_error_name = "org.freedesktop.PolicyKit.Error.Failed" def convert_dbus_exception(func): """A decorator which maps a raised DBbus exception to a native one. This decorator requires introspection to the decorated function. So it cannot be used on any already decorated method. """ argnames, varargs, kwargs, defaults = inspect.getargspec(func) @wraps(func) def _convert_dbus_exception(*args, **kwargs): try: error_handler = kwargs["error_handler"] except KeyError: _args = list(args) try: index = argnames.index("error_handler") error_handler = _args[index] except (IndexError, ValueError): pass else: _args[index] = lambda err: error_handler( get_native_exception(err)) args = tuple(_args) else: kwargs["error_handler"] = lambda err: error_handler( get_native_exception(err)) try: return func(*args, **kwargs) except dbus.exceptions.DBusException as error: raise get_native_exception(error) return _convert_dbus_exception def get_native_exception(error): """Map a DBus exception to a native one. This allows to make use of try/except on the client side without having to check for the error name. """ if not isinstance(error, dbus.DBusException): return error dbus_name = error.get_dbus_name() dbus_msg = error.get_dbus_message() if dbus_name == TransactionFailed._dbus_error_name: return TransactionFailed(*dbus_msg.split(":", 1)) elif dbus_name == AuthorizationFailed._dbus_error_name: return AuthorizationFailed(*dbus_msg.split(":", 1)) elif dbus_name == NotAuthorizedError._dbus_error_name: return NotAuthorizedError(*dbus_msg.split(":", 1)) for error_cls in [AptDaemonError, TransactionRoleAlreadySet, TransactionAlreadyRunning, ForeignTransaction, InvalidMetaDataError, InvalidProxyError, TransactionCancelled, RepositoryInvalidError]: if dbus_name == error_cls._dbus_error_name: return error_cls(dbus_msg) return error def _convert_unicode(text, encoding="UTF-8"): """Always return an unicode.""" if PY3K and not isinstance(text, str): text = str(text, encoding, errors="ignore") elif not PY3K and not isinstance(text, unicode): text = unicode(text, encoding, errors="ignore") return text # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/loop.py0000644000175000017500000000211712117271433017535 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Main loop for aptdaemon.""" # Copyright (C) 2008-2009 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __all__ = ("mainloop", "get_main_loop") from gi.repository import GLib mainloop = GLib.MainLoop() def get_main_loop(): """Return the gobject main loop as a singelton.""" return mainloop # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/networking.py0000644000175000017500000002332612201760213020751 0ustar renaterenate00000000000000# networking - Monitor the network status # # Copyright (c) 2010 Mohamed Amine IL Idrissi # Copyright (c) 2011 Canonical # Copyright (c) 2011 Sebastian Heinlein # # Author: Alex Chiang # Michael Vogt # Mohamed Amine IL Idrissi # Sebastian Heinlein # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA from defer import Deferred, inline_callbacks, return_value from gi.repository import GObject from gi.repository import Gio from gi.repository import GLib from gi.repository import PackageKitGlib as pk import dbus from dbus.mainloop.glib import DBusGMainLoop DBusGMainLoop(set_as_default=True) import logging import os log = logging.getLogger("AptDaemon.NetMonitor") class NetworkMonitorBase(GObject.GObject): """Check the network state.""" __gsignals__ = {"network-state-changed": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_PYOBJECT,))} def __init__(self): log.debug("Initializing network monitor") GObject.GObject.__init__(self) self._state = pk.NetworkEnum.ONLINE def _set_state(self, enum): if self._state != enum: log.debug("Network state changed: %s", enum) self._state = enum self.emit("network-state-changed", enum) def _get_state(self): return self._state state = property(_get_state, _set_state) @inline_callbacks def get_network_state(self): """Update the network state.""" return_value(self._state) class ProcNetworkMonitor(NetworkMonitorBase): """Use the route information of the proc filesystem to detect the network state. """ def __init__(self): log.debug("Initializing proc based network monitor") NetworkMonitorBase.__init__(self) self._state = pk.NetworkEnum.OFFLINE self._file = Gio.File.new_for_path("/proc/net/route") self._monitor = Gio.File.monitor(self._file, Gio.FileMonitorFlags.NONE, None) self._monitor.connect("changed", self._on_route_file_changed) def _on_route_file_changed(self, *args): self.get_network_state() def _parse_route_file(self): """Parse the route file - taken from PackageKit""" with open("/proc/net/route") as route_file: for line in route_file.readlines(): rows = line.split("\t") # The header line? if rows[0] == "Iface": continue # A loopback device? elif rows[0] == "lo": continue # Correct number of rows? elif len(rows) != 11: continue # The route is a default gateway elif rows[1] == "00000000": break # A gateway is set elif rows[2] != "00000000": break else: return pk.NetworkEnum.OFFLINE return pk.NetworkEnum.ONLINE @inline_callbacks def get_network_state(self): """Update the network state.""" self.state = self._parse_route_file() return_value(self.state) class NetworkManagerMonitor(NetworkMonitorBase): """Use NetworkManager to monitor network state.""" NM_DBUS_IFACE = "org.freedesktop.NetworkManager" NM_ACTIVE_CONN_DBUS_IFACE = NM_DBUS_IFACE + ".Connection.Active" NM_DEVICE_DBUS_IFACE = NM_DBUS_IFACE + ".Device" # The device type is unknown NM_DEVICE_TYPE_UNKNOWN = 0 # The device is wired Ethernet device NM_DEVICE_TYPE_ETHERNET = 1 # The device is an 802.11 WiFi device NM_DEVICE_TYPE_WIFI = 2 # The device is a GSM-based cellular WAN device NM_DEVICE_TYPE_GSM = 3 # The device is a CDMA/IS-95-based cellular WAN device NM_DEVICE_TYPE_CDMA = 4 def __init__(self): log.debug("Initializing NetworkManager monitor") NetworkMonitorBase.__init__(self) self.bus = dbus.SystemBus() self.proxy = self.bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager") self.proxy.connect_to_signal("PropertiesChanged", self._on_nm_properties_changed, dbus_interface=self.NM_DBUS_IFACE) self.bus.add_signal_receiver( self._on_nm_active_conn_props_changed, signal_name="PropertiesChanged", dbus_interface=self.NM_ACTIVE_CONN_DBUS_IFACE) @staticmethod def get_dbus_property(proxy, interface, property): """Small helper to get the property value of a dbus object.""" props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties") deferred = Deferred() props.Get(interface, property, reply_handler=deferred.callback, error_handler=deferred.errback) return deferred @inline_callbacks def _on_nm_properties_changed(self, props): """Callback if NetworkManager properties changed.""" if "ActiveConnections" in props: if not props["ActiveConnections"]: log.debug("There aren't any active connections") self.state = pk.NetworkEnum.OFFLINE else: yield self.get_network_state() @inline_callbacks def _on_nm_active_conn_props_changed(self, props): """Callback if properties of the active connection changed.""" if not "Default" in props: raise StopIteration yield self.get_network_state() @inline_callbacks def _query_network_manager(self): """Query NetworkManager about the network state.""" state = pk.NetworkEnum.OFFLINE try: active_conns = yield self.get_dbus_property(self.proxy, self.NM_DBUS_IFACE, "ActiveConnections") except dbus.DBusException: log.warning("Failed to determinate network state") return_value(state) for conn in active_conns: conn_obj = self.bus.get_object(self.NM_DBUS_IFACE, conn) try: is_default = yield self.get_dbus_property( conn_obj, self.NM_ACTIVE_CONN_DBUS_IFACE, "Default") if not is_default: continue devs = yield self.get_dbus_property( conn_obj, self.NM_ACTIVE_CONN_DBUS_IFACE, "Devices") except dbus.DBusException: log.warning("Failed to determinate network state") break priority_device_type = -1 for dev in devs: try: dev_obj = self.bus.get_object(self.NM_DBUS_IFACE, dev) dev_type = yield self.get_dbus_property( dev_obj, self.NM_DEVICE_DBUS_IFACE, "DeviceType") except dbus.DBusException: log.warning("Failed to determinate network state") return_value(pk.NetworkEnum.UNKNOWN) # prioterizse device types, since a bridged GSM/CDMA connection # should be returned as a GSM/CDMA one # The NM_DEVICE_TYPE_* enums are luckly ordered in this sense. if dev_type <= priority_device_type: continue priority_device_type = dev_type if dev_type in (self.NM_DEVICE_TYPE_GSM, self.NM_DEVICE_TYPE_CDMA): state = pk.NetworkEnum.MOBILE elif dev_type == self.NM_DEVICE_TYPE_ETHERNET: state = pk.NetworkEnum.WIRED elif dev_type == self.NM_DEVICE_TYPE_WIFI: state = pk.NetworkEnum.WIFI elif dev_type == self.NM_DEVICE_TYPE_UNKNOWN: state = pk.NetworkEnum.OFFLINE else: state = pk.NetworkEnum.ONLINE return_value(state) @inline_callbacks def get_network_state(self): """Update the network state.""" self.state = yield self._query_network_manager() return_value(self.state) def get_network_monitor(fallback=False): """Return a network monitor.""" if fallback: return ProcNetworkMonitor() try: return NetworkManagerMonitor() except dbus.DBusException: pass if os.path.exists("/proc/net/route"): return ProcNetworkMonitor() return NetworkMonitorBase() if __name__ == "__main__": @inline_callbacks def _call_monitor(): state = yield monitor.get_network_state() print(("Initial network state: %s" % state)) log_handler = logging.StreamHandler() log.addHandler(log_handler) log.setLevel(logging.DEBUG) monitor = get_network_monitor(True) _call_monitor() loop = GLib.MainLoop() loop.run() aptdaemon-1.1.1/aptdaemon/lock.py0000644000175000017500000001325412117271433017520 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Handles the apt system lock""" # Copyright (C) 2010 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __all__ = ("LockFailedError", "system") import fcntl import os import struct import apt_pkg from gi.repository import GLib from aptdaemon import enums from aptdaemon.errors import TransactionCancelled class LockFailedError(Exception): """The locking of file failed.""" def __init__(self, flock, process=None): """Return a new LockFailedError instance. Keyword arguments: flock -- the path of the file lock process -- the process which holds the lock or None """ msg = "Could not acquire lock on %s." % flock if process: msg += " The lock is hold by %s." % process Exception.__init__(self, msg) self.flock = flock self.process = process class FileLock(object): """Represents a file lock.""" def __init__(self, path): self.path = path self.fd = None @property def locked(self): return self.fd is not None def acquire(self): """Return the file descriptor of the lock file or raise LockFailedError if the lock cannot be obtained. """ if self.fd: return self.fd fd_lock = apt_pkg.get_lock(self.path) if fd_lock < 0: process = get_locking_process_name(self.path) raise LockFailedError(self.path, process) else: self.fd = fd_lock return fd_lock def release(self): """Relase the lock.""" if self.fd: os.close(self.fd) self.fd = None def get_locking_process_name(lock_path): """Return the name of a process which holds a lock. It will be None if the name cannot be retrivied. """ try: fd_lock_read = open(lock_path, "r") except IOError: return None else: # Get the pid of the locking application flk = struct.pack('hhQQi', fcntl.F_WRLCK, os.SEEK_SET, 0, 0, 0) flk_ret = fcntl.fcntl(fd_lock_read, fcntl.F_GETLK, flk) pid = struct.unpack("hhQQi", flk_ret)[4] # Get the command of the pid try: with open("/proc/%s/status" % pid, "r") as fd_status: try: for key, value in (line.split(":") for line in fd_status.readlines()): if key == "Name": return value.strip() except Exception: return None except IOError: return None finally: fd_lock_read.close() return None apt_pkg.init() #: The lock for dpkg status file _status_dir = os.path.dirname(apt_pkg.config.find_file("Dir::State::status")) status_lock = FileLock(os.path.join(_status_dir, "lock")) #: The lock for the package archive _archives_dir = apt_pkg.config.find_dir("Dir::Cache::Archives") archive_lock = FileLock(os.path.join(_archives_dir, "lock")) #: The lock for the repository indexes lists_lock = FileLock(os.path.join( apt_pkg.config.find_dir("Dir::State::lists"), "lock")) def acquire(): """Acquire an exclusive lock for the package management system.""" try: for lock in archive_lock, status_lock, lists_lock: if not lock.locked: lock.acquire() except: release() raise def release(): """Release an exclusive lock for the package management system.""" for lock in archive_lock, status_lock, lists_lock: lock.release() def wait_for_lock(trans, alt_lock=None): """Acquire the system lock or the optionally given one. If the lock cannot be obtained pause the transaction in the meantime. :param trans: the transaction :param lock: optional alternative lock """ def watch_lock(): """Helper to unpause the transaction if the lock can be obtained. Keyword arguments: trans -- the corresponding transaction alt_lock -- alternative lock to the system lock """ try: if alt_lock: alt_lock.acquire() else: acquire() except LockFailedError: return True trans.paused = False return True try: if alt_lock: alt_lock.acquire() else: acquire() except LockFailedError as error: trans.paused = True trans.status = enums.STATUS_WAITING_LOCK if error.process: #TRANSLATORS: %s is the name of a package manager msg = trans.gettext("Waiting for %s to exit") trans.status_details = msg % error.process lock_watch = GLib.timeout_add_seconds(3, watch_lock) while trans.paused and not trans.cancelled: GLib.main_context_default().iteration() GLib.source_remove(lock_watch) if trans.cancelled: raise TransactionCancelled() # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/logger.py0000664000175000017500000000446412201760213020045 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """ Logging facilities for aptdaemon """ # Copyright (C) 2013 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __all__ = ("ColoredFormatter") import logging import os # Define some foreground colors BLACK = 30 RED = 31 GREEN = 32 YELLOW = 33 BLUE = 34 MAGENTA = 35 CYAN = 36 WHITE = 37 # Terminal control sequences to format output RESET_SEQ = "\033[0m" COLOR_SEQ = "\033[1;%dm" BOLD_SEQ = "\033[1m" COLORS = { logging.WARN: YELLOW, logging.INFO: BLUE, logging.DEBUG: CYAN, logging.CRITICAL: RED, logging.ERROR: RED } class ColoredFormatter(logging.Formatter): """Adds some color to the log messages. http://stackoverflow.com/questions/384076/\ how-can-i-color-python-logging-output """ def __init__(self, fmt=None, datefmt=None, use_color=True): logging.Formatter.__init__(self, fmt, datefmt) if os.getenv("TERM") in ["xterm", "xterm-colored", "linux"]: self.use_color = use_color else: self.use_color = False def format(self, record): """Return the formated output string.""" if self.use_color and record.levelno in COLORS: record.levelname = (COLOR_SEQ % COLORS[record.levelno] + record.levelname + RESET_SEQ) record.name = COLOR_SEQ % GREEN + record.name + RESET_SEQ if record.levelno in [logging.CRITICAL, logging.ERROR]: record.msg = COLOR_SEQ % RED + record.msg + RESET_SEQ return logging.Formatter.format(self, record) aptdaemon-1.1.1/aptdaemon/core.py0000644000175000017500000027202412201760417017521 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """ Core components of aptdaemon. This module provides the following core classes of the aptdaemon: AptDaemon - complete daemon for managing software via DBus interface Transaction - represents a software management operation TransactionQueue - queue for aptdaemon transactions The main function allows to run the daemon as a command. """ # Copyright (C) 2008-2009 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __all__ = ("Transaction", "TransactionQueue", "AptDaemon", "APTDAEMON_TRANSACTION_DBUS_INTERFACE", "APTDAEMON_DBUS_INTERFACE" "APTDAEMON_DBUS_PATH", "APTDAEMON_DBUS_SERVICE", "APTDAEMON_IDLE_CHECK_INTERVAL", "APTDAEMON_IDLE_TIMEOUT", "TRANSACTION_IDLE_TIMEOUT", "TRANSACTION_DEL_TIMEOUT") import collections from xml.etree import ElementTree import gettext from hashlib import md5 import locale import logging import logging.handlers from optparse import OptionParser import os import re import signal import sys import time import uuid from gi.repository import GObject, GLib import dbus.exceptions import dbus.service import dbus.mainloop.glib import dbus.glib import apt_pkg import apt.auth from .config import ConfigWriter from . import errors from . import enums from defer import inline_callbacks, return_value, Deferred from defer.utils import dbus_deferred_method from . import policykit1 from .worker import ( AptWorker, DummyWorker, trans_only_installs_pkgs_from_high_trust_repos) from .loop import mainloop from .logger import ColoredFormatter # Setup i18n _ = lambda msg: gettext.dgettext("aptdaemon", msg) if sys.version >= '3': _gettext_method = "gettext" _ngettext_method = "ngettext" else: _gettext_method = "ugettext" _ngettext_method = "ungettext" APTDAEMON_DBUS_INTERFACE = 'org.debian.apt' APTDAEMON_DBUS_PATH = '/org/debian/apt' APTDAEMON_DBUS_SERVICE = 'org.debian.apt' APTDAEMON_TRANSACTION_DBUS_INTERFACE = 'org.debian.apt.transaction' APTDAEMON_IDLE_CHECK_INTERVAL = 60 APTDAEMON_IDLE_TIMEOUT = 5 * 60 # Maximum allowed time between the creation of a transaction and its queuing TRANSACTION_IDLE_TIMEOUT = 300 # Keep the transaction for the given time alive on the bus after it has # finished TRANSACTION_DEL_TIMEOUT = 30 # regexp for the pkgname and optional arch, for details see # http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source REGEX_VALID_PACKAGENAME = "^[a-z0-9][a-z0-9\-+.]+(:[a-z0-9]+)?$" # regexp for the version number, for details see: # http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version REGEX_VALID_VERSION = "^[0-9][0-9.+\-A-Za-z:~]*$" # regexp for the archive (Suite) as found in the Release file REGEX_VALID_RELEASE = "^[a-zA-Z0-9_\-\.]+$" # Setup the DBus main loop dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) # Required for daemon mode os.putenv("PATH", "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin") # Setup logging to syslog and the console log = logging.getLogger("AptDaemon") try: _syslog_handler = logging.handlers.SysLogHandler( address="/dev/log", facility=logging.handlers.SysLogHandler.LOG_DAEMON) _syslog_handler.setLevel(logging.INFO) _syslog_formatter = logging.Formatter("%(name)s: %(levelname)s: " "%(message)s") _syslog_handler.setFormatter(_syslog_formatter) except: pass else: log.addHandler(_syslog_handler) _console_handler = logging.StreamHandler() _console_formatter = ColoredFormatter("%(asctime)s %(name)s [%(levelname)s]: " "%(message)s", "%T") _console_handler.setFormatter(_console_formatter) log.addHandler(_console_handler) #FIXME: Use LoggerAdapter (requires Python 2.6) log_trans = logging.getLogger("AptDaemon.Trans") # Required for translations from APT try: locale.setlocale(locale.LC_ALL, "") except locale.Error: log.warning("Failed to unset LC_ALL. Translations are not available.") _POPCON_PATH = "/etc/popularity-contest.conf" _POPCON_DEFAULT = """# Config file for Debian's popularity-contest package. # # To change this file, use: # dpkg-reconfigure popularity-contest # # You can also edit it by hand, if you so choose. # # See /usr/share/popularity-contest/default.conf for more info # on the options. MY_HOSTID="%(host_id)s" PARTICIPATE="%(participate)s" USE_HTTP="yes" """ def _excepthook(exc_type, exc_obj, exc_tb, apport_excepthook): """Handle exceptions of aptdaemon and avoid tiggering apport crash reports for valid DBusExceptions that are send to the client. """ # apport registers is own excepthook as sys.excepthook. So we have to # send exceptions that we don't want to be tracked to Python's # internal excepthook directly if issubclass(exc_type, errors.AptDaemonError): sys.__excepthook__(exc_type, exc_obj, exc_tb) else: apport_excepthook(exc_type, exc_obj, exc_tb) if sys.excepthook.__name__ == "apport_excepthook": apport_excepthook = sys.excepthook sys.excepthook = lambda etype, eobj, etb: _excepthook(etype, eobj, etb, apport_excepthook) class DBusObject(dbus.service.Object): """Enhanced D-Bus object class which supports properties.""" WRITABLE_PROPERTIES = () # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=dbus.PROPERTIES_IFACE, signature="sa{sv}as") def PropertiesChanged(self, interface, changed_properties, invalidated_properties): """The signal gets emitted if a property of the object's interfaces changed. :param property: The name of the interface. :param changed_properties: A dictrionary of changed property/value pairs :param invalidated_properties: An array of property names which changed but the value isn't conveyed. :type interface: s :type changed_properties: a{sv} :type invalidated_properties: as """ log.debug("Emitting PropertiesChanged: %s, %s, %s" % (interface, changed_properties, invalidated_properties)) # pylint: disable-msg=C0103,C0322 @dbus.service.method(dbus.INTROSPECTABLE_IFACE, in_signature='', out_signature='s', path_keyword='object_path', connection_keyword='connection') def Introspect(self, object_path, connection): # Inject the properties into the introspection xml data data = dbus.service.Object.Introspect(self, object_path, connection) xml = ElementTree.fromstring(data) for iface in xml.findall("interface"): props = self._get_properties(iface.attrib["name"]) for key, value in props.items(): attrib = {"name": key} if key in self.WRITABLE_PROPERTIES: attrib["access"] = "readwrite" else: attrib["access"] = "read" if isinstance(value, dbus.String): attrib["type"] = "s" elif isinstance(value, dbus.UInt32): attrib["type"] = "u" elif isinstance(value, dbus.Int32): attrib["type"] = "i" elif isinstance(value, dbus.UInt64): attrib["type"] = "t" elif isinstance(value, dbus.Int64): attrib["type"] = "x" elif isinstance(value, dbus.Boolean): attrib["type"] = "b" elif isinstance(value, dbus.Struct): attrib["type"] = "(%s)" % value.signature elif isinstance(value, dbus.Dictionary): attrib["type"] = "a{%s}" % value.signature elif isinstance(value, dbus.Array): attrib["type"] = "a%s" % value.signature else: raise Exception("Type %s of property %s isn't " "convertable" % (type(value), key)) iface.append(ElementTree.Element("property", attrib)) new_data = ElementTree.tostring(xml, encoding="UTF-8") return new_data # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(dbus.PROPERTIES_IFACE, in_signature="ssv", out_signature="", sender_keyword="sender") def Set(self, iface, name, value, sender): """Set a property. Only the user who intiaited the transaction is allowed to modify it. :param iface: The interface which provides the property. :param name: The name of the property which should be modified. :param value: The new value of the property. :type iface: s :type name: s :type value: v """ log.debug("Set() was called: %s, %s" % (name, value)) return self._set_property(iface, name, value, sender) # pylint: disable-msg=C0103,C0322 @dbus.service.method(dbus.PROPERTIES_IFACE, in_signature="s", out_signature="a{sv}") def GetAll(self, iface): """Get all available properties of the given interface.""" log.debug("GetAll() was called: %s" % iface) return self._get_properties(iface) # pylint: disable-msg=C0103,C0322 @dbus.service.method(dbus.PROPERTIES_IFACE, in_signature="ss", out_signature="v") def Get(self, iface, property): """Return the value of the given property provided by the given interface. """ log.debug("Get() was called: %s, %s" % (iface, property)) return self._get_properties(iface)[property] def _set_property(self, iface, name, value, sender): """Helper to set a property on the properties D-Bus interface.""" raise dbus.exceptions.DBusException("Unknown or read only " "property: %s" % name) def _get_properties(self, iface): """Helper to get the properties of a D-Bus interface.""" return {} class Transaction(DBusObject): """Represents a transaction on the D-Bus. A transaction represents a single package management task, e.g. installation or removal of packages. This class allows to expose information and to controll the transaction via DBus using PolicyKit for managing privileges. """ ROLE_ACTION_MAP = { enums.ROLE_PK_QUERY: None, enums.ROLE_INSTALL_PACKAGES: ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), enums.ROLE_REMOVE_PACKAGES: ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), enums.ROLE_INSTALL_FILE: ( policykit1.PK_ACTION_INSTALL_FILE), enums.ROLE_UPGRADE_PACKAGES: ( policykit1.PK_ACTION_UPGRADE_PACKAGES), enums.ROLE_UPGRADE_SYSTEM: ( policykit1.PK_ACTION_UPGRADE_PACKAGES), enums.ROLE_UPDATE_CACHE: ( policykit1.PK_ACTION_UPDATE_CACHE), enums.ROLE_COMMIT_PACKAGES: ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), enums.ROLE_ADD_VENDOR_KEY_FILE: ( policykit1.PK_ACTION_CHANGE_REPOSITORY), enums.ROLE_ADD_VENDOR_KEY_FROM_KEYSERVER: ( policykit1.PK_ACTION_CHANGE_REPOSITORY), enums.ROLE_REMOVE_VENDOR_KEY: ( policykit1.PK_ACTION_CHANGE_REPOSITORY), enums.ROLE_FIX_INCOMPLETE_INSTALL: ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), enums.ROLE_FIX_BROKEN_DEPENDS: ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), enums.ROLE_ADD_REPOSITORY: ( policykit1.PK_ACTION_CHANGE_REPOSITORY), enums.ROLE_RECONFIGURE: ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), enums.ROLE_CLEAN: ( policykit1.PK_ACTION_CLEAN), enums.ROLE_ENABLE_DISTRO_COMP: ( policykit1.PK_ACTION_CHANGE_REPOSITORY), enums.ROLE_ADD_LICENSE_KEY: ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES)} WRITABLE_PROPERTIES = ("HttpProxy", "Terminal", "AllowUnauthenticated", "DebconfSocket", "MetaData", "Locale", "RemoveObsoleteDepends") def __init__(self, tid, role, queue, pid, uid, cmdline, sender, connect=True, bus=None, packages=None, kwargs=None): """Initialize a new Transaction instance. Keyword arguments: tid -- The unique identifier role -- The role enum of the transaction queue -- TransactionQueue instance of the daemon pid -- the id of the process which created the transaction uid -- the uid of the user who created the transaction cmdline -- the cmdline of the calling process sender -- the DBus name of the sender who created the transaction connect -- if the Transaction should connect to DBus (default is True) bus -- the DBus connection which should be used (defaults to system bus) """ if tid is None: tid = uuid.uuid4().hex self.tid = "/org/debian/apt/transaction/%s" % tid if connect is True: self.bus = bus if bus is None: self.bus = dbus.SystemBus() bus_name = dbus.service.BusName(APTDAEMON_DBUS_SERVICE, self.bus) dbus_path = self.tid else: bus = None bus_name = None dbus_path = None DBusObject.__init__(self, bus_name, dbus_path) if not packages: packages = ([], [], [], [], [], []) if not kwargs: kwargs = {} self.queue = queue self.uid = uid self.locale = dbus.String("") self.allow_unauthenticated = dbus.Boolean(False) self.remove_obsoleted_depends = dbus.Boolean(False) self.cmdline = cmdline self.pid = pid self.http_proxy = dbus.String("") self.terminal = dbus.String("") self.debconf = dbus.String("") self.kwargs = kwargs self._translation = None # The transaction which should be executed after this one self.after = None self._role = dbus.String(role) self._progress = dbus.Int32(0) # items_done, total_items, bytes_done, total_bytes, speed, time self._progress_details = dbus.Struct((0, 0, 0, 0, 0.0, 0), signature="iixxdx") self._progress_download = dbus.Struct(("", "", "", 0, 0, ""), signature="sssxxs") self._progress_package = dbus.Struct(("", ""), signature="ss") self._exit = dbus.String(enums.EXIT_UNFINISHED) self._status = dbus.String(enums.STATUS_SETTING_UP) self._status_details = dbus.String("") self._error = None self._error_property = dbus.Struct(("", ""), signature="ss") self._cancellable = dbus.Boolean(True) self._term_attached = dbus.Boolean(False) self._required_medium = dbus.Struct(("", ""), signature="ss") self._config_file_conflict = dbus.Struct(("", ""), signature="ss") self._config_file_conflict_resolution = "" self.cancelled = dbus.Boolean(False) self.paused = dbus.Boolean(False) self._meta_data = dbus.Dictionary(signature="sv") self._download = dbus.Int64(0) self._space = dbus.Int64(0) self._depends = dbus.Struct([dbus.Array([], signature='s') for i in range(7)], signature="asasasasasasas") self._packages = dbus.Struct([dbus.Array(pkgs, signature="s") for pkgs in packages], signature="asasasasasas") self._unauthenticated = dbus.Array([], signature=dbus.Signature('s')) self._high_trust_packages = dbus.Array([], signature=dbus.Signature('s')) # Add a timeout which removes the transaction from the bus if it # hasn't been setup and run for the TRANSACTION_IDLE_TIMEOUT period self._idle_watch = GLib.timeout_add_seconds( TRANSACTION_IDLE_TIMEOUT, self._remove_from_connection_no_raise) # Handle a disconnect of the client application self.sender_alive = True if bus: self._sender_watch = bus.watch_name_owner( sender, self._sender_owner_changed) else: self._sender_watch = None self.sender = sender self.output = "" self.simulated = None self._simulated_cb = None def _sender_owner_changed(self, connection): """Callback if the owner of the original sender changed, e.g. disconnected.""" if not connection: self.sender_alive = False def _remove_from_connection_no_raise(self): """Version of remove_from_connection that does not raise if the object isn't exported. """ log_trans.debug("Removing transaction") try: self.remove_from_connection() except LookupError as error: log_trans.debug("remove_from_connection() raised LookupError: " "'%s'" % error) # Forget a not yet queued transaction try: self.queue.limbo.pop(self.tid) except KeyError: pass return False def _convert_struct(self, lst, signature): """Convert a list to a DBus struct with the given signature. Currently integer, long, unsigned long, double, string and boolean are supported (ixtdsb). """ struct = [] for num, item in enumerate(lst): try: if signature[num] == "i": struct.append(dbus.Int32(item)) elif signature[num] == "x": struct.append(dbus.Int64(item)) elif signature[num] == "t": struct.append(dbus.UInt64(item)) elif signature[num] == "d": struct.append(dbus.Double(item)) elif signature[num] == "b": struct.append(dbus.Boolean(item)) elif signature[num] == "s": struct.append(get_dbus_string(item)) else: raise Exception("Value %s with unknown signature %s" % (item, signature[num])) except Exception as error: raise error.__class__("Failed to convert item %s of %s with " "signature %s: %s" % (num, lst, signature, str(error))) return dbus.Struct(struct, signature=dbus.Signature(signature)) def _set_meta_data(self, data): # Perform some checks if self.status != enums.STATUS_SETTING_UP: raise errors.TransactionAlreadyRunning() if not isinstance(data, dbus.Dictionary): raise errors.InvalidMetaDataError("The data value has to be a " "dictionary: %s" % data) if not data.signature.startswith("s"): raise errors.InvalidMetaDataError("Only strings are accepted " "as keys.") for key, value in data.items(): if key in self._meta_data: raise errors.InvalidMetaDataError("The key %s already " "exists. It is not allowed " "to overwrite existing " "data." % key) if not len(key.split("_")) > 1: raise errors.InvalidMetaDataError("The key %s has to be of " "the format " "IDENTIFIER-KEYNAME") if not isinstance(value, dbus.String): raise errors.InvalidMetaDataError("The value has to be a " "string: %s" % value) # Merge new data into existing one: self._meta_data.update(data) self.PropertyChanged("MetaData", self._meta_data) def _get_meta_data(self): return self._meta_data meta_data = property(_get_meta_data, _set_meta_data, doc="Allows client applications to store meta data " "for the transaction in a dictionary.") def _set_role(self, enum): if self._role != enums.ROLE_UNSET: raise errors.TransactionRoleAlreadySet() self._role = dbus.String(enum) self.PropertyChanged("Role", self._role) def _get_role(self): return self._role role = property(_get_role, _set_role, doc="Operation type of transaction.") def _set_progress_details(self, details): # items_done, total_items, bytes_done, total_bytes, speed, time self._progress_details = self._convert_struct(details, "iixxdx") self.PropertyChanged("ProgressDetails", self._progress_details) def _get_progress_details(self): return self._progress_details progress_details = property(_get_progress_details, _set_progress_details, doc="Tuple containing detailed progress " "information: items done, total items, " "bytes done, total bytes, speed and " "remaining time") def _set_error(self, excep): self._error = excep msg = self.gettext(excep.details) % excep.details_args self._error_property = self._convert_struct((excep.code, msg), "ss") self.PropertyChanged("Error", self._error_property) def _get_error(self): return self._error error = property(_get_error, _set_error, doc="Raised exception.") def _set_exit(self, enum): self.status = enums.STATUS_FINISHED self._exit = dbus.String(enum) self.PropertyChanged("ExitState", self._exit) self.Finished(self._exit) if self._sender_watch: self._sender_watch.cancel() # Remove the transaction from the Bus after it is complete. A short # timeout helps lazy clients GLib.timeout_add_seconds(TRANSACTION_DEL_TIMEOUT, self._remove_from_connection_no_raise) def _get_exit(self): return self._exit exit = property(_get_exit, _set_exit, doc="The exit state of the transaction.") def _get_download(self): return self._download def _set_download(self, size): self._download = dbus.Int64(size) self.PropertyChanged("Download", self._download) download = property(_get_download, _set_download, doc="The download size of the transaction.") def _get_space(self): return self._space def _set_space(self, size): self._space = dbus.Int64(size) self.PropertyChanged("Space", self._space) space = property(_get_space, _set_space, doc="The required disk space of the transaction.") def _set_packages(self, packages): self._packages = dbus.Struct([dbus.Array(pkgs, signature="s") for pkgs in packages], signature="as") self.PropertyChanged("Packages", self._packages) def _get_packages(self): return self._packages packages = property(_get_packages, _set_packages, doc="Packages which will be explictly installed, " "reinstalled, removed, purged, upgraded or " "downgraded.") def _get_unauthenticated(self): return self._unauthenticated def _set_unauthenticated(self, unauthenticated): self._unauthenticated = dbus.Array(unauthenticated, signature="s") self.PropertyChanged("Unauthenticated", self._unauthenticated) unauthenticated = property(_get_unauthenticated, _set_unauthenticated, doc="Unauthenticated packages in this " "transaction") # package that can have a different auth schema, useful for e.g. # lightweight packages like unity-webapps or packages comming from # a high trust repository (e.g. a internal company repo) def _get_high_trust_packages(self): return self._high_trust_packages def _set_high_trust_packages(self, whitelisted_packages): self._high_trust_packages = dbus.Array(whitelisted_packages, signature="s") self.PropertyChanged("HighTrustWhitelistedPackages", self._high_trust_packages) high_trust_packages = property(_get_high_trust_packages, _set_high_trust_packages, doc="High trust packages in this " "transaction") def _get_depends(self): return self._depends def _set_depends(self, depends): self._depends = dbus.Struct([dbus.Array(deps, signature="s") for deps in depends], signature="as") self.PropertyChanged("Dependencies", self._depends) depends = property(_get_depends, _set_depends, doc="The additional dependencies: installs, removals, " "upgrades and downgrades.") def _get_status(self): return self._status def _set_status(self, enum): self._status = dbus.String(enum) self.PropertyChanged("Status", self._status) status = property(_get_status, _set_status, doc="The status of the transaction.") def _get_status_details(self): return self._status_details def _set_status_details(self, text): self._status_details = get_dbus_string(text) self.PropertyChanged("StatusDetails", self._status_details) status_details = property(_get_status_details, _set_status_details, doc="The status message from apt.") def _get_progress(self): return self._progress def _set_progress(self, percent): self._progress = dbus.Int32(percent) self.PropertyChanged("Progress", self._progress) progress = property(_get_progress, _set_progress, "The progress of the transaction in percent.") def _get_progress_package(self): return self._progress_package def _set_progress_package(self, progress_package): self._progress_package = self._convert_struct(progress_package, "ss") progress_package = property(_get_progress_package, _set_progress_package, doc="The last progress update of a currently" "processed package. A tuple of package " "name and status enum.") def _get_progress_download(self): return self._progress_download def _set_progress_download(self, progress_download): self._progress_download = self._convert_struct(progress_download, "sssxxs") self.PropertyChanged("ProgressDownload", self._progress_download) progress_download = property(_get_progress_download, _set_progress_download, doc="The last progress update of a currently" "running download. A tuple of URI, " "status, short description, full size, " "partially downloaded size and a status " "message.") def _get_cancellable(self): return self._cancellable def _set_cancellable(self, cancellable): self._cancellable = dbus.Boolean(cancellable) self.PropertyChanged("Cancellable", self._cancellable) cancellable = property(_get_cancellable, _set_cancellable, doc="If it's currently allowed to cancel the " "transaction.") def _get_term_attached(self): return self._term_attached def _set_term_attached(self, attached): self._term_attached = dbus.Boolean(attached) self.PropertyChanged("TerminalAttached", self._term_attached) term_attached = property(_get_term_attached, _set_term_attached, doc="If the controlling terminal is currently " "attached to the dpkg call of the " "transaction.") def _get_required_medium(self): return self._required_medium def _set_required_medium(self, medium): self._required_medium = self._convert_struct(medium, "ss") self.PropertyChanged("RequiredMedium", self._required_medium) self.MediumRequired(*self._required_medium) required_medium = property(_get_required_medium, _set_required_medium, doc="Tuple containing the label and the drive " "of a required CD/DVD to install packages " "from.") def _get_config_file_conflict(self): return self._config_file_conflict def _set_config_file_conflict(self, prompt): if prompt is None: self._config_file_conflict = dbus.Struct(("", ""), signature="ss") return self._config_file_conflict = self._convert_struct(prompt, "ss") self.PropertyChanged("ConfigFileConflict", self._config_file_conflict) self.ConfigFileConflict(*self._config_file_conflict) config_file_conflict = property(_get_config_file_conflict, _set_config_file_conflict, doc="Tuple containing the old and the new " "path of the configuration file") # Signals # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=APTDAEMON_TRANSACTION_DBUS_INTERFACE, signature="sv") def PropertyChanged(self, property, value): """The signal gets emitted if a property of the transaction changed. :param property: The name of the property. :param value: The new value of the property. :type property: s :type value: v """ log_trans.debug("Emitting PropertyChanged: %s, %s" % (property, value)) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=APTDAEMON_TRANSACTION_DBUS_INTERFACE, signature="s") def Finished(self, exit_state): """The signal gets emitted if the transaction has been finished. :param exit_state: The exit state of the transaction, e.g. ``exit-failed``. :type exit_state: s """ log_trans.debug("Emitting Finished: %s" % enums.get_exit_string_from_enum(exit_state)) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=APTDAEMON_TRANSACTION_DBUS_INTERFACE, signature="ss") def MediumRequired(self, medium, drive): """Set and emit the required medium change. This method/signal should be used to inform the user to insert the installation CD/DVD: Keyword arguments: medium -- the CD/DVD label drive -- mount point of the drive """ log_trans.debug("Emitting MediumRequired: %s, %s" % (medium, drive)) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=APTDAEMON_TRANSACTION_DBUS_INTERFACE, signature="ss") def ConfigFileConflict(self, old, new): """Set and emit the ConfigFileConflict signal. This method/signal should be used to inform the user to answer a config file prompt. Keyword arguments: old -- current version of the configuration prompt new -- new version of the configuration prompt """ log_trans.debug("Emitting ConfigFileConflict: %s, %s" % (old, new)) # Methods def _set_locale(self, locale_str): """Set the language and encoding. Keyword arguments: locale -- specifies language, territory and encoding according to RFC 1766, e.g. "de_DE.UTF-8" """ if self.status != enums.STATUS_SETTING_UP: raise errors.TransactionAlreadyRunning() try: # ensure locale string is str() and not dbus.String() (lang, encoding) = locale._parse_localename(str(locale_str)) except ValueError: raise else: if lang is None: lang = "C" self.locale = dbus.String(lang) else: self.locale = dbus.String("%s.%s" % (lang, encoding)) self._translation = gettext.translation("aptdaemon", fallback=True, languages=[lang]) self.PropertyChanged("locale", self.locale) @inline_callbacks def _set_http_proxy(self, url, sender): """Set an http network proxy. Keyword arguments: url -- the URL of the proxy server, e.g. http://proxy:8080 """ if url != "" and (not url.startswith("http://") or not ":" in url): raise errors.InvalidProxyError(url) action = policykit1.PK_ACTION_SET_PROXY yield policykit1.check_authorization_by_name(sender, action, bus=self.bus) self.http_proxy = dbus.String(url) self.PropertyChanged("HttpProxy", self.http_proxy) def _set_remove_obsoleted_depends(self, remove_obsoleted_depends): """Set the handling of the removal of automatically installed dependencies which are now obsoleted. Keyword arguments: remove_obsoleted_depends -- If True also remove automatically installed dependencies of to removed packages """ self.remove_obsoleted_depends = dbus.Boolean(remove_obsoleted_depends) self.PropertyChanged("RemoveObsoletedDepends", self.remove_obsoleted_depends) def _set_allow_unauthenticated(self, allow_unauthenticated): """Set the handling of unauthenticated packages Keyword arguments: allow_unauthenticated -- True to allow packages that come from a repository without a valid authentication signature """ self.allow_unauthenticated = dbus.Boolean(allow_unauthenticated) self.PropertyChanged("AllowUnauthenticated", self.allow_unauthenticated) # pylint: disable-msg=C0103,C0322 @dbus.service.method(APTDAEMON_TRANSACTION_DBUS_INTERFACE, in_signature="s", out_signature="", sender_keyword="sender") def RunAfter(self, tid, sender): """Queue the transaction for processing after the given transaction. The transaction will also fail if the previous one failed. Several transactions can be chained up. :param tid: The id of the transaction which should be executed before. :type tid: s """ log_trans.info("Queuing transaction %s", self.tid) try: trans_before = self.queue.limbo[tid] except KeyError: raise Exception("The given transaction doesn't exist or is " "already queued!") if trans_before.after: raise Exception("There is already an after transaction!") trans_before.after = self # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_TRANSACTION_DBUS_INTERFACE, in_signature="", out_signature="", sender_keyword="sender") def Run(self, sender): """Check the authentication, simulate and queue the transaction for processing.""" log_trans.info("Queuing transaction %s", self.tid) return self._run(sender) @inline_callbacks def _run(self, sender): yield self._check_foreign_user(sender) yield self._check_simulated() yield self._check_auth() self.queue.put(self.tid) self.status = enums.STATUS_WAITING next_trans = self.after while next_trans: yield self._check_simulated() yield next_trans._check_auth() self.queue.put(next_trans.tid) next_trans.status = enums.STATUS_WAITING next_trans = next_trans.after @inline_callbacks def _check_simulated(self): # Simulate the new transaction if this has not been done before: #FIXME: Compare the simulated timestamp with the time stamp of # the status and re-simulate the transaction if self.simulated is None: # If there isn't any transaction on the queue we send an early # progress information. Otherwise it juse seems that aptdaemon # hangs since it doesn't send any progress information after the # the transaction has been started if not self.queue.worker.trans: self.progress = 9 yield self._simulate_real() else: raise StopIteration @inline_callbacks def _check_auth(self): """Check silently if one of the high level privileges has been granted before to reduce clicks to install packages from third party epositories: AddRepository -> UpdateCache -> InstallPackages """ self.status = enums.STATUS_AUTHENTICATING action = self.ROLE_ACTION_MAP[self.role] if action is None: raise StopIteration # Special case if InstallPackages only touches stuff from the # high trust whitelist if (self.role in (enums.ROLE_INSTALL_PACKAGES, enums.ROLE_COMMIT_PACKAGES) and trans_only_installs_pkgs_from_high_trust_repos(self)): action = policykit1.PK_ACTION_INSTALL_PACKAGES_FROM_HIGH_TRUST_REPO # Special case if CommitPackages only upgrades if (self.role == enums.ROLE_COMMIT_PACKAGES and not self.packages[enums.PKGS_INSTALL] and not self.packages[enums.PKGS_REINSTALL] and not self.packages[enums.PKGS_REMOVE] and not self.packages[enums.PKGS_PURGE] and not self.packages[enums.PKGS_DOWNGRADE]): action = policykit1.PK_ACTION_UPGRADE_PACKAGES try: authorized = yield self._check_alternative_auth() if not authorized: yield policykit1.check_authorization_by_name(self.sender, action, bus=self.bus) except errors.NotAuthorizedError as error: self.error = errors.TransactionFailed(enums.ERROR_NOT_AUTHORIZED, str(error)) self.exit = enums.EXIT_FAILED raise(error) except errors.AuthorizationFailed as error: self.error = errors.TransactionFailed(enums.ERROR_AUTH_FAILED, str(error)) self.exit = enums.EXIT_FAILED raise(error) @inline_callbacks def _check_alternative_auth(self): """Check non-interactively if one of the high level privileges has been granted. """ if self.role not in [enums.ROLE_ADD_REPOSITORY, enums.ROLE_ADD_VENDOR_KEY_FROM_KEYSERVER, enums.ROLE_UPDATE_CACHE, enums.ROLE_INSTALL_PACKAGES, enums.ROLE_ADD_LICENSE_KEY]: return_value(False) flags = policykit1.CHECK_AUTH_NONE for action in [policykit1.PK_ACTION_INSTALL_PACKAGES_FROM_NEW_REPO, policykit1.PK_ACTION_INSTALL_PURCHASED_PACKAGES]: try: yield policykit1.check_authorization_by_name(self.sender, action, bus=self.bus, flags=flags) except errors.NotAuthorizedError: continue else: return_value(True) return_value(False) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_TRANSACTION_DBUS_INTERFACE, in_signature="", out_signature="", sender_keyword="sender") def Cancel(self, sender): """Cancel the transaction.""" log_trans.info("Cancelling transaction %s", self.tid) return self._cancel(sender) @inline_callbacks def _cancel(self, sender): try: yield self._check_foreign_user(sender) except errors.ForeignTransaction: action = policykit1.PK_ACTION_CANCEL_FOREIGN yield policykit1.check_authorization_by_name(sender, action, bus=self.bus) try: self.queue.remove(self) log_trans.debug("Removed transaction from queue") except ValueError: pass else: self.status = enums.STATUS_CANCELLING self.exit = enums.EXIT_CANCELLED raise StopIteration if self.tid in self.queue.limbo: self.exit = enums.EXIT_CANCELLED raise StopIteration elif self.cancellable: log_trans.debug("Setting cancel event") self.cancelled = True self.status = enums.STATUS_CANCELLING self.paused = False raise StopIteration raise errors.AptDaemonError("Could not cancel transaction") # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_TRANSACTION_DBUS_INTERFACE, in_signature="", out_signature="", sender_keyword="sender") def Simulate(self, sender): """Simulate a transaction to update its dependencies, download size and required disk space. Call this method if you want to show changes before queuing the transaction. """ log_trans.info("Simulate was called") return self._simulate(sender) @inline_callbacks def _simulate(self, sender): if self._simulated_cb: raise errors.TransactionAlreadySimulating() if self.status != enums.STATUS_SETTING_UP: raise errors.TransactionAlreadyRunning() yield self._check_foreign_user(sender) yield self._simulate_real() @inline_callbacks def _simulate_real(self): if self._simulated_cb: raise errors.TransactionAlreadySimulating() self.queue.worker.simulate(self) deferred = Deferred() if self._idle_watch is not None: GLib.source_remove(self._idle_watch) self._idle_watch = None self._simulated_cb = self.queue.worker.connect( "transaction-simulated", self._on_transaction_simulated, deferred) yield deferred def _on_transaction_simulated(self, worker, trans, deferred): if trans is not self: return self.queue.worker.disconnect(self._simulated_cb) self._simualted_cb = None if trans.error: deferred.errback(trans.error) else: deferred.callback() def _set_terminal(self, ttyname): """Set the controlling terminal. The worker will be attached to the specified slave end of a pty master/slave pair. This allows to interact with the Can only be changed before the transaction is started. Keyword arguments: ttyname -- file path to the slave file descriptor """ if self.status != enums.STATUS_SETTING_UP: raise errors.TransactionAlreadyRunning() if not os.access(ttyname, os.W_OK): raise errors.AptDaemonError("Pty device does not exist: " "%s" % ttyname) if not os.stat(ttyname)[4] == self.uid: raise errors.AptDaemonError("Pty device '%s' has to be owned by" "the owner of the transaction " "(uid %s) " % (ttyname, self.uid)) if os.path.dirname(ttyname) != "/dev/pts": raise errors.AptDaemonError("%s isn't a tty" % ttyname) try: slave_fd = os.open(ttyname, os.O_RDWR | os.O_NOCTTY) if os.isatty(slave_fd): self.terminal = dbus.String(ttyname) self.PropertyChanged("Terminal", self.terminal) else: raise errors.AptDaemonError("%s isn't a tty" % ttyname) finally: os.close(slave_fd) def _set_debconf(self, debconf_socket): """Set the socket of the debconf proxy. The worker process forwards all debconf commands through this socket by using the passthrough frontend. On the client side debconf-communicate should be connected to the socket. Can only be changed before the transaction is started. Keyword arguments: debconf_socket: absolute path to the socket """ if self.status != enums.STATUS_SETTING_UP: raise errors.TransactionAlreadyRunning() if not os.access(debconf_socket, os.W_OK): raise errors.AptDaemonError("socket does not exist: " "%s" % debconf_socket) if not os.stat(debconf_socket)[4] == self.uid: raise errors.AptDaemonError("socket '%s' has to be owned by the " "owner of the " "transaction" % debconf_socket) self.debconf = dbus.String(debconf_socket) self.PropertyChanged("DebconfSocket", self.debconf) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_TRANSACTION_DBUS_INTERFACE, in_signature="s", out_signature="", sender_keyword="sender") def ProvideMedium(self, medium, sender): """Continue paused transaction with the inserted medium. If a media change is required to install packages from CD/DVD the transaction will be paused and could be resumed with this method. :param medium: The label of the CD/DVD. :type medium: s """ log_trans.info("Medium %s was provided", medium) return self._provide_medium(medium, sender) @inline_callbacks def _provide_medium(self, medium, sender): yield self._check_foreign_user(sender) if not self.required_medium: raise errors.AptDaemonError("There isn't any required medium.") if not self.required_medium[0] == medium: raise errors.AptDaemonError("The medium '%s' isn't " "requested." % medium) self.paused = False # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_TRANSACTION_DBUS_INTERFACE, in_signature="ss", out_signature="", sender_keyword="sender") def ResolveConfigFileConflict(self, config, answer, sender): """Resolve a configuration file conflict and continue the transaction. If a config file prompt is detected the transaction will be paused and could be resumed with this method. :param config: The path to the original config file. :param answer: The answer to the configuration file question, can be "keep" or "replace" :type config: s :type answer: s """ log_trans.info("Resolved conflict of %s with %s", config, answer) return self._resolve_config_file_conflict(config, answer, sender) @inline_callbacks def _resolve_config_file_conflict(self, config, answer, sender): yield self._check_foreign_user(sender) if not self.config_file_conflict: raise errors.AptDaemonError("There isn't any config file prompt " "required") if answer not in ["keep", "replace"]: # FIXME: should we re-send the config file prompt # message or assume the client is buggy and # just use a safe default (like keep)? raise errors.AptDaemonError("Invalid value: %s" % answer) if not self.config_file_conflict[0] == config: raise errors.AptDaemonError("Invalid config file: %s" % config) self.config_file_conflict_resolution = answer self.paused = False @inline_callbacks def _set_property(self, iface, name, value, sender): """Helper to set a name on the properties D-Bus interface.""" yield self._check_foreign_user(sender) if iface == APTDAEMON_TRANSACTION_DBUS_INTERFACE: if name == "MetaData": self._set_meta_data(value) elif name == "Terminal": self._set_terminal(value) elif name == "DebconfSocket": self._set_debconf(value) elif name == "Locale": self._set_locale(value) elif name == "RemoveObsoletedDepends": self._set_remove_obsoleted_depends(value) elif name == "AllowUnauthenticated": self._set_allow_unauthenticated(value) elif name == "HttpProxy": self._set_http_proxy(value, sender) else: raise dbus.exceptions.DBusException("Unknown or read only " "property: %s" % name) else: raise dbus.exceptions.DBusException("Unknown interface: %s" % iface) def _get_properties(self, iface): """Helper to get the properties of a D-Bus interface.""" if iface == APTDAEMON_TRANSACTION_DBUS_INTERFACE: return {"Role": self.role, "Progress": self.progress, "ProgressDetails": self.progress_details, "ProgressDownload": self.progress_download, "Status": self.status, "StatusDetails": self.status_details, "Cancellable": self.cancellable, "TerminalAttached": self.term_attached, "RequiredMedium": self.required_medium, "ConfigFileConflict": self.config_file_conflict, "ExitState": self.exit, "Error": self._error_property, "Locale": self.locale, "Terminal": self.terminal, "DebconfSocket": self.debconf, "Paused": dbus.Boolean(self.paused), "AllowUnauthenticated": self.allow_unauthenticated, "RemoveObsoletedDepends": self.remove_obsoleted_depends, "HttpProxy": self.http_proxy, "Packages": self.packages, "MetaData": self.meta_data, "Dependencies": self.depends, "Download": self.download, "Space": self.space, "Unauthenticated": self.unauthenticated, } else: return {} @inline_callbacks def _check_foreign_user(self, dbus_name): """Check if the transaction is owned by the given caller.""" uid = yield policykit1.get_uid_from_dbus_name(dbus_name, self.bus) if self.uid != uid: raise errors.ForeignTransaction() def _set_kwargs(self, kwargs): """Set the kwargs which will be send to the AptWorker.""" self.kwargs = kwargs def _get_translations(self): """Get a usable translations object, no matter what.""" if self._translation: return self._translation else: domain = "aptdaemon" return gettext.translation(domain, gettext.bindtextdomain(domain), gettext.bind_textdomain_codeset(domain), fallback=True) def gettext(self, msg): """Translate the given message to the language of the transaction. Fallback to the system default. """ # Avoid showing the header of the mo file for an empty string if not msg: return "" translation = self._get_translations() return getattr(translation, _gettext_method)(msg) def ngettext(self, singular, plural, count): """Translate the given plural message to the language of the transaction. Fallback to the system default. """ translation = self._get_translations() return getattr(translation, _ngettext_method)(singular, plural, count) class TransactionQueue(GObject.GObject): """Queue for transactions.""" __gsignals__ = {"queue-changed": (GObject.SignalFlags.RUN_FIRST, None, ())} def __init__(self, worker): """Intialize a new TransactionQueue instance.""" GObject.GObject.__init__(self) self._queue = collections.deque() self._proc_count = 0 self.worker = worker # Used to keep track of not yet queued transactions self.limbo = {} self.worker.connect("transaction-done", self._on_transaction_done) def __len__(self): return len(self._queue) def _emit_queue_changed(self): """Emit the queued-changed signal.""" log.debug("emitting queue changed") self.emit("queue-changed") def put(self, tid): """Add an item to the queue.""" trans = self.limbo.pop(tid) if trans._idle_watch is not None: GLib.source_remove(trans._idle_watch) if self.worker.trans: trans.status = enums.STATUS_WAITING self._queue.append(trans) else: self.worker.run(trans) self._emit_queue_changed() def _on_transaction_done(self, worker, trans): """Mark the last item as done and request a new item.""" #FIXME: Check if the transaction failed because of a broken system or # if dpkg journal is dirty. If so allready queued transactions # except the repair transactions should be removed from the queue if trans.exit in [enums.EXIT_FAILED, enums.EXIT_CANCELLED]: if trans.exit == enums.EXIT_FAILED: exit = enums.EXIT_PREVIOUS_FAILED else: exit = enums.EXIT_CANCELLED _trans = trans.after while _trans: self.remove(_trans) _trans.exit = exit msg = enums.get_role_error_from_enum(trans.role) _trans.status_details = msg _trans = _trans.after try: next_trans = self._queue.popleft() except IndexError: log.debug("There isn't any queued transaction") else: self.worker.run(next_trans) self._emit_queue_changed() def remove(self, transaction): """Remove the specified item from the queue.""" self._queue.remove(transaction) self._emit_queue_changed() def clear(self): """Remove all items from the queue.""" for transaction in self._queue: transaction._remove_from_connection_no_raise() self._queue.clear() @property def items(self): """Return a list containing all queued items.""" return list(self._queue) class AptDaemon(DBusObject): """Provides a system daemon to process package management tasks. The daemon is transaction based. Each package management tasks runs in a separate transaction. The transactions can be created, monitored and managed via the D-Bus interface. """ def __init__(self, options, connect=True, bus=None): """Initialize a new AptDaemon instance. Keyword arguments: options -- command line options of the type optparse.Values connect -- if the daemon should connect to the D-Bus (default is True) bus -- the D-Bus to connect to (defaults to the system bus) """ log.info("Initializing daemon") # glib does not support SIGQUIT #GLib.unix_signal_add_full( # GLib.PRIORITY_HIGH, signal.SIGQUIT, self._sigquit, None) GLib.unix_signal_add(GLib.PRIORITY_HIGH, signal.SIGTERM, self._sigquit, None) # Decrease the priority of the daemon to avoid blocking UI os.nice(5) self.options = options self.packagekit = None if connect is True: if bus is None: bus = dbus.SystemBus() self.bus = bus bus_path = APTDAEMON_DBUS_PATH # Check if another object has already registered the name on # the bus. Quit the other daemon if replace would be set try: bus_name = dbus.service.BusName(APTDAEMON_DBUS_SERVICE, bus, do_not_queue=True) except dbus.exceptions.NameExistsException: if self.options.replace is False: log.critical("Another daemon is already running") sys.exit(1) log.warn("Replacing already running daemon") the_other_guy = bus.get_object(APTDAEMON_DBUS_SERVICE, APTDAEMON_DBUS_PATH) the_other_guy.Quit(dbus_interface=APTDAEMON_DBUS_INTERFACE, timeout=300) time.sleep(1) bus_name = dbus.service.BusName(APTDAEMON_DBUS_SERVICE, bus, do_not_queue=True) else: bus_name = None bus_path = None DBusObject.__init__(self, bus_name, bus_path) if options.dummy: self.worker = DummyWorker() else: load_plugins = not options.disable_plugins try: from . import pkcompat except ImportError: self.worker = AptWorker(options.chroot, load_plugins) else: self.worker = pkcompat.PackageKitWorker(options.chroot, load_plugins) self.queue = TransactionQueue(self.worker) self.queue.connect("queue-changed", self._on_queue_changed) # keep state of the last information about reboot required self._reboot_required = self.worker.is_reboot_required() try: self.packagekit = pkcompat.PackageKit(self.queue, connect, bus) except dbus.exceptions.NameExistsException: log.warn("PackageKit is already running") except NameError: pass log.debug("Daemon was initialized") def _on_queue_changed(self, queue): """Callback for a changed transaction queue.""" # check for reboot required if self.worker.is_reboot_required() != self._reboot_required: self._reboot_required = self.worker.is_reboot_required() self.PropertyChanged("RebootRequired", self._reboot_required) # check for the queue if self.queue.worker.trans: current = self.queue.worker.trans.tid else: current = "" queued = [trans.tid for trans in self.queue.items] self.ActiveTransactionsChanged(current, queued) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=APTDAEMON_DBUS_INTERFACE, signature="sv") def PropertyChanged(self, property, value): """The signal gets emitted if a property of the transaction changed. :param property: The name of the property. :param value: The new value of the property. :type property: s :type value: v """ log.debug("Emitting PropertyChanged: %s, %s" % (property, value)) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=APTDAEMON_DBUS_INTERFACE, signature="sas") def ActiveTransactionsChanged(self, current, queued): """The currently processed or the queued transactions changed. :param current: The path of the currently running transaction or an empty string. :param queued: List of the ids of the queued transactions. :type current: s :type queued: as """ log.debug("Emitting ActiveTransactionsChanged signal: %s, %s", current, queued) def run(self): """Start the daemon and listen for calls.""" if self.options.disable_timeout is False: log.debug("Using inactivity check") GLib.timeout_add_seconds(APTDAEMON_IDLE_CHECK_INTERVAL, self._check_for_inactivity) log.debug("Waiting for calls") try: mainloop.run() except KeyboardInterrupt: self.Quit(None) @inline_callbacks def _create_trans(self, role, sender, packages=None, kwargs=None): """Helper method which returns the tid of a new transaction.""" pid, uid, cmdline = ( yield policykit1.get_proc_info_from_dbus_name(sender, self.bus)) tid = uuid.uuid4().hex trans = Transaction(tid, role, self.queue, pid, uid, cmdline, sender, packages=packages, kwargs=kwargs, bus=self.bus) self.queue.limbo[trans.tid] = trans return_value(trans.tid) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="", out_signature="s", sender_keyword="sender") def FixIncompleteInstall(self, sender): """Try to complete cancelled installations. This is equivalent to a call of ``dpkg --configure -a``. Requires the ``org.debian.apt.install-or-remove-packages`` :ref:`PolicyKit privilege `. :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("FixIncompleteInstall() called") return self._create_trans(enums.ROLE_FIX_INCOMPLETE_INSTALL, sender) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="", out_signature="s", sender_keyword="sender") def FixBrokenDepends(self, sender): """Try to resolve unsatisfied dependencies of installed packages. Requires the ``org.debian.apt.install-or-remove-packages`` :ref:`PolicyKit privilege `. :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("FixBrokenDepends() called") return self._create_trans(enums.ROLE_FIX_BROKEN_DEPENDS, sender) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="", out_signature="s", sender_keyword="sender") def UpdateCache(self, sender): """Download the latest information about available packages from the repositories and rebuild the package cache. Requires the ``org.debian.apt.update-cache`` :ref:`PolicyKit privilege `. :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("UpdateCache() was called") kwargs = {"sources_list": None} return self._create_trans(enums.ROLE_UPDATE_CACHE, sender, kwargs=kwargs) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="s", out_signature="s", sender_keyword="sender") def UpdateCachePartially(self, sources_list, sender): """Update the cache from the repositories defined in the given sources.list only. Requires the ``org.debian.apt.update-cache`` :ref:`PolicyKit privilege `. :param sources_list: The absolute path to a sources.list, e.g. :file:`/etc/apt/sources.list.d/ppa-aptdaemon.list` or the name of the snippet in :file:`/etc/apt/sources.list.d/`, e.g. :file:`ppa-aptdaemon.list`. :type sources_list: s :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("UpdateCachePartially() was called") kwargs = {"sources_list": sources_list} return self._create_trans(enums.ROLE_UPDATE_CACHE, sender, kwargs=kwargs) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="as", out_signature="s", sender_keyword="sender") def RemovePackages(self, package_names, sender): """Remove the given packages from the system. The configuration files will be kept by default. Use :func:`CommitPackages()` to also purge the configuration files. Requires the ``org.debian.apt.install-or-packages`` :ref:`PolicyKit privilege `. :param package_names: packages to be removed :type package_names: as :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("RemovePackages() was called: '%s'", package_names) self._check_package_names(package_names) return self._create_trans(enums.ROLE_REMOVE_PACKAGES, sender, packages=([], [], package_names, [], [], [])) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="b", out_signature="s", sender_keyword="sender") def UpgradeSystem(self, safe_mode, sender): """Apply all available upgrades and try to resolve conflicts. Requires the ``org.debian.apt.upgrade-packages`` :ref:`PolicyKit privilege `. :param safe_mode: If True only already installed packages will be updated. Updates which require to remove installed packages or to install additional packages will be skipped. :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("UpgradeSystem() was called with safe mode: " "%s" % safe_mode) return self._create_trans(enums.ROLE_UPGRADE_SYSTEM, sender, kwargs={"safe_mode": safe_mode}) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="asasasasasas", out_signature="s", sender_keyword="sender") def CommitPackages(self, install, reinstall, remove, purge, upgrade, downgrade, sender): """Perform several package changes at the same time. The version number and target release of the packages can be specified using the traditional apt-get syntax, e.g. "xterm=281.1" to force installing the version 281.1 of xterm or "xterm/experimental" to force installing xterm from the experimental release. Requires the ``org.debian.apt.install-or-remove-packages`` :ref:`PolicyKit privilege `. :param install: Packages to be installed. :param reinstall: Packages to be re-installed :param remove: Packages to be removed :param purge: Package to be removed including theirs configuration files. :param upgrade: Packages to be upgraded. :param downgrade: Packages to be downgraded. You have to append the target version to the package name separated by "=" :type install: as :type reinstall: as :type remove: as :type purge: as :type upgrade: as :type downgrade: as :returns: The D-Bus path of the new transaction object which performs this action. """ #FIXME: take sha1 or md5 cash into accout to allow selecting a version # or an origin different from the candidate log.info("CommitPackages() was called: %s, %s, %s, %s, %s, %s", install, reinstall, remove, purge, upgrade, downgrade) def check_empty_list(lst): if lst == [""]: return [] else: return lst packages_lst = [check_empty_list(lst) for lst in [install, reinstall, remove, purge, upgrade, downgrade]] for packages in packages_lst: self._check_package_names(packages) return self._create_trans(enums.ROLE_COMMIT_PACKAGES, sender, packages=packages_lst) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="as", out_signature="s", sender_keyword="sender") def InstallPackages(self, package_names, sender): """Fetch and install the given packages from the repositories. The version number and target release of the packages can be specified using the traditional apt-get syntax, e.g. "xterm=281.1" to force installing the version 281.1 of xterm or "xterm/experimental" to force installing xterm from the experimental release. Requires the ``org.debian.apt.install-or-remove-packages`` :ref:`PolicyKit privilege `. :param package_names: Packages to be upgraded :type package_names: as :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("InstallPackages() was called: %s" % package_names) self._check_package_names(package_names) return self._create_trans(enums.ROLE_INSTALL_PACKAGES, sender, packages=(package_names, [], [], [], [], [])) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="as", out_signature="s", sender_keyword="sender") def UpgradePackages(self, package_names, sender): """Upgrade the given packages to their latest version. The version number and target release of the packages can be specified using the traditional apt-get syntax, e.g. "xterm=281.1" to force installing the version 281.1 of xterm or "xterm/experimental" to force installing xterm from the experimental release. Requires the ``org.debian.apt.upgrade-packages`` :ref:`PolicyKit privilege `. :param package_names: Packages to be upgraded :type package_names: as :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("UpgradePackages() was called: %s" % package_names) self._check_package_names(package_names) return self._create_trans(enums.ROLE_UPGRADE_PACKAGES, sender, packages=([], [], [], [], package_names, [])) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="ss", out_signature="s", sender_keyword="sender") def AddVendorKeyFromKeyserver(self, keyid, keyserver, sender): """Download and install the key of a software vendor. The key is used to authenticate packages of the vendor. Requires the ``org.debian.apt.change-repositories`` :ref:`PolicyKit privilege `. :param keyid: The id of the GnuPG key (e.g. 0x0EB12F05) :param keyserver: The server to get the key from (e.g. keyserver.ubuntu.com) :type keyid: s :type keyserver: s :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("InstallVendorKeyFromKeyserver() was called: %s %s", keyid, keyserver) return self._create_trans(enums.ROLE_ADD_VENDOR_KEY_FROM_KEYSERVER, sender, kwargs={"keyid": keyid, "keyserver": keyserver}) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="s", out_signature="s", sender_keyword="sender") def AddVendorKeyFromFile(self, path, sender): """Install the key file of a software vendor. The key is used to authenticate packages of the vendor. Requires the ``org.debian.apt.change-repositories`` :ref:`PolicyKit privilege `. :param path: The absolute path to the key file. :type path: s :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("InstallVendorKeyFile() was called: %s" % path) return self._create_trans(enums.ROLE_ADD_VENDOR_KEY_FILE, sender, kwargs={"path": path}) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="s", out_signature="s", sender_keyword="sender") def RemoveVendorKey(self, fingerprint, sender): """Remove the given key of a software vendor. The key is used to authenticate packages of the vendor. Requires the ``org.debian.apt.change-repositories`` :ref:`PolicyKit privilege `. :param fingerprint: The fingerprint of the key. :type fingerprint: s :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("RemoveVendorKey() was called: %s" % fingerprint) return self._create_trans(enums.ROLE_REMOVE_VENDOR_KEY, sender, kwargs={"fingerprint": fingerprint}) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="sb", out_signature="s", sender_keyword="sender") def InstallFile(self, path, force, sender): """Install the given local package file. Requires the ``org.debian.apt.install-file`` :ref:`PolicyKit privilege `. :param path: The absolute path to the package file. :param force: If the installation of a package which violates the Debian/Ubuntu policy should be forced. :type path: s :type force: b :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("InstallFile() was called: %s" % path) #FIXME: Perform some checks #FIXME: Should we already extract the package name here? return self._create_trans(enums.ROLE_INSTALL_FILE, sender, kwargs={"path": path, "force": force}) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="", out_signature="s", sender_keyword="sender") def Clean(self, sender): """Remove downloaded package files. Requires the ``org.debian.apt.clean`` :ref:`PolicyKit privilege `. :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("Clean() was called") return self._create_trans(enums.ROLE_CLEAN, sender) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="ass", out_signature="s", sender_keyword="sender") def Reconfigure(self, packages, priority, sender): """Reconfigure already installed packages. Requires the ``org.debian.apt.install-or-remove-packages`` :ref:`PolicyKit privilege `. :param packages: List of package names which should be reconfigure. :param priority: The minimum debconf priority of question to be displayed. Can be of value "low", "medium", "high", "critical", "default". :type packages: as :type priority: s :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("Reconfigure() was called: %s" % " ".join(packages)) return self._create_trans(enums.ROLE_RECONFIGURE, sender, packages=[[], packages, [], [], [], []], kwargs={"priority": priority}) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="sssasss", out_signature="s", sender_keyword="sender") def AddRepository(self, src_type, uri, dist, comps, comment, sourcesfile, sender): """Add given repository to the sources list. Requires the ``org.debian.apt.change-repositories`` :ref:`PolicyKit privilege `. :param src_type: The type of the repository (deb, deb-src). :param uri: The main repository URI (e.g. http://archive.ubuntu.com/ubuntu) :param dist: The distribution to use (e.g. stable or lenny-backports). :param comps: List of components (e.g. main, restricted). :param comment: A comment which should be added to the sources.list. :param sourcesfile: (Optoinal) filename in sources.list.d. :type src_type: s :type uri: s :type dist: s :type comps: as :type comment: s :type sourcesfile: s :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("AddRepository() was called: type='%s' uri='%s' " "dist='%s' comps='%s' comment='%s' sourcesfile='%s'", src_type, uri, dist, comps, comment, sourcesfile) return self._create_trans(enums.ROLE_ADD_REPOSITORY, sender, kwargs={"src_type": src_type, "uri": uri, "dist": dist, "comps": comps, "comment": comment, "sourcesfile": sourcesfile}) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="s", out_signature="s", sender_keyword="sender") def EnableDistroComponent(self, component, sender): """Enable the component in the distribution repositories. This will not affect third-party repositories. The repositories of a distribution are often separated into different components because of policy reasons. E.g. Debian uses main for DFSG-free software and non-free for re-distributable but not free in the sense of the Debian Free Software Guidelines. Requires the ``org.debian.apt.change-repositories`` :ref:`PolicyKit privilege `. :param component: The component, e,g, main or non-free. :type component: s :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("EnableComponent() was called: component='%s' ", component) return self._create_trans(enums.ROLE_ENABLE_DISTRO_COMP, sender, kwargs={"component": component}) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="", out_signature="as", sender_keyword="sender") def GetTrustedVendorKeys(self, sender): """Get the list of the installed vendor keys which are used to authenticate packages. Requires the ``org.debian.apt.get-trusted-vendor-keys`` :ref:`PolicyKit privilege `. :returns: Fingerprints of all installed keys. """ log.info("GetTrustedVendorKeys() was called") return self._get_trusted_vendor_keys(sender) @inline_callbacks def _get_trusted_vendor_keys(self, sender): action = policykit1.PK_ACTION_GET_TRUSTED_VENDOR_KEYS yield policykit1.check_authorization_by_name(sender, action, bus=self.bus) fingerprints = [key.keyid for key in apt.auth.list_keys()] return_value(fingerprints) # pylint: disable-msg=C0103,C0322 @dbus.service.method(APTDAEMON_DBUS_INTERFACE, in_signature="", out_signature="sas") def GetActiveTransactions(self): """Return the currently running transaction and the list of queued transactions. """ log.debug("GetActiveTransactions() was called") queued = [trans.tid for trans in self.queue.items] if self.queue.worker.trans: current = self.queue.worker.trans.tid else: current = "" return current, queued # pylint: disable-msg=C0103,C0322 @dbus.service.method(APTDAEMON_DBUS_INTERFACE, in_signature="", out_signature="", sender_keyword="caller_name") def Quit(self, caller_name): """Request a shutdown of the daemon.""" log.info("Quitting was requested") log.debug("Quitting main loop...") mainloop.quit() log.debug("Exit") # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(APTDAEMON_DBUS_INTERFACE, in_signature="sss", out_signature="s", sender_keyword="sender") def AddLicenseKey(self, pkg_name, json_token, server_name, sender): """Install a license key to use a piece of proprietary software. Requires the ``org.debian.apt.install-or-remove-packages`` :ref:`PolicyKit privilege `. :param pkg_name: The name of the package which requires the license :type pkg_name: s :param json_token: The oauth token to use with the server in json format :type pkg_name: s :param server_name: The name of the server to use (ubuntu-production, ubuntu-staging) :type pkg_name: s :returns: The D-Bus path of the new transaction object which performs this action. """ log.info("AddLicenseKey() was called") return self._create_trans(enums.ROLE_ADD_LICENSE_KEY, sender, kwargs={'pkg_name': pkg_name, 'json_token': json_token, 'server_name': server_name}) @inline_callbacks def _set_property(self, iface, name, value, sender): """Helper to set a property on the properties D-Bus interface.""" action = policykit1.PK_ACTION_CHANGE_CONFIG yield policykit1.check_authorization_by_name(sender, action, bus=self.bus) if iface == APTDAEMON_DBUS_INTERFACE: if name == "PopConParticipation": self._set_popcon_participation(value) elif name == "AutoUpdateInterval": self._set_apt_config("APT::Periodic::Update-Package-Lists", dbus.Int32(value), "10periodic") elif name == "AutoDownload": self._set_apt_config("APT::Periodic::" "Download-Upgradeable-Packages", dbus.Boolean(value), "10periodic") elif name == "AutoCleanInterval": self._set_apt_config("APT::Periodic::AutocleanInterval", dbus.Int32(value), "10periodic") elif name == "UnattendedUpgrade": self._set_apt_config("APT::Periodic::Unattended-Upgrade", dbus.Boolean(value), "10periodic") else: raise dbus.exceptions.DBusException("Unknown or read only " "property: %s" % name) else: raise dbus.exceptions.DBusException("Unknown interface: %s" % iface) def _check_package_names(self, pkg_names): """Check if the package names are valid. Otherwise raise an exception. """ for fullname in pkg_names: name, version, release = AptWorker._split_package_id(fullname) if not re.match(REGEX_VALID_PACKAGENAME, name): raise errors.AptDaemonError("%s isn't a valid package name" % name) if (version is not None and not re.match(REGEX_VALID_VERSION, version)): raise errors.AptDaemonError("%s isn't a valid version" % version) if (release is not None and not re.match(REGEX_VALID_RELEASE, release)): raise errors.AptDaemonError("%s isn't a valid release" % release) def _set_apt_config(self, option, key, filename): cw = ConfigWriter() cw.set_value(option, key, filename) apt_pkg.init_config() def _set_popcon_participation(self, participate): if participate: value = "yes" else: value = "no" if os.path.exists(_POPCON_PATH): # read the current config and replace the corresponding settings # FIXME: Check if the config file is a valid bash script and # contains the host_id with open(_POPCON_PATH) as conf_file: old_config = conf_file.read() config = re.sub(r'(PARTICIPATE=*)(".+?")', '\\1"%s"' % value, old_config) else: # create a new popcon config file m = md5() m.update(open("/dev/urandom", "r").read(1024)) config = _POPCON_DEFAULT % {"host_id": m.hexdigest(), "participate": value} with open(_POPCON_PATH, "w") as conf_file: conf_file.write(config) def _get_popcon_participation(self): #FIXME: Use a script to evaluate the configuration: # #!/bin/sh # . /etc/popularitiy-contest.conf # . /usr/share/popularitiy-contest/default.conf # echo $PARTICIAPTE $HOST_ID if os.path.exists(_POPCON_PATH): with open(_POPCON_PATH) as conf_file: config = conf_file.read() match = re.match("\nPARTICIPATE=\"(yes|no)\"", config) if match and match[0] == "yes": return True return False def _get_properties(self, iface): """Helper get the properties of a D-Bus interface.""" if iface == APTDAEMON_DBUS_INTERFACE: return {"AutoUpdateInterval": dbus.Int32( apt_pkg.config.find_i("APT::Periodic::" "Update-Package-Lists", 0)), "AutoDownload": dbus.Boolean( apt_pkg.config.find_b("APT::Periodic::" "Download-Upgradeable-Packages", False)), "AutoCleanInterval": dbus.Int32( apt_pkg.config.find_i("APT::Periodic::" "AutocleanInterval", 0)), "UnattendedUpgrade": dbus.Int32( apt_pkg.config.find_b("APT::Periodic::" "Unattended-Upgrade", False)), "PopConParticipation": dbus.Boolean( self._get_popcon_participation()), "RebootRequired": dbus.Boolean( self.worker.is_reboot_required())} else: return {} def _sigquit(self, data): """Internal callback for the quit signal.""" self.Quit(None) def _check_for_inactivity(self): """Shutdown the daemon if it has been inactive for time specified in APTDAEMON_IDLE_TIMEOUT. """ log.debug("Checking for inactivity") timestamp = self.queue.worker.last_action_timestamp if (not self.queue.worker.trans and not GLib.main_context_default().pending() and time.time() - timestamp > APTDAEMON_IDLE_TIMEOUT and not self.queue): log.info("Quitting due to inactivity") self.Quit(None) return False return True def get_dbus_string(text, encoding="UTF-8"): """Convert the given string or unicode object to a dbus.String.""" try: return dbus.String(text) except UnicodeDecodeError: return dbus.String(text.decode(encoding, "ignore")) def main(): """Allow to run the daemon from the command line.""" parser = OptionParser() parser.add_option("-t", "--disable-timeout", default=False, action="store_true", dest="disable_timeout", help=_("Do not shutdown the daemon because of " "inactivity")) parser.add_option("", "--disable-plugins", default=False, action="store_true", dest="disable_plugins", help=_("Do not load any plugins")) parser.add_option("-d", "--debug", default=False, action="store_true", dest="debug", help=_("Show internal processing " "information")) parser.add_option("-r", "--replace", default=False, action="store_true", dest="replace", help=_("Quit and replace an already running " "daemon")) parser.add_option("", "--session-bus", default=False, action="store_true", dest="session_bus", help=_("Listen on the DBus session bus (Only required " "for testing")) parser.add_option("", "--chroot", default=None, action="store", type="string", dest="chroot", help=_("Perform operations in the given " "chroot")) parser.add_option("-p", "--profile", default=False, action="store", type="string", dest="profile", help=_("Store profile stats in the specified " "file")) parser.add_option("--dummy", default=False, action="store_true", dest="dummy", help=_("Do not make any changes to the system (Only " "of use to developers)")) options, args = parser.parse_args() if options.debug is True: log.setLevel(logging.DEBUG) else: log.setLevel(logging.INFO) _console_handler.setLevel(logging.INFO) if options.session_bus: bus = dbus.SessionBus() else: bus = None daemon = AptDaemon(options, bus=bus) if options.profile: import profile profiler = profile.Profile() profiler.runcall(daemon.run) profiler.dump_stats(options.profile) profiler.print_stats() else: daemon.run() # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/config.py0000644000175000017500000002167212117271433020040 0ustar renaterenate00000000000000"""Handling configuration files.""" #Copyright (C) 2010 Sebastian Heinlein # #Licensed under the GNU General Public License Version 2 # #This program is free software; you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation; either version 2 of the License, or #(at your option) any later version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with this program; if not, write to the Free Software #Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. __author__ = "Sebastian Heinlein " __all__ = ("ConfigWriter",) import logging import os import apt_pkg log = logging.getLogger("AptDaemon.ConfigWriter") class Value(object): """Represents a value with position information. .. attribute:: string The value string. .. attribute:: line The line number of the configuration file in which the value is set. .. attribute:: start The position in the line at which the value starts. .. attribute:: end The position in the line at which the value ends. .. attribute:: quotes The outer qoutes of the value: ' or " """ def __init__(self, line, start, quotes): self.string = "" self.start = start self.end = None self.line = line self.quotes = quotes def __cmp__(self, other): return self.string == other def __repr__(self): return "Value: '%s' (line %s: %s to %s)" % (self.string, self.line, self.start, self.end) class ConfigWriter(object): """Modifies apt configuration files.""" def parse(self, lines): """Parse an ISC based apt configuration. :param lines: The list of lines of a configuration file. :returns: Dictionary of key, values found in the parsed configuration. """ options = {} in_comment = False in_value = False prev_char = None option = [] value = None option_name = "" value_list = [] in_brackets = True level = 0 for line_no, line in enumerate(lines): for char_no, char in enumerate(line): if not in_comment and char == "*" and prev_char == "/": in_comment = True prev_char = "" continue elif in_comment and char == "/" and prev_char == "*": # A multiline comment was closed in_comment = False prev_char = "" option_name = option_name[:-1] continue elif in_comment: # We ignore the content of multiline comments pass elif not in_value and char == "/" and prev_char == "/": # In the case of a line comment continue processing # the next line prev_char = "" option_name = option_name[:-1] break elif char in "'\"": if in_value and value.quotes == char: value.end = char_no in_value = not in_value elif not value: value = Value(line_no, char_no, char) in_value = not in_value else: value.string += char elif in_value: value.string += char elif option_name and char == ":" and prev_char == ":": option.append(option_name[:-1]) option_name = "" elif char.isalpha() or char in "/-:._+": option_name += char.lower() elif char == ";": if in_brackets: value_list.append(value) value = None continue if value_list: log.debug("Found %s \"%s\"", "::".join(option), value_list) options["::".join(option)] = value_list value_list = [] elif value: log.debug("Found %s \"%s\"", "::".join(option), value) options["::".join(option)] = value else: log.debug("Skipping empty key %s", "::".join(option)) value = None if level > 0: option.pop() else: option = [] elif char == "}": level -= 1 in_brackets = False elif char == "{": level += 1 if option_name: option.append(option_name) option_name = "" in_brackets = True elif char in "\t\n ": if option_name: option.append(option_name) option_name = "" in_brackets = False else: raise ValueError("Unknown char '%s' in line: '%s'" % (char, line)) prev_char = char return options def set_value(self, option, value, defaultfile): """Change the value of an option in the configuration. :param option: The name of the option, e.g. 'apt::periodic::AutoCleanInterval'. :param value: The value of the option. Will be converted to string. :param defaultfile: The filename of the ``/etc/apt/apt.conf.d`` configuration snippet in which the option should be set. If the value is overriden by a later configuration file snippet it will be disabled in the corresponding configuration file. """ #FIXME: Support value lists # Convert the value to string if value is True: value = "true" elif value is False: value = "false" else: value = str(value) # Check all configuration file snippets etc_parts = os.path.join(apt_pkg.config.find_dir("Dir::Etc"), apt_pkg.config.find_dir("Dir::Etc::Parts")) for filename in os.listdir(etc_parts): if filename < defaultfile: continue with open(os.path.join(etc_parts, filename)) as fd: lines = fd.readlines() config = self.parse(lines) try: val = config[option.lower()] except KeyError: if filename == defaultfile: lines.append("%s '%s';\n" % (option, value)) else: continue else: # Check if the value needs to be changed at all if ((value == "true" and val.string.lower() in ["yes", "with", "on", "enable"]) or (value == "false" and val.string.lower() in ["no", "without", "off", "disable"]) or (str(value) == val.string)): continue if filename == defaultfile: line = lines[val.line] new_line = line[:val.start + 1] new_line += value new_line += line[val.end:] lines[val.line] = new_line else: # Comment out existing values instead in non default # configuration files #FIXME Quite dangerous for brackets lines[val.line] = "// %s" % lines[val.line] with open(os.path.join(etc_parts, filename), "w") as fd: log.debug("Writting %s", filename) fd.writelines(lines) if not os.path.exists(os.path.join(etc_parts, defaultfile)): with open(os.path.join(etc_parts, defaultfile), "w") as fd: log.debug("Writting %s", filename) line = "%s '%s';\n" % (option, value) fd.write(line) def main(): apt_pkg.init_config() cw = ConfigWriter() for filename in sorted(os.listdir("/etc/apt/apt.conf.d/")): lines = open("/etc/apt/apt.conf.d/%s" % filename).readlines() cw.parse(lines) print((cw.set_value("huhu::abc", "lumpi", "10glatzor"))) if __name__ == "__main__": main() # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/client.py0000644000175000017500000022075212117271433020051 0ustar renaterenate00000000000000#!/usr/bin/python """ The module provides a client to the PackageKit DBus interface. It allows to perform basic package manipulation tasks in a cross distribution way, e.g. to search for packages, install packages or codecs. """ # Copyright (C) 2008 Canonical Ltd. # Copyright (C) 2008 Aidan Skinner # Copyright (C) 2008 Martin Pitt # Copyright (C) 2008 Tim Lauridsen # Copyright (C) 2008-2009 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. import locale import os.path import shutil import weakref import sys import dbus import dbus.glib import dbus.mainloop.glib dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) if 'gobject' in sys.modules and sys.modules['gobject'] is not None: import gobject as GObject GLib = GObject _GObject = GObject.GObject else: from gi.repository import GObject, GLib _GObject = GObject.Object from . import enums from . import debconf import defer from defer.utils import deferable from .errors import convert_dbus_exception, TransactionFailed __all__ = ("AptTransaction", "AptClient", "get_transaction", "get_aptdaemon") class AptTransaction(_GObject): """Represents an aptdaemon transaction. .. note:: This class cannot be inherited since it makes use of a metaclass. .. signal:: allow-unauthenticated -> allow The signal is emitted when :attr:`allow_unauthenticated` changed. :param allow: If unauthenticated packages are allowed to be installed. .. signal:: cancellable-changed -> cancellable The signal is emitted when :attr:`cancellable` changed. :param cancellable: If the transaction can be cancelled now. .. signal:: config-file-conflict -> cur, new The signal is emitted when :attr:`config_file_conflict` changed. :param cur: The path to the current configuration file. :param new: The path to the new configuration file. .. signal:: debconf-socket-changed -> path The signal is emitted when :attr:`debconf_socket` changed. :param path: The path to the socket which will be used to forward debconf communication to the user session. .. signal:: dependencies-changed -> installs, re-installs, removals, \ purges, upgrades, downgrades, kepts The signal is emitted when :attr:`dependencies` changed. Most likely after :meth:`simulate()` was called. :param installs: List of package which will be installed. :param reinstalls: List of package which will be re-installed. :param removals: List of package which will be removed, :param purges: List of package which will be removed including configuration files. :param upgrades: List of package which will be upgraded. :param downgrades: List of package which will be downgraded to an older version. :param kepts: List of package which will be skipped from upgrading. .. signal:: download-changed -> download The signal is emitted when :attr:`download` changed. :param download: Download size integer in Bytes. .. signal:: error -> error_code, error_details The signal is emitted when an error occured. :param error_code: The error code enumeration, e.g. :data:`aptdaemon.enums.ERROR_NO_CACHE`. :param error_details: The error description string. .. signal:: finished -> exit_state The signal is emitted when the transaction is completed or has failed. :param exit_state: The exit status enumeration string. .. signal:: http-proxy-changed -> uri The signal is emitted when :attr:`http_proxy` changed. :param uri: The URI of the proxy server, e.g. "http://proxy:8080". .. signal:: locale-changed -> locale The signal is emitted when :attr:`locale` changed. :param locale: The language which should be used for messages, eg. "de_DE". .. signal:: meta-data-changed -> meta_data The signal is emitted when :attr:`meta_data` changed. :param meta_data: The latest meta data dictionary. .. signal:: medium-required -> name, device The signal is emitted when :attr:`required_medium` changed. :param name: The name of the volume. :param device: The path of the device in which the volume should be inserted. .. signal:: remove-obsoleted-depends-changed -> remove The signal is emitted when :attr:`remove_obsoleted_depends` changed. :param remove: If obsolete dependencies should also be removed. .. signal:: role-changed -> role The signal is emitted when :attr:`role` changed. :param role: The new role enum, e.g. :data:`~aptdaemon.enums.ROLE_UPDATE_CACHE`. .. signal:: space-changed -> space The signal is emitted when :attr:`space` changed. Most likely after :meth:`simulate()` was called. :param space: Required disk space integer in Bytes. Can be negative if disk space will be freed. .. signal:: packages-changed -> installs, re-installs, removals, \ purges, upgrades, downgrades The signal is emitted when :attr:`packages` changed. :param installs: List of package which will be installed. :param reinstalls: List of package which will be re-installed. :param removals: List of package which will be removed, :param purges: List of package which will be removed including configuration files. :param upgrades: List of package which will be upgraded. :param downgrades: List of package which will be downgraded to an older version. .. signal:: paused The signal is emitted when the transaction was paused. See :attr:`paused` and :sig:`resumed`. .. signal:: progress-changed -> progress The signal is emitted when :attr:`progress` changed. :param progress: The progress integer. .. signal:: progress-details-changed -> current_items, total_items, \ currenty_bytes, total_bytes, \ current_cps, eta The signal is emitted when detailed information of the progress is available. :param current_items: The number of already processed items. :param total_items: The number of all items. :param current_bytes: The number of already downloaded byte. :param total_bytes: The number of bytes which have to be downloaded totally. :param current_cps: The current download speed in bytes per second. :param eta: The elapsed time in seconds to accomplish the task. .. signal:: progress-download-changed -> uri, short_desc, total_size, \ current_size, msg The signal is emitted when progress information about a single download is available. :param uri: The URI of the file which is downloaded. :param status: The status of the downloade, e.g. :data:`~aptdaemon.enums.DOWNLOAD_AUTH_FAILED`. :param short_desc: A short description of the file. :param total_size: The size of the file in Bytes. :param current_size: How much of the file in Bytes has already be downloaded. :param msg: The status or error description. .. signal:: resumed The signal is emitted when a paused transaction was resumed. See :attr:`paused` and :sig:`paused`. .. signal:: terminal-changed -> path The signal is emitted when :attr:`terminal` changed. :param path: The path to the slave end of the controlling terminal for the underlying dpkg call. .. signal:: terminal-attached-changed -> attached The signal is emitted when :attr:`term_attached` changed. :param attached: If the controlling terminal can be used. .. signal:: unauthenticated-changed -> unauthenticated The signal is emitted when :attr:`unauthenticated` changed. :param unauthenticated: List of unauthenticated packages. .. attribute:: cancellable If the transaction can be currently cancelled. .. attribute:: config_file_conflict If there is a conflict in the configuration file handling during an installation this attribute contains a tuple of the path to the current and the new temporary configuration file. The :meth:`resolve_config_file_conflict()` can be used to resolve the conflict and continue the processing of the transaction. .. attribute:: dependencies List of dependencies lists in the following order: packages to install, to re-install, to remove, to purge, to upgrade, to downgrade and to keep. You have to call :meth:`simulate()` to calculate the dependencies before the transaction will be executed. .. attribute:: download The number of Bytes which have to be downloaed. You have to call :meth:`simulate()` to calculate the download size before the transaction will be executed. .. attribute:: error In the case of a failed transaction this attribute holds the corresponding :exc:`errors.TransactionFailed` instance. .. attribute:: error_code In the case of a failed transaction this attribute is set to the underlying error code, e.g. :data:`enums.ERROR_PACKAGE_DOWNLOAD_FAILED`. .. attribute:: error_details In the case of a failed transaction this attribute contains a detailed error message in the language of the transaction. .. attribute:: exit Contains the exit status enum if the transaction has been completed, e.g. :data:`enums.EXIT_SUCCESS` or :data:`enums.EXIT_FAILED`. .. attribute:: http_proxy The URI to the http proxy server which should be used only for this transaction, e.g. "http://proxy:8080". It is recommended to set the system wide proxy server instead of setting this attribute for every transaction. See :meth:`set_http_proxy()`. .. attribute:: meta_data Dictionary of optional meta data which can be set by client applications. See :meth:`set_meta_data()`. .. attribute:: packages List of package lists which will be explicitly changed in the following order: packages to install, to re-install, to remove, to purge, to upgrade, to downgrade. .. attribute:: paused If the transaction is currently paused, e.g. it is required to insert a medium to install from. .. attribute:: progress An integer ranging from 0 to 101 to describe the progress of the transaction. .. note:: A value of 101 indicates that there cannot be made any assumptions on the progress of the transaction. .. attribute:: remove_obsoleted_depends If dependencies which have been required by a removed package only should be removed, too. .. attribute:: required_medium If a medium should be inserted to continue the fetch phase of a transaction, this attribute contains a tuple of the device path of of the drive which should be used and secondly of the name of the medium. The :func:`provide_medium()` method should be used to notify aptdaemon about an inserted medium and to continue processing the transaction. .. attribute:: role The kind of action which is performed by the transaction, e.g. :data:`enums.ROLE_UPGRADE_SYSTEM`. .. attribute:: space The required disk space in Bytes. Will be negative if space is freed. You have to call :meth:`simulate()` to calculate the download size before the transaction will be executed. .. attribute:: status The enum of the current status, e.g. :data:`enums.STATUS_DOWNLOADING`. .. attribute:: status_details A string describing the current status of the transaction. .. attribute:: tid The unique identifier of the transaction. It is also the D-Bus path of the corresponding transaction object. .. attribute:: term_attached If the the package manager can be controlled using the controlling terminal specified by :func:`set_terminal()`. .. attribute:: unauthenticated List of packages which are going to be installed but are not downloaded from an authenticated repository. You have to call :meth:`simulate()` to calculate the dependencies before the transaction will be executed. """ __gsignals__ = {"finished": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)), "dependencies-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT)), "download-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_INT64,)), "space-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_INT64,)), "error": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING, GObject.TYPE_STRING)), "role-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)), "terminal-attached-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_BOOLEAN,)), "cancellable-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_BOOLEAN,)), "meta-data-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_PYOBJECT,)), "status-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)), "status-details-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)), "progress-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_INT,)), "progress-details-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_INT, GObject.TYPE_INT, GObject.TYPE_INT64, GObject.TYPE_INT64, GObject.TYPE_INT, GObject.TYPE_INT64)), "progress-download-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_INT64, GObject.TYPE_INT64, GObject.TYPE_STRING)), "packages-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT)), "unauthenticated-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_PYOBJECT,)), "paused": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, ()), "resumed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, ()), "allow-unauthenticated-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_BOOLEAN,)), "remove-obsoleted-depends-changed": ( GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_BOOLEAN,)), "locale-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)), "terminal-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)), "debconf-socket-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)), "http-proxy-changed": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)), "medium-required": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING, GObject.TYPE_STRING)), "config-file-conflict": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, (GObject.TYPE_STRING, GObject.TYPE_STRING)), } _tid_cache = weakref.WeakValueDictionary() def __new__(cls, tid, *args, **kwargs): """Cache transactions with identical tid.""" try: return AptTransaction._tid_cache[tid] except KeyError: value = _GObject.__new__(cls, tid, *args, **kwargs) AptTransaction._tid_cache[tid] = value return value def __init__(self, tid, bus=None): GObject.GObject.__init__(self) self.tid = tid self.role = enums.ROLE_UNSET self.error = None self.error_code = None self.error_details = None self.exit = enums.EXIT_UNFINISHED self.cancellable = False self.term_attached = False self.required_medium = None self.config_file_conflict = None self.status = None self.status_details = "" self.progress = 0 self.paused = False self.http_proxy = None self.dependencies = [[], [], [], [], [], [], []] self.packages = [[], [], [], [], []] self.unauthenticated = [] self.meta_data = {} self.remove_obsoleted_depends = False self.download = 0 self.downloads = {} self.space = 0 self.locale = "" self._method = None self._args = [] self._debconf_helper = None # Connect the signal handlers to the DBus iface if not bus: bus = dbus.SystemBus() self._proxy = bus.get_object("org.debian.apt", tid) self._iface = dbus.Interface(self._proxy, "org.debian.apt.transaction") # Watch for a crashed daemon which orphaned the dbus object self._owner_watcher = bus.watch_name_owner("org.debian.apt", self._on_name_owner_changed) # main signals self._signal_matcher = \ self._iface.connect_to_signal("PropertyChanged", self._on_property_changed) def _on_name_owner_changed(self, connection): """Fail the transaction if the daemon died.""" if connection == "" and self.exit == enums.EXIT_UNFINISHED: self._on_property_changed("Error", (enums.ERROR_DAEMON_DIED, "It seems that the daemon " "died.")) self._on_property_changed("Cancellable", False) self._on_property_changed("TerminalAttached", False) self._on_property_changed("ExitState", enums.EXIT_FAILED) def _on_property_changed(self, property_name, value): """Callback for the PropertyChanged signal.""" if property_name == "TerminalAttached": self.term_attached = value self.emit("terminal-attached-changed", value) elif property_name == "Cancellable": self.cancellable = value self.emit("cancellable-changed", value) elif property_name == "DebconfSocket": self.emit("debconf-socket-changed", value) elif property_name == "RemoveObsoletedDepends": self.emit("remove-obsoleted-depends-changed", value) self.remove_obsoleted_depends = value elif property_name == "AllowUnauthenticated": self.emit("allow-unauthenticated-changed", value) elif property_name == "Terminal": self.emit("terminal-changed", value) elif property_name == "Dependencies": self.dependencies = value self.emit("dependencies-changed", *value) elif property_name == "Packages": self.packages = value self.emit("packages-changed", *value) elif property_name == "Unauthenticated": self.unauthenticated = value self.emit("unauthenticated-changed", value) elif property_name == "Locale": self.locale = value self.emit("locale-changed", value) elif property_name == "Role": self.role = value self.emit("role-changed", value) elif property_name == "Status": self.status = value self.emit("status-changed", value) elif property_name == "StatusDetails": self.status_details = value self.emit("status-details-changed", value) elif property_name == "ProgressDownload": uri, status, desc, size, download, msg = value if uri: self.downloads[uri] = (status, desc, size, download, msg) self.emit("progress-download-changed", *value) elif property_name == "Progress": self.progress = value self.emit("progress-changed", value) elif property_name == "ConfigFileConflict": self.config_file_conflict = value if value != ("", ""): self.emit("config-file-conflict", *value) elif property_name == "MetaData": self.meta_data = value self.emit("meta-data-changed", value) elif property_name == "Paused": self.paused = value if value: self.emit("paused") else: self.emit("resumed") elif property_name == "RequiredMedium": self.required_medium = value if value != ("", ""): self.emit("medium-required", *value) elif property_name == "ProgressDetails": self.emit("progress-details-changed", *value) elif property_name == "Download": self.download = value self.emit("download-changed", value) elif property_name == "Space": self.space = value self.emit("space-changed", value) elif property_name == "HttpProxy": self.http_proxy = value self.emit("http-proxy-changed", value) elif property_name == "Error": self.error_code, self.error_details = value if self.error_code != "": self.error = TransactionFailed(self.error_code, self.error_details) self.emit("error", *value) elif property_name == "ExitState": if value != enums.EXIT_UNFINISHED and value != self.exit: self.exit = value if self._debconf_helper: self._debconf_helper.stop() self._disconnect_from_dbus() # Finally sync all properties a last time. We cannot ensure # that the ExitState signal is the last one, so some # other PropertyChanged signals could be lost, see LP#747172 self.sync(reply_handler=self._on_final_sync_done, error_handler=self._on_final_sync_done) def _on_final_sync_done(self, data): self._owner_watcher.cancel() self.emit("finished", self.exit) @deferable @convert_dbus_exception def sync(self, reply_handler=None, error_handler=None): """Sync the properties of the transaction with the daemon. This method is called automatically on the creation of the AptTransaction instance. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException """ def sync_properties(prop_dict): for property_name, value in prop_dict.items(): self._on_property_changed(property_name, value) if reply_handler: reply_handler(self) if reply_handler and error_handler: self._proxy.GetAll("org.debian.apt.transaction", dbus_interface=dbus.PROPERTIES_IFACE, reply_handler=sync_properties, error_handler=error_handler) else: properties = self._proxy.GetAll("org.debian.apt.transaction", dbus_interface= dbus.PROPERTIES_IFACE) sync_properties(properties) @deferable @convert_dbus_exception def run_after(self, transaction, reply_handler=None, error_handler=None): """Chain this transaction after the given one. The transaction will fail if the previous one fails. To start processing of the chain you have to call :meth:`run()` of the first transaction. The others will be queued after it automatically. :param transaction: An AptTransaction on which this one depends. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException """ try: return self._iface.RunAfter(transaction.tid, error_handler=error_handler, reply_handler=reply_handler) except Exception as error: if error_handler: error_handler(error) else: raise @deferable @convert_dbus_exception def run(self, reply_handler=None, error_handler=None): """Queue the transaction for processing. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.TransactionFailed, dbus.DBusException """ try: return self._iface.Run(error_handler=error_handler, reply_handler=reply_handler) except Exception as error: if error_handler: error_handler(error) else: raise @deferable @convert_dbus_exception def simulate(self, reply_handler=None, error_handler=None): """Simulate the transaction to calculate the dependencies, the required download size and the required disk space. The corresponding properties of the AptTransaction will be updated. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.TransactionFailed, dbus.DBusException """ self._iface.Simulate(reply_handler=reply_handler, error_handler=error_handler) @deferable @convert_dbus_exception def cancel(self, reply_handler=None, error_handler=None): """Cancel the running transaction. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.NotAuthorizedError, dbus.DBusException """ self._iface.Cancel(reply_handler=reply_handler, error_handler=error_handler) @deferable @convert_dbus_exception def set_http_proxy(self, proxy, reply_handler=None, error_handler=None): """Use the given http proxy for downloading packages in this transaction. :param proxy: The URL of the proxy server, e.g. "http://proxy:8080" :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.NotAuthorizedError, dbus.DBusException aptdaemon.errors.ForeignTransaction, """ if reply_handler: _reply_handler = lambda: reply_handler(self) else: _reply_handler = None self._proxy.Set("org.debian.apt.transaction", "HttpProxy", proxy, dbus_interface=dbus.PROPERTIES_IFACE, reply_handler=_reply_handler, error_handler=error_handler) @deferable @convert_dbus_exception def set_remove_obsoleted_depends(self, remove_obsoleted_depends, reply_handler=None, error_handler=None): """Include no longer required dependencies which have been installed automatically when removing packages. :param remove_obsoleted_depends: If obsolete dependencies should be also removed. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.ForeignTransaction, dbus.DBusException """ if reply_handler: _reply_handler = lambda: reply_handler(self) else: _reply_handler = None self._proxy.Set("org.debian.apt.transaction", "RemoveObsoletedDepends", remove_obsoleted_depends, dbus_interface=dbus.PROPERTIES_IFACE, reply_handler=_reply_handler, error_handler=error_handler) @deferable @convert_dbus_exception def set_allow_unauthenticated(self, allow_unauthenticated, reply_handler=None, error_handler=None): """Allow to install unauthenticated packages. Unauthenticated packages are from the repository of a vendor whose key hasn't been installed. By default this is not allowed. :param allow_unauthenticated: If unauthenticated packages can be installed. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.ForeignTransaction, dbus.DBusException """ if reply_handler: _reply_handler = lambda: reply_handler(self) else: _reply_handler = None self._proxy.Set("org.debian.apt.transaction", "AllowUnauthenticated", allow_unauthenticated, dbus_interface=dbus.PROPERTIES_IFACE, reply_handler=_reply_handler, error_handler=error_handler) @deferable @convert_dbus_exception def set_debconf_frontend(self, frontend, reply_handler=None, error_handler=None): """Setup a debconf frontend to answer questions of the maintainer scripts. Debian allows packages to interact with the user during installation, configuration and removal phase via debconf. Aptdaemon forwards the communication to a debconf instance running as the user of the client application. :param frontend: The name of the debconf frontend which should be launched, e.g. gnome or kde. Defaults to gnome. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.ForeignTransaction, dbus.DBusException """ if reply_handler: _reply_handler = lambda: reply_handler(self) else: _reply_handler = None self._debconf_helper = debconf.DebconfProxy(frontend) self._proxy.Set("org.debian.apt.transaction", "DebconfSocket", self._debconf_helper.socket_path, dbus_interface=dbus.PROPERTIES_IFACE, reply_handler=_reply_handler, error_handler=error_handler) self._debconf_helper.start() @deferable @convert_dbus_exception def set_meta_data(self, **kwargs): """Store additional meta information of the transaction in the MetaData property of the transaction. The method accepts key=value pairs. The key has to be prefixed with an underscore separated identifier of the client application. In the following example Software-Center sets an application name and icon: >>> Transaction.set_meta_data(sc_icon="shiny", sc_app="xterm") :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.ForeignTransaction, dbus.DBusException """ reply_handler = kwargs.pop("reply_handler", None) error_handler = kwargs.pop("error_handler", None) if reply_handler: _reply_handler = lambda: reply_handler(self) else: _reply_handler = None meta_data = dbus.Dictionary(kwargs, signature="sv") self._proxy.Set("org.debian.apt.transaction", "MetaData", meta_data, dbus_interface=dbus.PROPERTIES_IFACE, reply_handler=_reply_handler, error_handler=error_handler) @deferable @convert_dbus_exception def set_terminal(self, ttyname, reply_handler=None, error_handler=None): """Allow to set a controlling terminal for the underlying dpkg call. See the source code of gtkwidgets.AptTerminal or console.ConsoleClient as example. >>> master, slave = pty.openpty() >>> transaction.set_terminal(os.ttyname(slave)) :param terminal: The slave end of a tty. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.ForeignTransaction, dbus.DBusException """ if reply_handler: _reply_handler = lambda: reply_handler(self) else: _reply_handler = None self._proxy.Set("org.debian.apt.transaction", "Terminal", ttyname, dbus_interface=dbus.PROPERTIES_IFACE, reply_handler=_reply_handler, error_handler=error_handler) def _disconnect_from_dbus(self): """Stop monitoring the progress of the transaction.""" if hasattr(self, "_signal_matcher"): self._signal_matcher.remove() del self._signal_matcher @deferable @convert_dbus_exception def set_locale(self, locale_name, reply_handler=None, error_handler=None): """Set the language for status and error messages. :param locale: The locale name, e.g. de_DE@UTF-8. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.ForeignTransaction, dbus.DBusException """ if reply_handler: _reply_handler = lambda: reply_handler(self) else: _reply_handler = None self._proxy.Set("org.debian.apt.transaction", "Locale", locale_name, dbus_interface=dbus.PROPERTIES_IFACE, reply_handler=_reply_handler, error_handler=error_handler) @deferable @convert_dbus_exception def provide_medium(self, medium, reply_handler=None, error_handler=None): """Continue a paused transaction which waits for a medium to install from. :param medium: The name of the provided medium. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.ForeignTransaction, dbus.DBusException """ self._iface.ProvideMedium(medium, reply_handler=reply_handler, error_handler=error_handler) @deferable @convert_dbus_exception def resolve_config_file_conflict(self, config, answer, reply_handler=None, error_handler=None): """Continue a paused transaction which waits for the resolution of a configuration file conflict. :param config: The path to the current version of the configuration file. :param answer: Can be either "keep" or "replace". :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: aptdaemon.errors.ForeignTransaction, dbus.DBusException """ self._iface.ResolveConfigFileConflict(config, answer, reply_handler=reply_handler, error_handler=error_handler) class AptClient(object): """Provides a complete client for aptdaemon.""" def __init__(self, bus=None): """Return a new AptClient instance.""" if bus: self.bus = bus else: self.bus = dbus.SystemBus() # Catch an invalid locale try: self._locale = "%s.%s" % locale.getdefaultlocale() except ValueError: self._locale = None self.terminal = None @convert_dbus_exception def get_trusted_vendor_keys(self, reply_handler=None, error_handler=None): """Get the list of the installed vendor keys which are used to authenticate packages. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: Fingerprints of all installed vendor keys. """ daemon = get_aptdaemon(self.bus) keys = daemon.GetTrustedVendorKeys(reply_handler=reply_handler, error_handler=error_handler) return keys @deferable @convert_dbus_exception def upgrade_system(self, safe_mode=True, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to apply all avaibale upgrades. :param safe_mode: If True only already installed packages will be updated. Updates which require to remove installed packages or to install additional packages will be skipped. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("UpgradeSystem", [safe_mode], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def install_packages(self, package_names, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to install the given packages from the reporitories. The version number and target release of the packages can be specified using the traditional apt-get syntax, e.g. "xterm=281.1" to force installing the version 281.1 of xterm or "xterm/experimental" to force installing xterm from the experimental release. :param package_names: List of names of the packages which should be installed. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("InstallPackages", [package_names], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def add_repository(self, src_type, uri, dist, comps=None, comment="", sourcesfile="", wait=False, reply_handler=None, error_handler=None): """Create a new transaction to enable a repository. :param src_type: The type of the repository (deb, deb-src). :param uri: The main repository URI (e.g. http://archive.ubuntu.com/ubuntu) :param dist: The distribution to use (e.g. stable or lenny-backports). :param comps: List of components (e.g. main, restricted). :param comment: A comment which should be added to the sources.list. :param sourcesfile: (Optoinal) filename in sources.list.d. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ # dbus can not deal with empty lists and will error if not comps: comps = [""] return self._run_transaction("AddRepository", [src_type, uri, dist, comps, comment, sourcesfile], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def add_vendor_key_from_keyserver(self, keyid, keyserver, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to download and install the key of a software vendor. The key is used to authenticate packages of the vendor. :param keyid: The id of the GnuPG key (e.g. 0x0EB12F05) :param keyserver: The server to get the key from (e.g. keyserver.ubuntu.com) :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("AddVendorKeyFromKeyserver", [keyid, keyserver], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def add_vendor_key_from_file(self, path, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to install the key file of a software vendor. The key is used to authenticate packages of the vendor. :param path: The absolute path to the key file. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("AddVendorKeyFromFile", [path], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def remove_vendor_key(self, fingerprint, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to remove the key of a software vendor from the list of trusted ones. The key is used to authenticate the origin of packages. :param fingerprint: The fingerprint of the key. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("RemoveVendorKey", [fingerprint], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def install_file(self, path, force=False, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to install a local package file. :param path: The absolute path to the .deb-file. :param force: Force the installation of a .deb-file even if it violates the quality standard defined in the packaging policy. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ # Root is not allowed to access FUSE file systems. So copy files # to the local system. #FIXME: the locally cached one should be removed afterwards home = os.getenv("HOME", None) if home and path.startswith(os.path.join(home, ".gvfs")): shutil.copy(path, "/tmp") path = os.path.join("/tmp", os.path.basename(path)) return self._run_transaction("InstallFile", [path, force], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def upgrade_packages(self, package_names, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to upgrade installed packages. The version number and target release of the packages can be specified using the traditional apt-get syntax, e.g. "xterm=281.1" to force installing the version 281.1 of xterm or "xterm/experimental" to force installing xterm from the experimental release. :param package_names: The list of package which should be upgraded. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("UpgradePackages", [package_names], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def remove_packages(self, package_names, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to remove installed packages. :param package_names: The list of packages which should be removed. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("RemovePackages", [package_names], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def commit_packages(self, install, reinstall, remove, purge, upgrade, downgrade, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to perform a complex package management task which allows to install, remove, upgrade or downgrade several packages at the same time. The version number and target release of the packages can be specified using the traditional apt-get syntax, e.g. "xterm=281.1" to force installing the version 281.1 of xterm or "xterm/experimental" to force installing xterm from the experimental release. :param install: List of packages to install. :param reinstall: List of packages to re-install. :param remove: List of packages to remove. :param purge: List of packages to purge. :param upgrade: List of packages to upgrade. :param downgrade: List of packages to downgrade. The version of the package has to be appended to the name separated by a "=", e.g. "xterm=272-1". :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ def check_empty_list(lst): if not lst: return [""] else: return lst pkgs = [check_empty_list(lst) for lst in [install, reinstall, remove, purge, upgrade, downgrade]] return self._run_transaction("CommitPackages", pkgs, wait, reply_handler, error_handler) @deferable @convert_dbus_exception def fix_broken_depends(self, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to fix unsatisfied dependencies of already installed packages. Corresponds to the ``apt-get -f install`` call. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("FixBrokenDepends", [], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def reconfigure(self, packages, priority="default", wait=False, reply_handler=None, error_handler=None): """Create a new transaction to reconfigure already installed packages. Corresponds to the ``dpkg-reconfigure`` call. :param packages: List of package names which should be reconfigured. :param priority: The minimum priority of question that will be displayed. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("Reconfigure", [packages, priority], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def fix_incomplete_install(self, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to complete a previous interrupted installation. Corresponds to the ``dpkg --confgiure -a`` call. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("FixIncompleteInstall", [], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def update_cache(self, sources_list=None, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to update the package cache. The repositories will be queried for installable packages. :param sources_list: Path to a sources.list which contains repositories that should be updated only. The other repositories will be ignored in this case. Can be either the file name of a snippet in /etc/apt/sources.list.d or an absolute path. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ if sources_list: return self._run_transaction("UpdateCachePartially", [sources_list], wait, reply_handler, error_handler) else: return self._run_transaction("UpdateCache", [], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def enable_distro_component(self, component, wait=False, reply_handler=None, error_handler=None): """Create a new transaction to enable the component of the distribution repository. :param component: The name of the component, e.g. main or universe. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("EnableDistroComponent", [component], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def clean(self, wait=False, reply_handler=None, error_handler=None): """Remove all downloaded files. :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("Clean", [], wait, reply_handler, error_handler) @deferable @convert_dbus_exception def add_license_key(self, pkg_name, json_token, server_name, wait=False, reply_handler=None, error_handler=None): """Install a license key to use a piece of proprietary software. :param pkg_name: The package which requires the license :param json_token: The oauth token in json format :param server_name: The server name (ubuntu-procduction, ubuntu-staging) :param wait: if True run the transaction immediately and return its exit state instead of the transaction itself. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ return self._run_transaction("AddLicenseKey", [pkg_name, json_token, server_name], wait, reply_handler, error_handler) def _run_transaction(self, method_name, args, wait, reply_handler, error_handler): async = reply_handler and error_handler try: deferred = self._run_transaction_helper(method_name, args, wait, async) except Exception as error: if async: error_handler(error) return else: raise if async: def on_error(error): """Convert the DeferredException to a normal exception.""" try: error.raise_exception() except Exception as error: error_handler(error) deferred.add_callbacks(reply_handler) deferred.add_errback(on_error) return deferred else: # Iterate on the main loop - we cannot use a sub loop here, # since the D-Bus python bindings only work on the main loop context = GLib.main_context_default() while not hasattr(deferred, "result"): context.iteration(True) # If there has been an error in the helper raise it if isinstance(deferred.result, defer.DeferredException): deferred.result.raise_exception() trans = deferred.result if trans.error: raise trans.error if wait: # Wait until the transaction is complete and the properties # of the transaction have been updated while trans.exit == enums.EXIT_UNFINISHED: context.iteration(True) return trans.exit else: return trans @defer.inline_callbacks def _run_transaction_helper(self, method_name, args, wait, async): daemon = get_aptdaemon(self.bus) dbus_method = daemon.get_dbus_method(method_name) if async: deferred = defer.Deferred() dbus_method(reply_handler=deferred.callback, error_handler=deferred.errback, *args, timeout=86400) tid = yield deferred else: tid = dbus_method(*args, timeout=86400) trans = AptTransaction(tid, self.bus) if self._locale: yield trans.set_locale(self._locale) if self.terminal: yield trans.set_terminal(self.terminal) yield trans.sync() if wait and async: deferred_wait = defer.Deferred() sig = trans.connect("finished", lambda trans, exit: (exit != enums.EXIT_UNFINISHED and deferred_wait.callback(exit))) yield trans.run() yield deferred_wait GLib.source_remove(sig) defer.return_value(trans.exit) elif wait: yield trans.run() defer.return_value(trans) @deferable @convert_dbus_exception def get_transaction(tid, bus=None, reply_handler=None, error_handler=None): """Get an existing transaction by its identifier. :param tid: The identifer and D-Bus path of the transaction e.g. /org/debian/apt/transaction/78904e5f9fa34098879e768032789109 :param bus: Optionally the D-Bus on which aptdaemon listens. Defaults to the system bus. :param reply_handler: Callback function. If specified in combination with error_handler the method will be called asynchrounsouly. :param error_handler: Errback function. In case of an error the given callback gets the corresponding exception instance. :param defer: Run the method asynchrounsly and return a defer.Deferred. This options is only available as a keyword. :raises: dbus.DBusException :returns: An AptTransaction instance. """ if not bus: bus = dbus.SystemBus() trans = AptTransaction(tid, bus) if error_handler and reply_handler: trans.sync(reply_handler=reply_handler, error_handler=error_handler) else: trans.sync() return trans def get_aptdaemon(bus=None): """Get the daemon D-Bus interface. :param bus: Optionally the D-Bus on which aptdaemon listens. Defaults to the system bus. :raises: dbus.DBusException :returns: An dbus.Interface instance. """ if not bus: bus = dbus.SystemBus() return dbus.Interface(bus.get_object("org.debian.apt", "/org/debian/apt", False), "org.debian.apt") # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/worker.py0000644000175000017500000022113012201760213020064 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Provides AptWorker which processes transactions.""" # Copyright (C) 2008-2009 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __all__ = ("AptWorker", "DummyWorker") import contextlib import errno import glob import logging import netrc import os import re import shutil import stat import sys import tempfile import time import traceback try: from urllib.parse import urlsplit, urlunsplit except ImportError: from urlparse import urlsplit, urlunsplit try: from configparser import ConfigParser except ImportError: from ConfigParser import ConfigParser import apt import apt.auth import apt.cache import apt.debfile import apt_pkg import aptsources import aptsources.distro from aptsources.sourceslist import SourcesList from gi.repository import GObject, GLib import pkg_resources from .enums import * from .errors import * from . import lock from .progress import ( DaemonOpenProgress, DaemonInstallProgress, DaemonAcquireProgress, DaemonAcquireRepoProgress, DaemonDpkgInstallProgress, DaemonDpkgReconfigureProgress, DaemonDpkgRecoverProgress, DaemonLintianProgress, DaemonForkProgress) log = logging.getLogger("AptDaemon.Worker") # Just required to detect translatable strings. The translation is done by # core.Transaction.gettext _ = lambda s: s def trans_only_installs_pkgs_from_high_trust_repos(trans, whitelist=set()): """Return True if this transaction only touches packages in the aptdaemon repoisotry high trust repository whitelist """ # the transaction *must* be simulated before if not trans.simulated: return False # we never allow unauthenticated ones if trans.unauthenticated: return False # paranoia: wrong role if not trans.role in (ROLE_INSTALL_PACKAGES, ROLE_COMMIT_PACKAGES): return False # if there is anything touched that is not a install bail out for enum in (PKGS_REINSTALL, PKGS_REMOVE, PKGS_PURGE, PKGS_DOWNGRADE, PKGS_UPGRADE): if trans.packages[enum]: return False # paranoia(2): we must want to install something if not trans.packages[PKGS_INSTALL]: return False # if the install packages matches the whitelisted set we are good return set(trans.packages[PKGS_INSTALL]) == set(trans.high_trust_packages) def read_high_trust_repository_dir(whitelist_cfg_d): """Return a set of (origin, component, pkgname-regexp) from a high-trust-repository-whitelist.d directory """ whitelist = set() for path in glob.glob(os.path.join(whitelist_cfg_d, "*.cfg")): whitelist |= _read_high_trust_repository_whitelist_file(path) return whitelist def _read_high_trust_repository_whitelist_file(path): """Read a individual high-trust-repository whitelist file and return a set of tuples (origin, component, pkgname-regexp) """ parser = ConfigParser() whitelist = set() try: parser.read(path) except Exception as e: log.error("Failed to read repository whitelist '%s' (%s)" % (path, e)) return whitelist for section in parser.sections(): origin = parser.get(section, "origin") component = parser.get(section, "component") pkgnames = parser.get(section, "pkgnames") whitelist.add((origin, component, pkgnames)) return whitelist class AptWorker(GObject.GObject): """Worker which processes transactions from the queue.""" __gsignals__ = {"transaction-done": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_PYOBJECT,)), "transaction-simulated": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_PYOBJECT,))} # the basedir under which license keys can be stored LICENSE_KEY_ROOTDIR = "/opt/" def __init__(self, chroot=None, load_plugins=True): """Initialize a new AptWorker instance.""" GObject.GObject.__init__(self) self.trans = None self.last_action_timestamp = time.time() self._cache = None # Store the the tid of the transaction whose changes are currently # marked in the cache self.marked_tid = None # Change to a given chroot if chroot: apt_conf_file = os.path.join(chroot, "etc/apt/apt.conf") if os.path.exists(apt_conf_file): apt_pkg.read_config_file(apt_pkg.config, apt_conf_file) apt_conf_dir = os.path.join(chroot, "etc/apt/apt.conf.d") if os.path.isdir(apt_conf_dir): apt_pkg.read_config_dir(apt_pkg.config, apt_conf_dir) apt_pkg.config["Dir"] = chroot apt_pkg.config["Dir::State::Status"] = os.path.join( chroot, "var/lib/dpkg/status") apt_pkg.config.clear("DPkg::Post-Invoke") apt_pkg.config.clear("DPkg::Options") apt_pkg.config["DPkg::Options::"] = "--root=%s" % chroot apt_pkg.config["DPkg::Options::"] = ("--log=%s/var/log/dpkg.log" % chroot) status_file = apt_pkg.config.find_file("Dir::State::status") lock.status_lock.path = os.path.join(os.path.dirname(status_file), "lock") archives_dir = apt_pkg.config.find_dir("Dir::Cache::Archives") lock.archive_lock.path = os.path.join(archives_dir, "lock") lists_dir = apt_pkg.config.find_dir("Dir::State::lists") lock.lists_lock.path = os.path.join(lists_dir, "lock") apt_pkg.init_system() # a set of tuples of the type (origin, component, pkgname-regexp) # that on install will trigger a different kind of polkit # authentication request (see LP: #1035207), useful for e.g. # webapps/company repos self._high_trust_repositories = read_high_trust_repository_dir( os.path.join(apt_pkg.config.find_dir("Dir"), "etc/aptdaemon/high-trust-repository-whitelist.d")) log.debug( "using high-trust whitelist: '%s'" % self._high_trust_repositories) self._status_orig = apt_pkg.config.find_file("Dir::State::status") self._status_frozen = None self.plugins = {} if load_plugins: self._load_plugins() def _load_plugins(self): """Load the plugins from setuptools' entry points.""" plugin_dirs = [os.path.join(os.path.dirname(__file__), "plugins")] env = pkg_resources.Environment(plugin_dirs) dists, errors = pkg_resources.working_set.find_plugins(env) for dist in dists: pkg_resources.working_set.add(dist) for name in ["modify_cache_after", "modify_cache_before", "get_license_key"]: for ept in pkg_resources.iter_entry_points("aptdaemon.plugins", name): try: self.plugins.setdefault(name, []).append(ept.load()) except: log.critical("Failed to load %s plugin: " "%s" % (name, ept.dist)) else: log.debug("Loaded %s plugin: %s", name, ept.dist) def _call_plugins(self, name, resolver=None): """Call all plugins of a given type.""" if not resolver: # If the resolver of the original task isn't available we create # a new one and protect the already marked changes resolver = apt.cache.ProblemResolver(self._cache) for pkg in self._cache.get_changes(): resolver.clear(pkg) resolver.protect(pkg) if pkg.marked_delete: resolver.remove(pkg) if not name in self.plugins: log.debug("There isn't any registered %s plugin" % name) return False for plugin in self.plugins[name]: log.debug("Calling %s plugin: %s", name, plugin) try: plugin(resolver, self._cache) except Exception as error: log.critical("Failed to call %s plugin:\n%s" % (plugin, error)) return True def run(self, transaction): """Process the given transaction in the background. Keyword argument: transaction -- core.Transcation instance to run """ log.info("Processing transaction %s", transaction.tid) if self.trans: raise Exception("There is already a running transaction") self.trans = transaction GLib.idle_add(self._process_transaction, transaction) def _emit_transaction_simulated(self, trans): """Emit the transaction-simulated signal. Keyword argument: trans -- the simulated transaction """ log.debug("Emitting transaction-simulated: %s", trans.tid) self.emit("transaction-simulated", trans) def _emit_transaction_done(self, trans): """Emit the transaction-done signal. Keyword argument: trans -- the finished transaction """ log.debug("Emitting transaction-done: %s", trans.tid) self.emit("transaction-done", trans) def _process_transaction(self, trans): """Run the worker""" self.last_action_timestamp = time.time() trans.status = STATUS_RUNNING trans.progress = 11 try: lock.wait_for_lock(trans) # Prepare the package cache if (trans.role == ROLE_FIX_INCOMPLETE_INSTALL or not self.is_dpkg_journal_clean()): self.fix_incomplete_install(trans) # Process transaction which don't require a cache if trans.role == ROLE_ADD_VENDOR_KEY_FILE: self.add_vendor_key_from_file(trans, **trans.kwargs) elif trans.role == ROLE_ADD_VENDOR_KEY_FROM_KEYSERVER: self.add_vendor_key_from_keyserver(trans, **trans.kwargs) elif trans.role == ROLE_REMOVE_VENDOR_KEY: self.remove_vendor_key(trans, **trans.kwargs) elif trans.role == ROLE_ADD_REPOSITORY: self.add_repository(trans, **trans.kwargs) elif trans.role == ROLE_ENABLE_DISTRO_COMP: self.enable_distro_comp(trans, **trans.kwargs) elif trans.role == ROLE_RECONFIGURE: self.reconfigure(trans, trans.packages[PKGS_REINSTALL], **trans.kwargs) elif trans.role == ROLE_CLEAN: self.clean(trans) # Check if the transaction has been just simulated. So we could # skip marking the changes a second time. elif (trans.role in (ROLE_REMOVE_PACKAGES, ROLE_INSTALL_PACKAGES, ROLE_UPGRADE_PACKAGES, ROLE_COMMIT_PACKAGES, ROLE_UPGRADE_SYSTEM, ROLE_FIX_BROKEN_DEPENDS) and self.marked_tid == trans.tid): self._apply_changes(trans) trans.exit = EXIT_SUCCESS return False else: self._open_cache(trans) # Process transaction which can handle a broken dep cache if trans.role == ROLE_FIX_BROKEN_DEPENDS: self.fix_broken_depends(trans) elif trans.role == ROLE_UPDATE_CACHE: self.update_cache(trans, **trans.kwargs) # Process the transactions which require a consistent cache elif trans.role == ROLE_ADD_LICENSE_KEY: self.add_license_key(trans, **trans.kwargs) elif self._cache and self._cache.broken_count: raise TransactionFailed(ERROR_CACHE_BROKEN, self._get_broken_details(trans)) if trans.role == ROLE_PK_QUERY: self.query(trans) elif trans.role == ROLE_INSTALL_FILE: self.install_file(trans, **trans.kwargs) elif trans.role in [ROLE_REMOVE_PACKAGES, ROLE_INSTALL_PACKAGES, ROLE_UPGRADE_PACKAGES, ROLE_COMMIT_PACKAGES]: self.commit_packages(trans, *trans.packages) elif trans.role == ROLE_UPGRADE_SYSTEM: self.upgrade_system(trans, **trans.kwargs) except TransactionCancelled: trans.exit = EXIT_CANCELLED except TransactionFailed as excep: trans.error = excep trans.exit = EXIT_FAILED except (KeyboardInterrupt, SystemExit): trans.exit = EXIT_CANCELLED except Exception as excep: tbk = traceback.format_exc() trans.error = TransactionFailed(ERROR_UNKNOWN, tbk) trans.exit = EXIT_FAILED try: from . import crash except ImportError: pass else: crash.create_report("%s: %s" % (type(excep), str(excep)), tbk, trans) else: trans.exit = EXIT_SUCCESS finally: trans.progress = 100 self.last_action_timestamp = time.time() tid = trans.tid[:] self.trans = None self.marked_tid = None self._emit_transaction_done(trans) lock.release() log.info("Finished transaction %s", tid) return False def commit_packages(self, trans, install, reinstall, remove, purge, upgrade, downgrade, simulate=False): """Perform a complex package operation. Keyword arguments: trans - the transaction install - list of package names to install reinstall - list of package names to reinstall remove - list of package names to remove purge - list of package names to purge including configuration files upgrade - list of package names to upgrade downgrade - list of package names to upgrade simulate -- if True the changes won't be applied """ log.info("Committing packages: %s, %s, %s, %s, %s, %s", install, reinstall, remove, purge, upgrade, downgrade) with self._cache.actiongroup(): resolver = apt.cache.ProblemResolver(self._cache) self._mark_packages_for_installation(install, resolver) self._mark_packages_for_installation(reinstall, resolver, reinstall=True) self._mark_packages_for_removal(remove, resolver) self._mark_packages_for_removal(purge, resolver, purge=True) self._mark_packages_for_upgrade(upgrade, resolver) self._mark_packages_for_downgrade(downgrade, resolver) self._resolve_depends(trans, resolver) self._check_obsoleted_dependencies(trans, resolver) if not simulate: self._apply_changes(trans) def _resolve_depends(self, trans, resolver): """Resolve the dependencies using the given ProblemResolver.""" self._call_plugins("modify_cache_before", resolver) resolver.install_protect() try: resolver.resolve() except SystemError: raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED, self._get_broken_details(trans, now=False)) if self._call_plugins("modify_cache_after", resolver): try: resolver.resolve() except SystemError: details = self._get_broken_details(trans, now=False) raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED, details) @staticmethod def _split_package_id(package): """Return the name, the version number and the release of the specified package.""" if "=" in package: name, version = package.split("=", 1) release = None elif "/" in package: name, release = package.split("/", 1) version = None else: name = package version = release = None return name, version, release def _get_high_trust_packages(self): """ Return a list of packages that come from a high-trust repo """ def _in_high_trust_repository(pkgname, pkgorigin): for origin, component, regexp in self._high_trust_repositories: if (origin == pkgorigin.origin and component == pkgorigin.component and re.match(regexp, pkgname)): return True return False # loop from_high_trust_repo = [] for pkg in self._cache.get_changes(): if pkg.marked_install: for origin in pkg.candidate.origins: if _in_high_trust_repository(pkg.name, origin): from_high_trust_repo.append(pkg.name) break return from_high_trust_repo def _get_unauthenticated(self): """Return a list of unauthenticated package names """ unauthenticated = [] for pkg in self._cache.get_changes(): if (pkg.marked_install or pkg.marked_downgrade or pkg.marked_upgrade or pkg.marked_reinstall): trusted = False for origin in pkg.candidate.origins: trusted |= origin.trusted if not trusted: unauthenticated.append(pkg.name) return unauthenticated def _mark_packages_for_installation(self, packages, resolver, reinstall=False): """Mark packages for installation.""" for pkg_name, pkg_ver, pkg_rel in [self._split_package_id(pkg) for pkg in packages]: try: pkg = self._cache[pkg_name] except KeyError: raise TransactionFailed(ERROR_NO_PACKAGE, _("Package %s isn't available"), pkg_name) if reinstall: if not pkg.is_installed: raise TransactionFailed(ERROR_PACKAGE_NOT_INSTALLED, _("Package %s isn't installed"), pkg.name) if pkg_ver and pkg.installed.version != pkg_ver: raise TransactionFailed(ERROR_PACKAGE_NOT_INSTALLED, _("The version %s of %s isn't " "installed"), pkg_ver, pkg_name) else: # Fail if the user requests to install the same version # of an already installed package. if (pkg.is_installed and # Compare version numbers pkg_ver and pkg_ver == pkg.installed.version and # Optionally compare the origin if specified (not pkg_rel or pkg_rel in [origin.archive for origin in pkg.installed.origins])): raise TransactionFailed( ERROR_PACKAGE_ALREADY_INSTALLED, _("Package %s is already installed"), pkg_name) pkg.mark_install(False, True, True) resolver.clear(pkg) resolver.protect(pkg) if pkg_ver: try: pkg.candidate = pkg.versions[pkg_ver] except KeyError: raise TransactionFailed(ERROR_NO_PACKAGE, _("The version %s of %s isn't " "available."), pkg_ver, pkg_name) elif pkg_rel: self._set_candidate_release(pkg, pkg_rel) def enable_distro_comp(self, trans, component): """Enable given component in the sources list. Keyword arguments: trans -- the corresponding transaction component -- a component, e.g. main or universe """ trans.progress = 101 trans.status = STATUS_COMMITTING old_umask = os.umask(0o022) try: sourceslist = SourcesList() distro = aptsources.distro.get_distro() distro.get_sources(sourceslist) distro.enable_component(component) sourceslist.save() finally: os.umask(old_umask) def add_repository(self, trans, src_type, uri, dist, comps, comment, sourcesfile): """Add given repository to the sources list. Keyword arguments: trans -- the corresponding transaction src_type -- the type of the entry (deb, deb-src) uri -- the main repository uri (e.g. http://archive.ubuntu.com/ubuntu) dist -- the distribution to use (e.g. karmic, "/") comps -- a (possible empty) list of components (main, restricted) comment -- an (optional) comment sourcesfile -- an (optinal) filename in sources.list.d """ trans.progress = 101 trans.status = STATUS_COMMITTING if sourcesfile: if not sourcesfile.endswith(".list"): sourcesfile += ".list" dir = apt_pkg.config.find_dir("Dir::Etc::sourceparts") sourcesfile = os.path.join(dir, os.path.basename(sourcesfile)) else: sourcesfile = None # Store any private login information in a separate auth.conf file if re.match("(http|https|ftp)://\S+?:\S+?@\S+", uri): uri = self._store_and_strip_password_from_uri(uri) auth_conf_path = apt_pkg.config.find_file("Dir::etc::netrc") if not comment: comment = "credentials stored in %s" % auth_conf_path else: comment += "; credentials stored in %s" % auth_conf_path try: sources = SourcesList() entry = sources.add(src_type, uri, dist, comps, comment, file=sourcesfile) if entry.invalid: #FIXME: Introduce new error codes raise RepositoryInvalidError() except: log.exception("adding repository") raise else: sources.save() def _store_and_strip_password_from_uri(self, uri, auth_conf_path=None): """Extract the credentials from an URI. Store the password in auth.conf and return the URI without any password information. """ try: res = urlsplit(uri) except ValueError as error: log.warn("Failed to urlsplit '%s'", error) return uri netloc_public = res.netloc.replace("%s:%s@" % (res.username, res.password), "") machine = netloc_public + res.path # find auth.conf if auth_conf_path is None: auth_conf_path = apt_pkg.config.find_file("Dir::etc::netrc") # read all "machine"s from the auth.conf "netrc" file netrc_hosts = {} netrc_hosts_as_text = "" if os.path.exists(auth_conf_path): netrc_hosts = netrc.netrc(auth_conf_path).hosts with open(auth_conf_path, "rb") as f: netrc_hosts_as_text = f.read().decode("UTF-8") # the new entry new_netrc_entry = "\nmachine %s login %s password %s\n" % ( machine, res.username, res.password) # if there is the same machine already defined, update it # using a regexp this will ensure order/comments remain if machine in netrc_hosts: sub_regexp = r'machine\s+%s\s+login\s+%s\s+password\s+%s' % ( re.escape(machine), re.escape(netrc_hosts[machine][0]), re.escape(netrc_hosts[machine][2])) replacement = 'machine %s login %s password %s' % ( machine, res.username, res.password) # this may happen if e.g. the order is unexpected if not re.search(sub_regexp, netrc_hosts_as_text): log.warn("can not replace existing netrc entry for '%s' " "prepending it instead" % machine) netrc_hosts_as_text = new_netrc_entry + netrc_hosts_as_text else: netrc_hosts_as_text = re.sub( sub_regexp, replacement, netrc_hosts_as_text) else: netrc_hosts_as_text += new_netrc_entry # keep permssion bits of the file mode = 0o640 try: mode = os.stat(auth_conf_path)[stat.ST_MODE] except OSError as e: if e.errno != errno.ENOENT: raise # write out, tmp file first plus rename to be atomic try: auth_conf_tmp = tempfile.NamedTemporaryFile( dir=os.path.dirname(auth_conf_path), prefix=os.path.basename(auth_conf_path), delete=False) auth_conf_tmp.write(netrc_hosts_as_text.encode('UTF-8')) auth_conf_tmp.close() os.rename(auth_conf_tmp.name, auth_conf_path) # and restore permissions (or set default ones) os.chmod(auth_conf_path, mode) except OSError as error: log.warn("Failed to write auth.conf: '%s'" % error) # Return URI without user/pass return urlunsplit((res.scheme, netloc_public, res.path, res.query, res.fragment)) def add_vendor_key_from_keyserver(self, trans, keyid, keyserver): """Add the signing key from the given (keyid, keyserver) to the trusted vendors. Keyword argument: trans -- the corresponding transaction keyid - the keyid of the key (e.g. 0x0EB12F05) keyserver - the keyserver (e.g. keyserver.ubuntu.com) """ log.info("Adding vendor key from keyserver: %s %s", keyid, keyserver) # Perform some sanity checks try: res = urlsplit(keyserver) except ValueError: raise TransactionFailed(ERROR_KEY_NOT_INSTALLED, #TRANSLATORS: %s is the URL of GnuPG # keyserver _("The keyserver URL is invalid: %s"), keyserver) if res.scheme not in ["hkp", "ldap", "ldaps", "http", "https"]: raise TransactionFailed(ERROR_KEY_NOT_INSTALLED, #TRANSLATORS: %s is the URL of GnuPG # keyserver _("Invalid protocol of the server: %s"), keyserver) try: int(keyid, 16) except ValueError: raise TransactionFailed(ERROR_KEY_NOT_INSTALLED, #TRANSLATORS: %s is the id of a GnuPG key # e.g. E08ADE95 _("Invalid key id: %s"), keyid) trans.status = STATUS_DOWNLOADING trans.progress = 101 with DaemonForkProgress(trans) as progress: progress.run(apt.auth.add_key_from_keyserver, keyid, keyserver) if progress._child_exit != 0: #TRANSLATORS: The first %s is the key id and the second the server raise TransactionFailed(ERROR_KEY_NOT_INSTALLED, _("Failed to download and install the key " "%s from %s:\n%s"), keyid, keyserver, progress.output) def add_vendor_key_from_file(self, trans, path): """Add the signing key from the given file to the trusted vendors. Keyword argument: path -- absolute path to the key file """ log.info("Adding vendor key from file: %s", path) trans.progress = 101 trans.status = STATUS_COMMITTING with DaemonForkProgress(trans) as progress: progress.run(apt.auth.add_key_from_file, path) if progress._child_exit != 0: raise TransactionFailed(ERROR_KEY_NOT_INSTALLED, _("Key file %s couldn't be installed: %s"), path, progress.output) def remove_vendor_key(self, trans, fingerprint): """Remove repository key. Keyword argument: trans -- the corresponding transaction fingerprint -- fingerprint of the key to remove """ log.info("Removing vendor key: %s", fingerprint) trans.progress = 101 trans.status = STATUS_COMMITTING try: int(fingerprint, 16) except ValueError: raise TransactionFailed(ERROR_KEY_NOT_REMOVED, #TRANSLATORS: %s is the id of a GnuPG key # e.g. E08ADE95 _("Invalid key id: %s"), fingerprint) with DaemonForkProgress(trans) as progress: progress.run(apt.auth.remove_key, fingerprint) if progress._child_exit != 0: raise TransactionFailed(ERROR_KEY_NOT_REMOVED, _("Key with fingerprint %s couldn't be " "removed: %s"), fingerprint, progress.output) def install_file(self, trans, path, force, simulate=False): """Install local package file. Keyword argument: trans -- the corresponding transaction path -- absolute path to the package file force -- if installing an invalid package is allowed simulate -- if True the changes won't be committed but the debfile instance will be returned """ log.info("Installing local package file: %s", path) # Check if the dpkg can be installed at all trans.status = STATUS_RESOLVING_DEP deb = self._check_deb_file(trans, path, force) # Check for required changes and apply them before (install, remove, unauth) = deb.required_changes self._call_plugins("modify_cache_after") if simulate: return deb with self._frozen_status(): if len(install) > 0 or len(remove) > 0: self._apply_changes(trans, fetch_range=(15, 33), install_range=(34, 63)) # Install the dpkg file deb_progress = DaemonDpkgInstallProgress(trans, begin=64, end=95) res = deb.install(deb_progress) trans.output += deb_progress.output if res: raise TransactionFailed(ERROR_PACKAGE_MANAGER_FAILED, trans.output) def _mark_packages_for_removal(self, packages, resolver, purge=False): """Mark packages for installation.""" for pkg_name, pkg_ver, pkg_rel in [self._split_package_id(pkg) for pkg in packages]: try: pkg = self._cache[pkg_name] except KeyError: raise TransactionFailed(ERROR_NO_PACKAGE, _("Package %s isn't available"), pkg_name) if not pkg.is_installed and not pkg.installed_files: raise TransactionFailed(ERROR_PACKAGE_NOT_INSTALLED, _("Package %s isn't installed"), pkg_name) if pkg.essential is True: raise TransactionFailed(ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE, _("Package %s cannot be removed."), pkg_name) if pkg_ver and pkg.installed != pkg_ver: raise TransactionFailed(ERROR_PACKAGE_NOT_INSTALLED, _("The version %s of %s is not " "installed"), pkg_ver, pkg_name) pkg.mark_delete(False, purge) resolver.clear(pkg) resolver.protect(pkg) resolver.remove(pkg) def _check_obsoleted_dependencies(self, trans, resolver=None): """Mark obsoleted dependencies of to be removed packages for removal. """ if not trans.remove_obsoleted_depends: return if not resolver: resolver = apt.cache.ProblemResolver(self._cache) installed_deps = set() with self._cache.actiongroup(): for pkg in self._cache.get_changes(): if pkg.marked_delete: installed_deps = self._installed_dependencies( pkg.name, installed_deps) for dep_name in installed_deps: if dep_name in self._cache: pkg = self._cache[dep_name] if pkg.is_installed and pkg.is_auto_removable: pkg.mark_delete(False) # do an additional resolver run to ensure that the autoremove # never leaves the cache in an inconsistent state, see bug # LP: #659111 for the rational, essentially this may happen # if a package is marked install during problem resolving but # is later no longer required. the resolver deals with that self._resolve_depends(trans, resolver) def _installed_dependencies(self, pkg_name, all_deps=None): """Recursively return all installed dependencies of a given package.""" #FIXME: Should be part of python-apt, since it makes use of non-public # API. Perhaps by adding a recursive argument to # apt.package.Version.get_dependencies() if not all_deps: all_deps = set() if not pkg_name in self._cache: return all_deps cur = self._cache[pkg_name]._pkg.current_ver if not cur: return all_deps for sec in ("PreDepends", "Depends", "Recommends"): try: for dep in cur.depends_list[sec]: dep_name = dep[0].target_pkg.name if not dep_name in all_deps: all_deps.add(dep_name) all_deps |= self._installed_dependencies(dep_name, all_deps) except KeyError: pass return all_deps def _mark_packages_for_downgrade(self, packages, resolver): """Mark packages for downgrade.""" for pkg_name, pkg_ver, pkg_rel in [self._split_package_id(pkg) for pkg in packages]: try: pkg = self._cache[pkg_name] except KeyError: raise TransactionFailed(ERROR_NO_PACKAGE, _("Package %s isn't available"), pkg_name) if not pkg.is_installed: raise TransactionFailed(ERROR_PACKAGE_NOT_INSTALLED, _("Package %s isn't installed"), pkg_name) auto = pkg.is_auto_installed pkg.mark_install(False, True, True) pkg.mark_auto(auto) resolver.clear(pkg) resolver.protect(pkg) if pkg_ver: if pkg.installed and pkg.installed.version < pkg_ver: #FIXME: We need a new error enum raise TransactionFailed(ERROR_NO_PACKAGE, _("The former version %s of %s " "is already installed"), pkg.installed.version, pkg.name) elif pkg.installed and pkg.installed.version == pkg_ver: raise TransactionFailed(ERROR_PACKAGE_ALREADY_INSTALLED, _("The version %s of %s " "is already installed"), pkg.installed.version, pkg.name) try: pkg.candidate = pkg.versions[pkg_ver] except KeyError: raise TransactionFailed(ERROR_NO_PACKAGE, _("The version %s of %s isn't " "available"), pkg_ver, pkg_name) else: raise TransactionFailed(ERROR_NO_PACKAGE, _("You need to specify a version to " "downgrade %s to"), pkg_name) def _mark_packages_for_upgrade(self, packages, resolver): """Mark packages for upgrade.""" for pkg_name, pkg_ver, pkg_rel in [self._split_package_id(pkg) for pkg in packages]: try: pkg = self._cache[pkg_name] except KeyError: raise TransactionFailed(ERROR_NO_PACKAGE, _("Package %s isn't available"), pkg_name) if not pkg.is_installed: raise TransactionFailed(ERROR_PACKAGE_NOT_INSTALLED, _("Package %s isn't installed"), pkg_name) auto = pkg.is_auto_installed pkg.mark_install(False, True, True) pkg.mark_auto(auto) resolver.clear(pkg) resolver.protect(pkg) if pkg_ver: if (pkg.installed and apt_pkg.version_compare(pkg.installed.version, pkg_ver) == 1): raise TransactionFailed(ERROR_PACKAGE_UPTODATE, _("The later version %s of %s " "is already installed"), pkg.installed.version, pkg.name) elif (pkg.installed and apt_pkg.version_compare(pkg.installed.version, pkg_ver) == 0): raise TransactionFailed(ERROR_PACKAGE_UPTODATE, _("The version %s of %s " "is already installed"), pkg.installed.version, pkg.name) try: pkg.candidate = pkg.versions[pkg_ver] except KeyError: raise TransactionFailed(ERROR_NO_PACKAGE, _("The version %s of %s isn't " "available."), pkg_ver, pkg_name) elif pkg_rel: self._set_candidate_release(pkg, pkg_rel) @staticmethod def _set_candidate_release(pkg, release): """Set the candidate of a package to the one from the given release.""" #FIXME: Should be moved to python-apt # Check if the package is provided in the release for version in pkg.versions: if [origin for origin in version.origins if origin.archive == release]: break else: raise TransactionFailed(ERROR_NO_PACKAGE, _("The package %s isn't available in " "the %s release."), pkg.name, release) pkg._pcache.cache_pre_change() pkg._pcache._depcache.set_candidate_release(pkg._pkg, version._cand, release) pkg._pcache.cache_post_change() def update_cache(self, trans, sources_list): """Update the cache. Keyword arguments: trans -- the corresponding transaction sources_list -- only update the repositories found in the sources.list snippet by the given file name. """ def compare_pathes(first, second): """Small helper to compare two pathes.""" return os.path.normpath(first) == os.path.normpath(second) log.info("Updating cache") progress = DaemonAcquireRepoProgress(trans, begin=10, end=90) if sources_list and not sources_list.startswith("/"): dir = apt_pkg.config.find_dir("Dir::Etc::sourceparts") sources_list = os.path.join(dir, sources_list) if sources_list: # For security reasons (LP #722228) we only allow files inside # sources.list.d as basedir basedir = apt_pkg.config.find_dir("Dir::Etc::sourceparts") system_sources = apt_pkg.config.find_file("Dir::Etc::sourcelist") if "/" in sources_list: sources_list = os.path.abspath(sources_list) # Check if the sources_list snippet is in the sourceparts # directory common_prefix = os.path.commonprefix([sources_list, basedir]) if not (compare_pathes(common_prefix, basedir) or compare_pathes(sources_list, system_sources)): raise AptDaemonError("Only alternative sources.list files " "inside '%s' are allowed (not '%s')" % (basedir, sources_list)) else: sources_list = os.path.join(basedir, sources_list) try: self._cache.update(progress, sources_list=sources_list) except apt.cache.FetchFailedException as error: # ListUpdate() method of apt handles a cancelled operation # as a failed one, see LP #162441 if trans.cancelled: raise TransactionCancelled() else: raise TransactionFailed(ERROR_REPO_DOWNLOAD_FAILED, str(error)) except apt.cache.FetchCancelledException: raise TransactionCancelled() except apt.cache.LockFailedException: raise TransactionFailed(ERROR_NO_LOCK) self._open_cache(trans, begin=91, end=95) def upgrade_system(self, trans, safe_mode=True, simulate=False): """Upgrade the system. Keyword argument: trans -- the corresponding transaction safe_mode -- if additional software should be installed or removed to satisfy the dependencies the an updates simulate -- if the changes should not be applied """ log.info("Upgrade system with safe mode: %s" % safe_mode) trans.status = STATUS_RESOLVING_DEP #FIXME: What to do if already uptotdate? Add error code? self._call_plugins("modify_cache_before") try: self._cache.upgrade(dist_upgrade=not safe_mode) except SystemError as excep: raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED, str(excep)) self._call_plugins("modify_cache_after") self._check_obsoleted_dependencies(trans) if not simulate: self._apply_changes(trans) def fix_incomplete_install(self, trans): """Run dpkg --configure -a to recover from a failed installation. Keyword arguments: trans -- the corresponding transaction """ log.info("Fixing incomplete installs") trans.status = STATUS_CLEANING_UP with self._frozen_status(): with DaemonDpkgRecoverProgress(trans) as progress: progress.run() trans.output += progress.output if progress._child_exit != 0: raise TransactionFailed(ERROR_PACKAGE_MANAGER_FAILED, trans.output) def reconfigure(self, trans, packages, priority): """Run dpkg-reconfigure to reconfigure installed packages. Keyword arguments: trans -- the corresponding transaction packages -- list of packages to reconfigure priority -- the lowest priority of question which should be asked """ log.info("Reconfiguring packages") with self._frozen_status(): with DaemonDpkgReconfigureProgress(trans) as progress: progress.run(packages, priority) trans.output += progress.output if progress._child_exit != 0: raise TransactionFailed(ERROR_PACKAGE_MANAGER_FAILED, trans.output) def fix_broken_depends(self, trans, simulate=False): """Try to fix broken dependencies. Keyword arguments: trans -- the corresponding transaction simualte -- if the changes should not be applied """ log.info("Fixing broken depends") trans.status = STATUS_RESOLVING_DEP try: self._cache._depcache.fix_broken() except SystemError: raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED, self._get_broken_details(trans)) if not simulate: self._apply_changes(trans) def _open_cache(self, trans, begin=1, end=5, quiet=False, status=None): """Open the APT cache. Keyword arguments: trans -- the corresponding transaction start -- the begin of the progress range end -- the end of the the progress range quiet -- if True do no report any progress status -- an alternative dpkg status file """ self.marked_tid = None trans.status = STATUS_LOADING_CACHE if not status: status = self._status_orig apt_pkg.config.set("Dir::State::status", status) apt_pkg.init_system() progress = DaemonOpenProgress(trans, begin=begin, end=end, quiet=quiet) try: if not isinstance(self._cache, apt.cache.Cache): self._cache = apt.cache.Cache(progress) else: self._cache.open(progress) except SystemError as excep: raise TransactionFailed(ERROR_NO_CACHE, str(excep)) def is_dpkg_journal_clean(self): """Return False if there are traces of incomplete dpkg status updates.""" status_updates = os.path.join(os.path.dirname(self._status_orig), "updates/") for dentry in os.listdir(status_updates): if dentry.isdigit(): return False return True def _apply_changes(self, trans, fetch_range=(15, 50), install_range=(50, 90)): """Apply previously marked changes to the system. Keyword arguments: trans -- the corresponding transaction fetch_range -- tuple containing the start and end point of the download progress install_range -- tuple containing the start and end point of the install progress """ changes = self._cache.get_changes() if not changes: return # Do not allow to remove essential packages for pkg in changes: if pkg.marked_delete and (pkg.essential is True or (pkg.installed and pkg.installed.priority == "required") or pkg.name == "aptdaemon"): raise TransactionFailed(ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE, _("Package %s cannot be removed"), pkg.name) # Check if any of the cache changes get installed from an # unauthenticated repository"" if not trans.allow_unauthenticated and trans.unauthenticated: raise TransactionFailed(ERROR_PACKAGE_UNAUTHENTICATED, " ".join(sorted(trans.unauthenticated))) if trans.cancelled: raise TransactionCancelled() trans.cancellable = False fetch_progress = DaemonAcquireProgress(trans, begin=fetch_range[0], end=fetch_range[1]) inst_progress = DaemonInstallProgress(trans, begin=install_range[0], end=install_range[1]) with self._frozen_status(): try: self._cache.commit(fetch_progress, inst_progress) except apt.cache.FetchFailedException as error: raise TransactionFailed(ERROR_PACKAGE_DOWNLOAD_FAILED, str(error)) except apt.cache.FetchCancelledException: raise TransactionCancelled() except SystemError as excep: # Run dpkg --configure -a to recover from a failed transaction trans.status = STATUS_CLEANING_UP with DaemonDpkgRecoverProgress(trans, begin=90, end=95) as pro: pro.run() output = inst_progress.output + pro.output trans.output += output raise TransactionFailed(ERROR_PACKAGE_MANAGER_FAILED, "%s: %s" % (excep, trans.output)) else: trans.output += inst_progress.output @contextlib.contextmanager def _frozen_status(self): """Freeze the status file to allow simulate operations during a dpkg call.""" frozen_dir = tempfile.mkdtemp(prefix="aptdaemon-frozen-status") shutil.copy(self._status_orig, frozen_dir) self._status_frozen = os.path.join(frozen_dir, "status") try: yield finally: shutil.rmtree(frozen_dir) self._status_frozen = None def query(self, trans): """Process a PackageKit query transaction.""" raise NotImplementedError def simulate(self, trans): """Return the dependencies which will be installed by the transaction, the content of the dpkg status file after the transaction would have been applied, the download size and the required disk space. Keyword arguments: trans -- the transaction which should be simulated """ log.info("Simulating trans: %s" % trans.tid) trans.status = STATUS_RESOLVING_DEP GLib.idle_add(self._simulate, trans) def _simulate(self, trans): try: (trans.depends, trans.download, trans.space, trans.unauthenticated, trans.high_trust_packages) = self.__simulate(trans) except TransactionFailed as excep: trans.error = excep trans.exit = EXIT_FAILED except Exception as excep: tbk = traceback.format_exc() trans.error = TransactionFailed(ERROR_UNKNOWN, tbk) try: from . import crash except ImportError: pass else: crash.create_report("%s: %s" % (type(excep), str(excep)), tbk, trans) trans.exit = EXIT_FAILED else: trans.status = STATUS_SETTING_UP trans.simulated = time.time() self.marked_tid = trans.tid finally: self._emit_transaction_simulated(trans) self.last_action_timestamp = time.time() return False def __simulate(self, trans): depends = [[], [], [], [], [], [], []] unauthenticated = [] high_trust_packages = [] skip_pkgs = [] size = 0 installs = reinstalls = removals = purges = upgrades = upgradables = \ downgrades = [] # Only handle transaction which change packages #FIXME: Add support for ROLE_FIX_INCOMPLETE_INSTALL if trans.role not in [ROLE_INSTALL_PACKAGES, ROLE_UPGRADE_PACKAGES, ROLE_UPGRADE_SYSTEM, ROLE_REMOVE_PACKAGES, ROLE_COMMIT_PACKAGES, ROLE_INSTALL_FILE, ROLE_FIX_BROKEN_DEPENDS]: return depends, 0, 0, [], [] # If a transaction is currently running use the former status file if self._status_frozen: status_path = self._status_frozen else: status_path = self._status_orig self._open_cache(trans, quiet=True, status=status_path) if trans.role == ROLE_FIX_BROKEN_DEPENDS: self.fix_broken_depends(trans, simulate=True) elif self._cache.broken_count: raise TransactionFailed(ERROR_CACHE_BROKEN, self._get_broken_details(trans)) elif trans.role == ROLE_UPGRADE_SYSTEM: for pkg in self._iterate_packages(): if pkg.is_upgradable: upgradables.append(pkg) self.upgrade_system(trans, simulate=True, **trans.kwargs) elif trans.role == ROLE_INSTALL_FILE: deb = self.install_file(trans, simulate=True, **trans.kwargs) skip_pkgs.append(deb.pkgname) try: # Sometimes a thousands comma is used in packages # See LP #656633 size = int(deb["Installed-Size"].replace(",", "")) * 1024 # Some packages ship really large install sizes e.g. # openvpn access server, see LP #758837 if size > sys.maxsize: raise OverflowError("Size is too large: %s Bytes" % size) except (KeyError, AttributeError, ValueError, OverflowError): if not trans.kwargs["force"]: msg = trans.gettext("The package doesn't provide a " "valid Installed-Size control " "field. See Debian Policy 5.6.20.") raise TransactionFailed(ERROR_INVALID_PACKAGE_FILE, msg) try: pkg = self._cache[deb.pkgname] except KeyError: trans.packages = [[deb.pkgname], [], [], [], [], []] else: if pkg.is_installed: # if we failed to get the size from the deb file do nor # try to get the delta if size != 0: size -= pkg.installed.installed_size trans.packages = [[], [deb.pkgname], [], [], [], []] else: trans.packages = [[deb.pkgname], [], [], [], [], []] else: #FIXME: ugly code to get the names of the packages (installs, reinstalls, removals, purges, upgrades, downgrades) = [[re.split("(=|/)", entry, 1)[0] for entry in lst] for lst in trans.packages] self.commit_packages(trans, *trans.packages, simulate=True) changes = self._cache.get_changes() changes_names = [] # get the additional dependencies for pkg in changes: if (pkg.marked_upgrade and pkg.is_installed and not pkg.name in upgrades): pkg_str = "%s=%s" % (pkg.name, pkg.candidate.version) depends[PKGS_UPGRADE].append(pkg_str) elif pkg.marked_reinstall and not pkg.name in reinstalls: pkg_str = "%s=%s" % (pkg.name, pkg.candidate.version) depends[PKGS_REINSTALL].append(pkg_str) elif pkg.marked_downgrade and not pkg.name in downgrades: pkg_str = "%s=%s" % (pkg.name, pkg.candidate.version) depends[PKGS_DOWNGRADE].append(pkg_str) elif pkg.marked_install and not pkg.name in installs: pkg_str = "%s=%s" % (pkg.name, pkg.candidate.version) depends[PKGS_INSTALL].append(pkg_str) elif pkg.marked_delete and not pkg.name in removals: pkg_str = "%s=%s" % (pkg.name, pkg.installed.version) depends[PKGS_REMOVE].append(pkg_str) #FIXME: add support for purges changes_names.append(pkg.name) # get the unauthenticated packages unauthenticated = self._get_unauthenticated() high_trust_packages = self._get_high_trust_packages() # Check for skipped upgrades for pkg in upgradables: if pkg.marked_keep: pkg_str = "%s=%s" % (pkg.name, pkg.candidate.version) depends[PKGS_KEEP].append(pkg_str) # apt.cache.Cache.required_download requires a clean cache. Under some # strange circumstances it can fail (most likely an interrupted # debconf question), see LP#659438 # Running dpkg --configure -a fixes the situation try: required_download = self._cache.required_download except SystemError as error: raise TransactionFailed(ERROR_INCOMPLETE_INSTALL, str(error)) required_space = size + self._cache.required_space return (depends, required_download, required_space, unauthenticated, high_trust_packages) def _check_deb_file(self, trans, path, force): """Perform some basic checks for the Debian package. :param trans: The transaction instance. :returns: An apt.debfile.Debfile instance. """ if not os.path.isfile(path): raise TransactionFailed(ERROR_UNREADABLE_PACKAGE_FILE, path) if not force and os.path.isfile("/usr/bin/lintian"): with DaemonLintianProgress(trans) as progress: progress.run(path) #FIXME: Add an error to catch return state 2 (failure) if progress._child_exit != 0: raise TransactionFailed(ERROR_INVALID_PACKAGE_FILE, "Lintian check results for %s:" "\n%s" % (path, progress.output)) try: deb = apt.debfile.DebPackage(path, self._cache) except IOError: raise TransactionFailed(ERROR_UNREADABLE_PACKAGE_FILE, path) except Exception as error: raise TransactionFailed(ERROR_INVALID_PACKAGE_FILE, str(error)) try: ret = deb.check() except Exception as error: raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED, str(error)) if not ret: raise TransactionFailed(ERROR_DEP_RESOLUTION_FAILED, deb._failure_string) return deb def clean(self, trans): """Clean the download directories. Keyword arguments: trans -- the corresponding transaction """ #FIXME: Use pkgAcquire.Clean(). Currently not part of python-apt. trans.status = STATUS_CLEANING_UP archive_path = apt_pkg.config.find_dir("Dir::Cache::archives") for dir in [archive_path, os.path.join(archive_path, "partial")]: for filename in os.listdir(dir): if filename == "lock": continue path = os.path.join(dir, filename) if os.path.isfile(path): log.debug("Removing file %s", path) os.remove(path) def add_license_key(self, trans, pkg_name, json_token, server_name): """Add a license key data to the given package. Keyword arguemnts: trans -- the coresponding transaction pkg_name -- the name of the corresponding package json_token -- the oauth token as json server_name -- the server to use (ubuntu-production, ubuntu-staging) """ # set transaction state to downloading trans.status = STATUS_DOWNLOADING try: license_key, license_key_path = ( self.plugins["get_license_key"][0](trans.uid, pkg_name, json_token, server_name)) except Exception as error: logging.exception("get_license_key plugin failed") raise TransactionFailed(ERROR_LICENSE_KEY_DOWNLOAD_FAILED, str(error)) # ensure stuff is good if not license_key_path or not license_key: raise TransactionFailed(ERROR_LICENSE_KEY_DOWNLOAD_FAILED, _("The license key is empty")) # add license key if we have one self._add_license_key_to_system(pkg_name, license_key, license_key_path) def _add_license_key_to_system(self, pkg_name, license_key, license_key_path): # fixup path license_key_path = os.path.join(apt_pkg.config.find_dir("Dir"), license_key_path.lstrip("/")) # Check content of the key if (license_key.strip().startswith("#!") or license_key.startswith("\x7fELF")): raise TransactionFailed(ERROR_LICENSE_KEY_INSTALL_FAILED, _("The license key is not allowed to " "contain executable code.")) # Check the path of the license license_key_path = os.path.normpath(license_key_path) license_key_path_rootdir = os.path.join( apt_pkg.config["Dir"], self.LICENSE_KEY_ROOTDIR.lstrip("/"), pkg_name) if not license_key_path.startswith(license_key_path_rootdir): raise TransactionFailed(ERROR_LICENSE_KEY_INSTALL_FAILED, _("The license key path %s is invalid"), license_key_path) if os.path.lexists(license_key_path): raise TransactionFailed(ERROR_LICENSE_KEY_INSTALL_FAILED, _("The license key already exists: %s"), license_key_path) # Symlink attacks! if os.path.realpath(license_key_path) != license_key_path: raise TransactionFailed(ERROR_LICENSE_KEY_INSTALL_FAILED, _("The location of the license key is " "unsecure since it contains symbolic " "links. The path %s maps to %s"), license_key_path, os.path.realpath(license_key_path)) # Check if the directory already exists if not os.path.isdir(os.path.dirname(license_key_path)): raise TransactionFailed(ERROR_LICENSE_KEY_INSTALL_FAILED, _("The directory where to install the key " "to doesn't exist yet: %s"), license_key_path) # write it log.info("Writing license key to '%s'" % license_key_path) old_umask = os.umask(18) try: with open(license_key_path, "w") as license_file: license_file.write(license_key) except IOError: raise TransactionFailed(ERROR_LICENSE_KEY_INSTALL_FAILED, _("Failed to write key file to: %s"), license_key_path) finally: os.umask(old_umask) def _iterate_mainloop(self): """Process pending actions on the main loop.""" while GLib.main_context_default().pending(): GLib.main_context_default().iteration() def _iterate_packages(self, interval=1000): """Itarte von the packages of the cache and iterate on the GObject main loop time for more responsiveness. Keyword arguments: interval - the number of packages after which we iterate on the mainloop """ for enum, pkg in enumerate(self._cache): if not enum % interval: self._iterate_mainloop() yield pkg def _get_broken_details(self, trans, now=True): """Return a message which provides debugging information about broken packages. This method is basically a Python implementation of apt-get.cc's ShowBroken. Keyword arguments: trans -- the corresponding transaction now -- if we check currently broken dependecies or the installation candidate """ msg = trans.gettext("The following packages have unmet dependencies:") msg += "\n\n" for pkg in self._cache: if not ((now and pkg.is_now_broken) or (not now and pkg.is_inst_broken)): continue msg += "%s: " % pkg.name if now: version = pkg.installed else: version = pkg.candidate indent = " " * (len(pkg.name) + 2) dep_msg = "" for dep in version.dependencies: or_msg = "" for base_dep in dep.or_dependencies: if or_msg: or_msg += "or\n" or_msg += indent # Check if it's an important dependency # See apt-pkg/depcache.cc IsImportantDep # See apt-pkg/pkgcache.cc IsCritical() if not (base_dep.rawtype in ["Depends", "PreDepends", "Obsoletes", "DpkgBreaks", "Conflicts"] or (apt_pkg.config.find_b("APT::Install-Recommends", False) and base_dep.rawtype == "Recommends") or (apt_pkg.config.find_b("APT::Install-Suggests", False) and base_dep.rawtype == "Suggests")): continue # Get the version of the target package try: pkg_dep = self._cache[base_dep.name] except KeyError: dep_version = None else: if now: dep_version = pkg_dep.installed else: dep_version = pkg_dep.candidate # We only want to display dependencies which cannot # be satisfied if dep_version and not apt_pkg.check_dep(base_dep.version, base_dep.relation, version.version): break or_msg = "%s: %s " % (base_dep.rawtype, base_dep.name) if base_dep.version: or_msg += "(%s %s) " % (base_dep.relation, base_dep.version) if self._cache.is_virtual_package(base_dep.name): or_msg += trans.gettext("but it is a virtual package") elif not dep_version: if now: or_msg += trans.gettext("but it is not installed") else: or_msg += trans.gettext("but it is not going to " "be installed") elif now: #TRANSLATORS: %s is a version number or_msg += (trans.gettext("but %s is installed") % dep_version.version) else: #TRANSLATORS: %s is a version number or_msg += (trans.gettext("but %s is to be installed") % dep_version.version) else: # Only append an or-group if at least one of the # dependencies cannot be satisfied if dep_msg: dep_msg += indent dep_msg += or_msg dep_msg += "\n" msg += dep_msg return msg def is_reboot_required(self): """If a reboot is required to get all changes into effect.""" return os.path.exists(os.path.join(apt_pkg.config.find_dir("Dir"), "var/run/reboot-required")) class DummyWorker(AptWorker): """Allows to test the daemon without making any changes to the system.""" def run(self, transaction): """Process the given transaction in the background. Keyword argument: transaction -- core.Transcation instance to run """ log.info("Processing transaction %s", transaction.tid) if self.trans: raise Exception("There is already a running transaction") self.trans = transaction self.last_action_timestamp = time.time() self.trans.status = STATUS_RUNNING self.trans.progress = 0 self.trans.cancellable = True GLib.timeout_add(200, self._process_transaction, transaction) def _process_transaction(self, trans): """Run the worker""" if trans.cancelled: trans.exit = EXIT_CANCELLED elif trans.progress == 100: trans.exit = EXIT_SUCCESS elif trans.role == ROLE_UPDATE_CACHE: trans.exit = EXIT_FAILED elif trans.role == ROLE_UPGRADE_PACKAGES: trans.exit = EXIT_SUCCESS elif trans.role == ROLE_UPGRADE_SYSTEM: trans.exit = EXIT_CANCELLED else: if trans.role == ROLE_INSTALL_PACKAGES: if trans.progress == 1: trans.status = STATUS_RESOLVING_DEP elif trans.progress == 5: trans.status = STATUS_DOWNLOADING elif trans.progress == 50: trans.status = STATUS_COMMITTING trans.status_details = "Heyas!" elif trans.progress == 55: trans.paused = True trans.status = STATUS_WAITING_CONFIG_FILE_PROMPT trans.config_file_conflict = "/etc/fstab", "/etc/mtab" while trans.paused: GLib.main_context_default().iteration() trans.config_file_conflict_resolution = None trans.config_file_conflict = None trans.status = STATUS_COMMITTING elif trans.progress == 60: trans.required_medium = ("Debian Lenny 5.0 CD 1", "USB CD-ROM") trans.paused = True trans.status = STATUS_WAITING_MEDIUM while trans.paused: GLib.main_context_default().iteration() trans.status = STATUS_DOWNLOADING elif trans.progress == 70: trans.status_details = "Servus!" elif trans.progress == 90: trans.status_deatils = "" trans.status = STATUS_CLEANING_UP elif trans.role == ROLE_REMOVE_PACKAGES: if trans.progress == 1: trans.status = STATUS_RESOLVING_DEP elif trans.progress == 5: trans.status = STATUS_COMMITTING trans.status_details = "Heyas!" elif trans.progress == 50: trans.status_details = "Hola!" elif trans.progress == 70: trans.status_details = "Servus!" elif trans.progress == 90: trans.status_deatils = "" trans.status = STATUS_CLEANING_UP trans.progress += 1 return True trans.status = STATUS_FINISHED self.last_action_timestamp = time.time() tid = self.trans.tid[:] trans = self.trans self.trans = None self._emit_transaction_done(trans) log.info("Finished transaction %s", tid) return False def simulate(self, trans): depends = [[], [], [], [], [], [], []] return depends, 0, 0, [] # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/policykit1.py0000644000175000017500000001554312117271433020663 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Provides access to PolicyKit privilege mangement using gdefer Deferreds.""" # Copyright (C) 2008-2009 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __all__ = ("check_authorization_by_name", "check_authorization_by_pid", "get_pid_from_dbus_name", "get_uid_from_dbus_name", "CHECK_AUTH_ALLOW_USER_INTERACTION", "CHECK_AUTH_NONE", "PK_ACTION_ADD_REMOVE_VENDOR_KEY", "PK_ACTION_CANCEL_FOREIGN", "PK_ACTION_CHANGE_REPOSITORY", "PK_ACTION_CHANGE_CONIFG", "PK_ACTION_GET_TRUSTED_VENDOR_KEYS", "PK_ACTION_INSTALL_FILE", "PK_ACTION_INSTALL_OR_REMOVE_PACKAGES", "PK_ACTION_INSTALL_PACKAGES_FROM_NEW_REPO", "PK_ACTION_INSTALL_PACKAGES_FROM_HIGH_TRUST_REPO", "PK_ACTION_INSTALL_PURCHASED_PACKAGES", "PK_ACTION_UPDATE_CACHE", "PK_ACTION_UPGRADE_PACKAGES", "PK_ACTION_SET_PROXY", "PK_ACTION_CLEAN") import dbus from defer import Deferred, inline_callbacks, return_value from .errors import NotAuthorizedError, AuthorizationFailed PK_ACTION_INSTALL_OR_REMOVE_PACKAGES = ( "org.debian.apt.install-or-remove-packages") PK_ACTION_INSTALL_PURCHASED_PACKAGES = ( "org.debian.apt.install-purchased-packages") PK_ACTION_INSTALL_PACKAGES_FROM_NEW_REPO = ( "org.debian.apt.install-packages-from-new-repo") PK_ACTION_INSTALL_PACKAGES_FROM_HIGH_TRUST_REPO = ( "org.debian.apt.install-packages.high-trust-repo") PK_ACTION_INSTALL_FILE = "org.debian.apt.install-file" PK_ACTION_UPGRADE_PACKAGES = "org.debian.apt.upgrade-packages" PK_ACTION_UPDATE_CACHE = "org.debian.apt.update-cache" PK_ACTION_CANCEL_FOREIGN = "org.debian.apt.cancel-foreign" PK_ACTION_GET_TRUSTED_VENDOR_KEYS = "org.debian.apt.get-trusted-vendor-keys" PK_ACTION_CHANGE_REPOSITORY = "org.debian.apt.change-repository" PK_ACTION_CHANGE_CONFIG = "org.debian.apt.change-config" PK_ACTION_SET_PROXY = "org.debian.apt.set-proxy" PK_ACTION_CLEAN = "org.debian.apt.clean" CHECK_AUTH_NONE = 0 CHECK_AUTH_ALLOW_USER_INTERACTION = 1 def check_authorization_by_name(dbus_name, action_id, timeout=86400, bus=None, flags=None): """Check if the given sender is authorized for the specified action. If the sender is not authorized raise NotAuthorizedError. Keyword arguments: dbus_name -- D-Bus name of the subject action_id -- the PolicyKit policy name of the action timeout -- time in seconds for the user to authenticate bus -- the D-Bus connection (defaults to the system bus) flags -- optional flags to control the authentication process """ subject = ("system-bus-name", {"name": dbus_name}) return _check_authorization(subject, action_id, timeout, bus, flags) def check_authorization_by_pid(pid, action_id, timeout=86400, bus=None, flags=None): """Check if the given process is authorized for the specified action. If the sender is not authorized raise NotAuthorizedError. Keyword arguments: pid -- id of the process action_id -- the PolicyKit policy name of the action timeout -- time in seconds for the user to authenticate bus -- the D-Bus connection (defaults to the system bus) flags -- optional flags to control the authentication process """ subject = ("unix-process", {"pid": pid}) return _check_authorization(subject, action_id, timeout, bus, flags) def _check_authorization(subject, action_id, timeout, bus, flags=None): def policykit_done(xxx_todo_changeme): (authorized, challenged, auth_details) = xxx_todo_changeme if authorized: deferred.callback(auth_details) elif challenged: deferred.errback(AuthorizationFailed(subject, action_id)) else: deferred.errback(NotAuthorizedError(subject, action_id)) if not bus: bus = dbus.SystemBus() # Set the default flags if flags is None: flags = CHECK_AUTH_ALLOW_USER_INTERACTION deferred = Deferred() pk = bus.get_object("org.freedesktop.PolicyKit1", "/org/freedesktop/PolicyKit1/Authority") details = {} pk.CheckAuthorization( subject, action_id, details, flags, "", dbus_interface="org.freedesktop.PolicyKit1.Authority", timeout=timeout, reply_handler=policykit_done, error_handler=deferred.errback) return deferred def get_pid_from_dbus_name(dbus_name, bus=None): """Return a deferred that gets the id of process owning the given system D-Bus name. """ if not bus: bus = dbus.SystemBus() deferred = Deferred() bus_obj = bus.get_object("org.freedesktop.DBus", "/org/freedesktop/DBus/Bus") bus_obj.GetConnectionUnixProcessID(dbus_name, dbus_interface="org.freedesktop.DBus", reply_handler=deferred.callback, error_handler=deferred.errback) return deferred @inline_callbacks def get_uid_from_dbus_name(dbus_name, bus=None): """Return a deferred that gets the uid of the user owning the given system D-Bus name. """ if not bus: bus = dbus.SystemBus() pid = yield get_pid_from_dbus_name(dbus_name, bus) with open("/proc/%s/status" % pid) as proc: values = [v for v in proc.readlines() if v.startswith("Uid:")] uid = int(values[0].split()[1]) return_value(uid) @inline_callbacks def get_proc_info_from_dbus_name(dbus_name, bus=None): """Return a deferred that gets the pid, the uid of the user owning the given system D-Bus name and its command line. """ if not bus: bus = dbus.SystemBus() pid = yield get_pid_from_dbus_name(dbus_name, bus) with open("/proc/%s/status" % pid) as proc: values = [v for v in proc.readlines() if v.startswith("Uid:")] # instead of ", encoding='utf8'" we use the "rb"/decode() here for # py2 compatibility with open("/proc/%s/cmdline" % pid, "rb") as cmdline_file: cmdline = cmdline_file.read().decode("utf-8") uid = int(values[0].split()[1]) return_value((pid, uid, cmdline)) # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/pkcompat.py0000644000175000017500000042476512201760417020422 0ustar renaterenate00000000000000# !/usr/bin/env python # -*- coding: utf-8 -*- """ Provides a limited compatibility layer to PackageKit Copyright (C) 2007 Ali Sabil Copyright (C) 2007 Tom Parker Copyright (C) 2008-2011 Sebastian Heinlein Licensed under the GNU General Public License Version 2 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. """ __author__ = "Sebastian Heinlein " import datetime import glob import gzip import locale import logging import os import platform import re import subprocess import tempfile import time import uuid import apt_pkg from defer import inline_callbacks, return_value from defer.utils import dbus_deferred_method import dbus from gi.repository import GObject, GLib from gi.repository import PackageKitGlib as pk # for optional plugin support try: import pkg_resources except ImportError: pkg_resources = None from . import policykit1 from . import core from .core import APTDAEMON_TRANSACTION_DBUS_INTERFACE from . import enums as aptd_enums from .errors import TransactionFailed from . import errors from .progress import DaemonAcquireProgress from . import worker from . import networking pklog = logging.getLogger("AptDaemon.PackageKit") # Check if update-manager-core is installed to get aware of the # latest distro releases try: from UpdateManager.Core.MetaRelease import MetaReleaseCore except ImportError: META_RELEASE_SUPPORT = False else: META_RELEASE_SUPPORT = True # Xapian database is optionally used to speed up package description search XAPIAN_DB_PATH = os.environ.get("AXI_DB_PATH", "/var/lib/apt-xapian-index") XAPIAN_DB = XAPIAN_DB_PATH + "/index" XAPIAN_DB_VALUES = XAPIAN_DB_PATH + "/values" XAPIAN_SUPPORT = False try: import xapian except ImportError: pass else: if os.access(XAPIAN_DB, os.R_OK): pklog.debug("Use XAPIAN for the search") XAPIAN_SUPPORT = True # Regular expressions to detect bug numbers in changelogs according to the # Debian Policy Chapter 4.4. For details see the footnote 16: # http://www.debian.org/doc/debian-policy/footnotes.html#f16 MATCH_BUG_CLOSES_DEBIAN = ( r"closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*") MATCH_BUG_NUMBERS = r"\#?\s?(\d+)" # URL pointing to a bug in the Debian bug tracker HREF_BUG_DEBIAN = "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%s" MATCH_BUG_CLOSES_UBUNTU = r"lp:\s+\#\d+(?:,\s*\#\d+)*" HREF_BUG_UBUNTU = "https://bugs.launchpad.net/bugs/%s" # Regular expression to find cve references MATCH_CVE = "CVE-\d{4}-\d{4}" HREF_CVE = "http://web.nvd.nist.gov/view/vuln/detail?vulnId=%s" # Map Debian sections to the PackageKit group name space SECTION_GROUP_MAP = { "admin": pk.GroupEnum.ADMIN_TOOLS, "base": pk.GroupEnum.SYSTEM, "cli-mono": pk.GroupEnum.PROGRAMMING, "comm": pk.GroupEnum.COMMUNICATION, "database": pk.GroupEnum.SERVERS, "debian-installer": pk.GroupEnum.SYSTEM, "debug": pk.GroupEnum.PROGRAMMING, "devel": pk.GroupEnum.PROGRAMMING, "doc": pk.GroupEnum.DOCUMENTATION, "editors": pk.GroupEnum.PUBLISHING, "education": pk.GroupEnum.EDUCATION, "electronics": pk.GroupEnum.ELECTRONICS, "embedded": pk.GroupEnum.SYSTEM, "fonts": pk.GroupEnum.FONTS, "games": pk.GroupEnum.GAMES, "gnome": pk.GroupEnum.DESKTOP_GNOME, "gnu-r": pk.GroupEnum.PROGRAMMING, "gnustep": pk.GroupEnum.DESKTOP_OTHER, "graphics": pk.GroupEnum.GRAPHICS, "hamradio": pk.GroupEnum.COMMUNICATION, "haskell": pk.GroupEnum.PROGRAMMING, "httpd": pk.GroupEnum.SERVERS, "interpreters": pk.GroupEnum.PROGRAMMING, "introspection": pk.GroupEnum.PROGRAMMING, "java": pk.GroupEnum.PROGRAMMING, "kde": pk.GroupEnum.DESKTOP_KDE, "kernel": pk.GroupEnum.SYSTEM, "libdevel": pk.GroupEnum.PROGRAMMING, "libs": pk.GroupEnum.SYSTEM, "lisp": pk.GroupEnum.PROGRAMMING, "localization": pk.GroupEnum.LOCALIZATION, "mail": pk.GroupEnum.INTERNET, "math": pk.GroupEnum.SCIENCE, "misc": pk.GroupEnum.OTHER, "net": pk.GroupEnum.NETWORK, "news": pk.GroupEnum.INTERNET, "ocaml": pk.GroupEnum.PROGRAMMING, "oldlibs": pk.GroupEnum.LEGACY, "otherosfs": pk.GroupEnum.SYSTEM, "perl": pk.GroupEnum.PROGRAMMING, "php": pk.GroupEnum.PROGRAMMING, "python": pk.GroupEnum.PROGRAMMING, "ruby": pk.GroupEnum.PROGRAMMING, "science": pk.GroupEnum.SCIENCE, "shells": pk.GroupEnum.ADMIN_TOOLS, "sound": pk.GroupEnum.MULTIMEDIA, "tex": pk.GroupEnum.PUBLISHING, "text": pk.GroupEnum.PUBLISHING, "utils": pk.GroupEnum.ACCESSORIES, "vcs": pk.GroupEnum.PROGRAMMING, "video": pk.GroupEnum.MULTIMEDIA, "virtual": pk.GroupEnum.COLLECTIONS, "web": pk.GroupEnum.INTERNET, "xfce": pk.GroupEnum.DESKTOP_OTHER, "x11": pk.GroupEnum.DESKTOP_OTHER, "zope": pk.GroupEnum.PROGRAMMING, "unknown": pk.GroupEnum.UNKNOWN, "alien": pk.GroupEnum.UNKNOWN, "translations": pk.GroupEnum.LOCALIZATION, "metapackages": pk.GroupEnum.COLLECTIONS, "tasks": pk.GroupEnum.COLLECTIONS} PACKAGEKIT_DBUS_INTERFACE = "org.freedesktop.PackageKit" PACKAGEKIT_DBUS_SERVICE = "org.freedesktop.PackageKit" PACKAGEKIT_DBUS_PATH = "/org/freedesktop/PackageKit" PACKAGEKIT_TRANS_DBUS_INTERFACE = "org.freedesktop.PackageKit.Transaction" PACKAGEKIT_TRANS_DBUS_SERVICE = "org.freedesktop.PackageKit.Transaction" MAP_EXIT_ENUM = { aptd_enums.EXIT_SUCCESS: pk.ExitEnum.SUCCESS, aptd_enums.EXIT_CANCELLED: pk.ExitEnum.CANCELLED, aptd_enums.EXIT_FAILED: pk.ExitEnum.FAILED, aptd_enums.EXIT_FAILED: pk.ExitEnum.FAILED, aptd_enums.EXIT_PREVIOUS_FAILED: pk.ExitEnum.FAILED} MAP_STATUS_ENUM = { aptd_enums.STATUS_AUTHENTICATING: pk.StatusEnum.WAITING_FOR_AUTH, aptd_enums.STATUS_SETTING_UP: pk.StatusEnum.SETUP, aptd_enums.STATUS_QUERY: pk.StatusEnum.QUERY, aptd_enums.STATUS_WAITING: pk.StatusEnum.WAIT, aptd_enums.STATUS_RUNNING: pk.StatusEnum.RUNNING, aptd_enums.STATUS_CANCELLING: pk.StatusEnum.CANCEL, aptd_enums.STATUS_CLEANING_UP: pk.StatusEnum.CLEANUP, aptd_enums.STATUS_COMMITTING: pk.StatusEnum.COMMIT, aptd_enums.STATUS_DOWNLOADING: pk.StatusEnum.DOWNLOAD, aptd_enums.STATUS_DOWNLOADING_REPO: pk.StatusEnum.DOWNLOAD_REPOSITORY, aptd_enums.STATUS_FINISHED: pk.StatusEnum.FINISHED, aptd_enums.STATUS_LOADING_CACHE: pk.StatusEnum.LOADING_CACHE, aptd_enums.STATUS_RESOLVING_DEP: pk.StatusEnum.DEP_RESOLVE, aptd_enums.STATUS_RUNNING: pk.StatusEnum.RUNNING, aptd_enums.STATUS_WAITING_LOCK: pk.StatusEnum.WAITING_FOR_LOCK, aptd_enums.STATUS_WAITING_MEDIUM: pk.StatusEnum.UNKNOWN, aptd_enums.STATUS_WAITING_CONFIG_FILE_PROMPT: pk.StatusEnum.UNKNOWN} MAP_ERROR_ENUM = { aptd_enums.ERROR_CACHE_BROKEN: pk.ErrorEnum.NO_CACHE, aptd_enums.ERROR_DEP_RESOLUTION_FAILED: ( pk.ErrorEnum.DEP_RESOLUTION_FAILED), aptd_enums.ERROR_INCOMPLETE_INSTALL: pk.ErrorEnum.NO_CACHE, aptd_enums.ERROR_INVALID_PACKAGE_FILE: ( pk.ErrorEnum.PACKAGE_CORRUPT), aptd_enums.ERROR_KEY_NOT_INSTALLED: pk.ErrorEnum.GPG_FAILURE, aptd_enums.ERROR_KEY_NOT_REMOVED: pk.ErrorEnum.GPG_FAILURE, aptd_enums.ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE: ( pk.ErrorEnum.PACKAGE_FAILED_TO_REMOVE), aptd_enums.ERROR_NO_CACHE: pk.ErrorEnum.NO_CACHE, aptd_enums.ERROR_NO_LOCK: pk.ErrorEnum.CANNOT_GET_LOCK, aptd_enums.ERROR_NO_PACKAGE: pk.ErrorEnum.PACKAGE_NOT_FOUND, aptd_enums.ERROR_PACKAGE_ALREADY_INSTALLED: ( pk.ErrorEnum.PACKAGE_ALREADY_INSTALLED), aptd_enums.ERROR_PACKAGE_DOWNLOAD_FAILED: ( pk.ErrorEnum.PACKAGE_DOWNLOAD_FAILED), aptd_enums.ERROR_PACKAGE_MANAGER_FAILED: ( pk.ErrorEnum.TRANSACTION_ERROR), aptd_enums.ERROR_PACKAGE_NOT_INSTALLED: ( pk.ErrorEnum.PACKAGE_NOT_INSTALLED), aptd_enums.ERROR_PACKAGE_UNAUTHENTICATED: ( pk.ErrorEnum.BAD_GPG_SIGNATURE), aptd_enums.ERROR_PACKAGE_UPTODATE: ( pk.ErrorEnum.NO_PACKAGES_TO_UPDATE), aptd_enums.ERROR_REPO_DOWNLOAD_FAILED: ( pk.ErrorEnum.REPO_NOT_AVAILABLE), aptd_enums.ERROR_UNREADABLE_PACKAGE_FILE: ( pk.ErrorEnum.INVALID_PACKAGE_FILE), aptd_enums.ERROR_SYSTEM_ALREADY_UPTODATE: ( pk.ErrorEnum.NO_PACKAGES_TO_UPDATE), aptd_enums.ERROR_NOT_AUTHORIZED: pk.ErrorEnum.NOT_AUTHORIZED, aptd_enums.ERROR_AUTH_FAILED: pk.ErrorEnum.NOT_AUTHORIZED} MAP_PACKAGE_ENUM = { aptd_enums.PKG_CONFIGURING: pk.InfoEnum.INSTALLING, aptd_enums.PKG_DISAPPEARING: pk.InfoEnum.UNKNOWN, aptd_enums.PKG_INSTALLED: pk.InfoEnum.FINISHED, aptd_enums.PKG_INSTALLING: pk.InfoEnum.INSTALLING, aptd_enums.PKG_PREPARING_INSTALL: pk.InfoEnum.PREPARING, aptd_enums.PKG_PREPARING_PURGE: pk.InfoEnum.PREPARING, aptd_enums.PKG_PREPARING_REMOVE: pk.InfoEnum.PREPARING, aptd_enums.PKG_PURGED: pk.InfoEnum.FINISHED, aptd_enums.PKG_PURGING: pk.InfoEnum.REMOVING, aptd_enums.PKG_REMOVED: pk.InfoEnum.FINISHED, aptd_enums.PKG_REMOVING: pk.InfoEnum.REMOVING, aptd_enums.PKG_RUNNING_TRIGGER: pk.InfoEnum.CLEANUP, aptd_enums.PKG_UNKNOWN: pk.InfoEnum.UNKNOWN, aptd_enums.PKG_UNPACKING: pk.InfoEnum.DECOMPRESSING, aptd_enums.PKG_UPGRADING: pk.InfoEnum.UPDATING} MAP_POLICY = { "org.freedesktop.packagekit.cancel-foreign": ( policykit1.PK_ACTION_CANCEL_FOREIGN), "org.freedesktop.packagekit.package-install": ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), "org.freedesktop.packagekit.package-install-untrusted": ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), "org.freedesktop.packagekit.system-trust-signing-key": ( policykit1.PK_ACTION_CHANGE_REPOSITORY), "org.freedesktop.packagekit.package-eula-accept": ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), "org.freedesktop.packagekit.package-remove": ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), "org.freedesktop.packagekit.system-update": ( policykit1.PK_ACTION_UPGRADE_PACKAGES), "org.freedesktop.packagekit.system-sources-configure": ( policykit1.PK_ACTION_CHANGE_REPOSITORY), "org.freedesktop.packagekit.system-sources-refresh": ( policykit1.PK_ACTION_UPDATE_CACHE), "org.freedesktop.packagekit.system-network-proxy-configure": ( policykit1.PK_ACTION_SET_PROXY), "org.freedesktop.packagekit.device-rebind": ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), "org.freedesktop.packagekit.upgrade-system": ( policykit1.PK_ACTION_UPGRADE_PACKAGES), "org.freedesktop.packagekit.repair-system": ( policykit1.PK_ACTION_INSTALL_OR_REMOVE_PACKAGES), "org.freedesktop.packagekit.trigger-offline-update": ( policykit1.PK_ACTION_UPGRADE_PACKAGES), "org.freedesktop.packagekit.clear-offline-update": ( policykit1.PK_ACTION_UPGRADE_PACKAGES)} NATIVE_ARCH = apt_pkg.get_architectures()[0] class PackageKit(core.DBusObject): """Provides a limited set of the PackageKit system D-Bus API.""" def __init__(self, queue, connect=True, bus=None): """Initialize a new PackageKit compatibility layer. Keyword arguments: connect -- if the daemon should connect to the D-Bus (default is True) bus -- the D-Bus to connect to (defaults to the system bus) """ pklog.info("Initializing PackageKit compat layer") bus_name = None bus_path = None if connect is True: if bus is None: bus = dbus.SystemBus() self.bus = bus bus_path = PACKAGEKIT_DBUS_PATH bus_name = dbus.service.BusName(PACKAGEKIT_DBUS_SERVICE, self.bus) core.DBusObject.__init__(self, bus_name, bus_path) self._updates_changed_timeout_id = None self._updates_changed = False self.queue = queue self.queue.worker.connect("transaction-done", self._on_transaction_done) self.queue.connect("queue-changed", self._on_queue_changed) self._distro_id = None self.netmon = networking.get_network_monitor() self.netmon.connect("network-state-changed", self._on_network_state_changed) self.roles = bitfield_summarize(pk.RoleEnum.REFRESH_CACHE, pk.RoleEnum.UPDATE_PACKAGES, pk.RoleEnum.INSTALL_PACKAGES, pk.RoleEnum.INSTALL_FILES, pk.RoleEnum.REMOVE_PACKAGES, pk.RoleEnum.GET_UPDATES, pk.RoleEnum.GET_UPDATE_DETAIL, pk.RoleEnum.GET_PACKAGES, pk.RoleEnum.GET_DETAILS, pk.RoleEnum.GET_DEPENDS, pk.RoleEnum.GET_REQUIRES, pk.RoleEnum.SEARCH_NAME, pk.RoleEnum.SEARCH_DETAILS, pk.RoleEnum.SEARCH_GROUP, pk.RoleEnum.SEARCH_FILE, pk.RoleEnum.WHAT_PROVIDES, pk.RoleEnum.REPO_ENABLE, pk.RoleEnum.INSTALL_SIGNATURE, pk.RoleEnum.REPAIR_SYSTEM, pk.RoleEnum.CANCEL, pk.RoleEnum.DOWNLOAD_PACKAGES) if META_RELEASE_SUPPORT: self.roles = bitfield_add(self.roles, pk.RoleEnum.GET_DISTRO_UPGRADES) self.filters = bitfield_summarize(pk.FilterEnum.INSTALLED, pk.FilterEnum.NOT_INSTALLED, pk.FilterEnum.FREE, pk.FilterEnum.NOT_FREE, pk.FilterEnum.GUI, pk.FilterEnum.NOT_GUI, pk.FilterEnum.COLLECTIONS, pk.FilterEnum.NOT_COLLECTIONS, pk.FilterEnum.SUPPORTED, pk.FilterEnum.NOT_SUPPORTED, pk.FilterEnum.ARCH, pk.FilterEnum.NOT_ARCH, pk.FilterEnum.NEWEST) self.groups = bitfield_summarize(*SECTION_GROUP_MAP.values()) #FIXME: Add support for Plugins self.provides = (pk.ProvidesEnum.ANY) self._get_network_state() @inline_callbacks def _get_network_state(self): """Helper to defer the network state checking.""" yield self.netmon.get_network_state() # SIGNALS # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_DBUS_INTERFACE, signature="") def RestartSchedule(self): """A system restart has been sceduled.""" pass # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_DBUS_INTERFACE, signature="as") def TransactionListChanged(self, transactions): """The transaction list has changed, because either a transaction has finished or a new transaction created. :param transactions: A list of transaction ID's. :type transactions: as """ pklog.debug("Emitting TransactionListChanged signal: %s", transactions) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_DBUS_INTERFACE, signature="") def UpdatesChanged(self): """This signal is emitted when the number of updates has changed.""" pklog.debug("Emitting UpdatesChanged signal") # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_DBUS_INTERFACE, signature="") def RepoListChanged(self): """This signal is emitted when the repository list has changed.""" pass # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_DBUS_INTERFACE, signature="") def Changed(self): """This signal is emitted when a property on the interface changes.""" pklog.debug("Emitting PackageKit Changed()") # METHODS # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(PACKAGEKIT_DBUS_INTERFACE, in_signature="s", out_signature="u", sender_keyword="sender") def CanAuthorize(self, action_id, sender): """Allows a client to find out if it would be allowed to authorize an action. :param action_id: The action ID, e.g. org.freedesktop.packagekit.system-network-proxy-configure :returns: The result, either yes, no or interactive. """ pklog.info("CanAuthorize() was called: %s", str(action_id)) return self._can_authorize(action_id, sender) @inline_callbacks def _can_authorize(self, action_id, sender): try: action_id_aptd = MAP_POLICY[action_id] except KeyError: return_value(pk.AuthorizeEnum.UNKNOWN) try: policykit1.check_authorization_by_name( self, action_id, flags=policykit1.CHECK_AUTH_NONE) except policykit1.NotAuthorizedError: return_value(pk.AuthorizeEnum.NO) except policykit1.AuthorizationFailed: # check_authorization_* behaves a little bit different if the # flags are set to NONE instead of INTERACTIVE return_value(pk.AuthorizeEnum.INTERACTIVE) except: return_value(pk.AuthorizeEnum.UNKNOWN) return_value(pk.AuthorizeEnum.YES) # pylint: disable-msg=C0103,C0322 @dbus.service.method(PACKAGEKIT_DBUS_INTERFACE, in_signature="s", out_signature="") def StateHasChanged(self, reason): """This method suggests to PackageKit that the package backend state may have changed. This allows plugins to the native package manager to suggest that PackageKit drops it's caches. :param reason: The reason of the state change. Valid reasons are resume or posttrans. Resume is given a lower priority than posttrans. """ pklog.info("StateHasChanged() was called: %s", str(reason)) self._updates_changed = True if reason == "cache-update": self._check_updates_changed(timeout=30) elif reason == "resume": self._check_updates_changed(timeout=180) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(PACKAGEKIT_DBUS_INTERFACE, in_signature="", out_signature="o", sender_keyword="sender") def CreateTransaction(self, sender): """Gets a new transaction ID from the daemon. :returns: The tid, e.g. 45_dafeca_checkpoint32 """ pklog.info("CreateTransaction() was called") return self._create_transaction(sender) @inline_callbacks def _create_transaction(self, sender): pid, uid, cmdline = yield policykit1.get_proc_info_from_dbus_name( sender, self.bus) pktrans = PackageKitTransaction(pid, uid, cmdline, self.queue, sender) return_value(pktrans.tid) # pylint: disable-msg=C0103,C0322 @dbus.service.method(PACKAGEKIT_DBUS_INTERFACE, in_signature="", out_signature="s") def GetDaemonState(self): """Return the state of the currently running transactions.""" pklog.info("GetDaemonState() was called") #FIXME: Add some useful data here return "All is fine!" # pylint: disable-msg=C0103,C0322 @dbus.service.method(PACKAGEKIT_DBUS_INTERFACE, in_signature="", out_signature="ao") def GetTransactionList(self): """Gets the transaction list of any transactions that are in progress. :returns: A list of transaction ID's """ pklog.info("GetTransactionList() was called") return self._get_transaction_list() # HELPERS def _get_properties(self, iface): """Helper to get the properties of a D-Bus interface.""" if iface == PACKAGEKIT_DBUS_INTERFACE: return { # Claim that we are a current version "VersionMajor": dbus.UInt32(0), "VersionMinor": dbus.UInt32(8), "VersionMicro": dbus.UInt32(9), "BackendName": dbus.String("aptdaemon"), "BackendDescription": dbus.String("Compatibility layer"), "BackendAuthor": dbus.String(__author__), "Groups": dbus.UInt64(self.groups), "Provides": dbus.UInt64(self.provides), "Filters": dbus.UInt64(self.filters), "Roles": dbus.UInt64(self.roles), "MimeTypes": dbus.Array(["application/x-deb"], signature="s"), "Locked": dbus.Boolean(False), "NetworkState": dbus.UInt32(self.netmon.state), "DistroId": dbus.String(self._get_distro_id())} else: return {} def _get_distro_id(self): """Return information about the distibution.""" if self._distro_id is None: distro, version, _codename = platform.dist() self._distro_id = "%s;%s;%s" % (distro or "unknown", version or "unknown", NATIVE_ARCH) return self._distro_id def _on_network_state_changed(self, mon, state): self.Changed() self.PropertiesChanged(PACKAGEKIT_DBUS_INTERFACE, {"NetworkState": dbus.UInt32(state)}, []) def _on_queue_changed(self, queue): self.TransactionListChanged(self._get_transaction_list()) self._check_updates_changed() def _get_transaction_list(self): pk_transactions = [] for trans in self.queue.items: # We currently only emit PackageKit transaction #FIXME: Should we use MergedTransaction for all transactions and # ROLE_UNKOWN for aptdaemon only transactions? try: pk_transactions.append(trans.pktrans.tid) except AttributeError: pass try: pk_transactions.append(self.queue.worker.trans.pktrans.tid) except AttributeError: pass return pk_transactions def _on_transaction_done(self, worker, trans): # If a cache modifing transaction is completed schedule an # UpdatesChanged signal if trans.role in (aptd_enums.ROLE_INSTALL_FILE, aptd_enums.ROLE_INSTALL_PACKAGES, aptd_enums.ROLE_REMOVE_PACKAGES, aptd_enums.ROLE_UPGRADE_PACKAGES, aptd_enums.ROLE_COMMIT_PACKAGES, aptd_enums.ROLE_UPGRADE_SYSTEM, aptd_enums.ROLE_FIX_BROKEN_DEPENDS): self._updates_changed = True self._check_updates_changed() elif trans.role == aptd_enums.ROLE_UPDATE_CACHE: self._updates_changed = True self._check_updates_changed(timeout=30) def _check_updates_changed(self, timeout=60): """After the queue was processed schedule a delayed UpdatesChanged signal if required. """ if not self.queue.items and self._updates_changed: if self._updates_changed_timeout_id: # If we already have a scheduled UpdatesChanged signal # delay it even further pklog.debug("UpdatesChanged signal re-scheduled") GLib.source_remove(self._updates_changed_timeout_id) else: pklog.debug("UpdatesChanged signal scheduled") self._updates_changed_timeout_id = \ GLib.timeout_add_seconds(timeout, self._delayed_updates_changed) def _delayed_updates_changed(self): """Emit the UpdatesChanged signal and clear the timeout.""" self.UpdatesChanged() self._updates_changed_timeout_id = None self._updates_changed = False return False class MergedTransaction(core.Transaction): """Overlay of an Aptdaemon transaction which also provides the PackageKit object and its interfaces. """ def __init__(self, pktrans, role, queue, connect=True, bus=None, packages=None, kwargs=None): core.Transaction.__init__(self, pktrans.tid[1:], role, queue, pktrans.pid, pktrans.uid, pktrans.cmdline, pktrans.sender, connect, bus, packages, kwargs) self.pktrans = pktrans self.run_time = 0 @inline_callbacks def _run(self, sender): """Run the transaction and convert exceptions to PackageKit ones.""" try: yield core.Transaction._run(self, sender) except (TransactionFailed, errors.NotAuthorizedError, errors.AuthorizationFailed): # It is sufficient for PackageKit if the exit state and error # code of the transaction are set. So silently drop the execp if self.error: pass except Exception as error: raise error @inline_callbacks def _check_auth(self): """Override the auth method to allow simulates without any authorization. """ if bitfield_contains(self.pktrans.flags, pk.TransactionFlagEnum.SIMULATE): raise StopIteration else: yield core.Transaction._check_auth(self) @inline_callbacks def _check_simulated(self): """Skip simulate calls for simulated transactions.""" if bitfield_contains(self.pktrans.flags, pk.TransactionFlagEnum.SIMULATE): raise StopIteration else: yield core.Transaction._check_simulated(self) def _set_status(self, enum): core.Transaction._set_status(self, enum) self.pktrans.status = get_pk_status_enum(enum) status = property(core.Transaction._get_status, _set_status) def _set_progress(self, percent): core.Transaction._set_progress(self, percent) self.pktrans.percentage = self._progress progress = property(core.Transaction._get_progress, _set_progress) def _set_progress_details(self, details): core.Transaction._set_progress_details(self, details) self.pktrans.download_size_remaing = int(details[3]) - int(details[2]) self.pktrans.speed = int(details[4]) self.pktrans.remaining_time = int(details[5]) self.pktrans.elapsed_time = int(time.time() - self.pktrans.start_time) progress_details = property(core.Transaction._get_progress_details, _set_progress_details) def _set_progress_package(self, progress): core.Transaction._set_progress_package(self, progress) pkg_name, enum = progress # Ignore dpkg triggers if enum == aptd_enums.PKG_RUNNING_TRIGGER or pkg_name == "dpkg-exec": return try: id = self.pktrans.pkg_id_cache[pkg_name] except KeyError: id = get_pk_package_id(pkg_name) self.emit_package(get_pk_package_enum(enum), id, "") progress_package = property(core.Transaction._get_progress_package, _set_progress_package) def _set_progress_download(self, progress_download): core.Transaction._set_progress_download(self, progress_download) prog_enum = progress_download[1] prog_name = progress_download[2] total_size = progress_download[3] partial_size = progress_download[4] try: id = self.pktrans.pkg_id_cache[prog_name] except KeyError: return self.pktrans.Package(pk.InfoEnum.DOWNLOADING, id, "") if prog_enum == aptd_enums.DOWNLOAD_IDLE: percentage = 0 elif prog_enum == aptd_enums.DOWNLOAD_FETCHING and total_size > 0: percentage = partial_size * 100 / total_size elif prog_enum == aptd_enums.DOWNLOAD_DONE: percentage = 100 else: # In the case of an error percentage = 0 self.pktrans.ItemProgress(id, pk.InfoEnum.DOWNLOADING, percentage) progress_download = property(core.Transaction._get_progress_download, _set_progress_download) def _set_exit(self, enum): core.Transaction._set_exit(self, enum) self.pktrans.exit = get_pk_exit_enum(enum) exit = property(core.Transaction._get_exit, _set_exit) def _set_error(self, excep): core.Transaction._set_error(self, excep) self.pktrans.ErrorCode(get_pk_error_enum(excep.code), self._error_property[1]) error = property(core.Transaction._get_error, _set_error) def _remove_from_connection_no_raise(self): core.Transaction._remove_from_connection_no_raise(self) self.pktrans.Destroy() try: self.pktrans.remove_from_connection() except LookupError as error: pklog.debug("remove_from_connection() raised LookupError: %s", error) finally: self.pktrans.trans = None self.pktrans = None return False def emit_details(self, package_id, license, group, detail, url, size): self.pktrans.Details(package_id, license, group, detail, url, size) def emit_files(self, id, file_list): self.pktrans.Files(id, file_list) def emit_package(self, info, id, summary): if id.startswith("dpkg-exec;"): # PackageKit would show a non existing package pklog.debug("Don't emit Package() signal for the dpkg trigger") return self.pktrans.Package(info, id, summary) self.pktrans.last_package = id def emit_update_detail(self, package_id, updates, obsoletes, vendor_urls, bugzilla_urls, cve_urls, restart, update_text, changelog, state, issued, updated): self.pktrans.UpdateDetail(package_id, updates, obsoletes, vendor_urls, bugzilla_urls, cve_urls, restart, update_text, changelog, state, issued, updated) class PackageKitTransaction(core.DBusObject): """Provides a PackageKit transaction object.""" def __init__(self, pid, uid, cmdline, queue, sender, connect=True, bus=None): pklog.info("Initializing PackageKit transaction") bus_name = None bus_path = None self.tid = "/%s" % uuid.uuid4().hex if connect is True: if bus is None: bus = dbus.SystemBus() self.bus = bus bus_path = self.tid bus_name = dbus.service.BusName(PACKAGEKIT_DBUS_SERVICE, bus) core.DBusObject.__init__(self, bus_name, bus_path) self.queue = queue self.hints = {} self.start_time = time.time() self._elapsed_time = dbus.UInt32(0) self._remaining_time = dbus.UInt32(0) self._download_size_remaining = dbus.UInt64(0) self._speed = dbus.UInt32(0) self._caller_active = True self._allow_cancel = False self._percentage = dbus.UInt32(0) self._status = pk.StatusEnum.SETUP self._last_package = "" self.uid = dbus.UInt32(uid) self.pid = pid self.cmdline = cmdline self.role = pk.RoleEnum.UNKNOWN self.sender = sender self.trans = None self.flags = pk.TransactionFlagEnum.NONE self.pkg_id_cache = {} @property def allow_cancel(self): return self._allow_cancel @allow_cancel.setter def allow_cancel(self, value): self._allow_cancel = dbus.Boolean(value) self.PropertiesChanged(PACKAGEKIT_TRANS_DBUS_INTERFACE, {"AllowCancel": self._allow_cancel}, []) self.Changed() @property def last_package(self): return self._last_package @last_package.setter def last_package(self, value): self._last_package = dbus.String(value) self.PropertiesChanged(PACKAGEKIT_TRANS_DBUS_INTERFACE, {"LastPackage": self._last_package}, []) self.Changed() @property def caller_active(self): return self._caller_active @caller_active.setter def caller_active(self, value): self._caller_active = dbus.Boolean(value) self.PropertiesChanged(PACKAGEKIT_TRANS_DBUS_INTERFACE, {"CallerActive": self._caller_active}, []) self.Changed() @property def percentage(self): return self._percentage @percentage.setter def percentage(self, progress): self._percentage = dbus.UInt32(progress) self.PropertiesChanged(PACKAGEKIT_TRANS_DBUS_INTERFACE, {"Percentage": self._percentage}, []) self.Changed() @property def status(self): return self._status @status.setter def status(self, enum): self._status = dbus.UInt32(enum) self.PropertiesChanged(PACKAGEKIT_TRANS_DBUS_INTERFACE, {"Status": self._status}, []) self.Changed() @property def elapsed_time(self): return self._elapsed_time @elapsed_time.setter def elapsed_time(self, ela): self._elpased_time = dbus.UInt32(ela) self.PropertiesChanged(PACKAGEKIT_TRANS_DBUS_INTERFACE, {"ElapsedTime": self._elapsed_time}, []) self.Changed() @property def remaining_time(self): return self._remaining_time @remaining_time.setter def remaining_time(self, value): self._remaining_time = dbus.UInt32(value) self.PropertiesChanged(PACKAGEKIT_TRANS_DBUS_INTERFACE, {"RemainingTime": self._remaining_time}, []) self.Changed() @property def download_size_remaining(self): return self._download_size_remaining @download_size_remaining.setter def download_size_remaining(self, value): self._download_size_remaining = dbus.UInt64(value) self.PropertiesChanged(PACKAGEKIT_TRANS_DBUS_INTERFACE, {"DownloadSizeRemaining": self._download_size_remaining}, []) self.Changed() @property def speed(self): return self._speed @speed.setter def speed(self, speed): self._speed = dbus.UInt32(speed) self.PropertiesChanged(PACKAGEKIT_TRANS_DBUS_INTERFACE, {"Speed": self._speed}, []) self.Changed() @property def exit(self): return self._exit @exit.setter def exit(self, enum): self._exit = enum self.run_time = int((time.time() - self.start_time) * 1000) # The time could go backwards ... if self.run_time < 0: self.run_time = 0 if enum == pk.ExitEnum.CANCELLED: self.ErrorCode(pk.ErrorEnum.TRANSACTION_CANCELLED, "") self.status = pk.StatusEnum.FINISHED self.Finished(enum, self.run_time) # SIGNALS # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="osbuusus") def Transaction(self, object_path, timespec, succeeded, role, duration, data, uid, cmdline): """This signal is sent when more details are required about a specific transaction. :param object_path: The transaction ID of the old transaction. :param timespec: The timespec of the old transaction in ISO8601 format. :param succeeded: If the transaction succeeded. :param role: The role enumerated type. :param duration: The duration of the transaction in milliseconds. :param data: Any data associated :param uid: The user ID of the user that scheduled the action. :param cmdline: The command line of the tool that scheduled the action, e.g. /usr/bin/gpk-application. """ pklog.debug("Emitting Transaction signal: %s, %s, %s, %s, %s, %s, " "%s, %s", object_path, timespec, succeeded, pk.role_enum_to_string(role), duration, data, uid, cmdline) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="us") def ErrorCode(self, code, details): """This signal is used to report errors back to the session program. Errors should only be send on fatal abort. :param code: Enumerated type, e.g. no-network. :param details: Long description or error, e.g. "failed to connect" :type code: u :type details: s """ pklog.debug("Emitting ErrorCode signal: %s, %s", pk.error_enum_to_string(code), details) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="") def Changed(self): """This signal is emitted when a property on the interface changes.""" pklog.debug("Emitting Changed signal") # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="") def Destroy(self): """This signal is sent when the transaction has been destroyed and is no longer available for use.""" pklog.debug("Emitting Destroy signal") # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="uu") def Finished(self, exit_enum, runtime): """This signal is used to signal that the transaction has finished. :param exit: The PkExitEnum describing the exit status of the transaction. :param runtime: The amount of time in milliseconds that the transaction ran for. :type exit: s :type runtime: u """ pklog.debug("Emitting Finished signal: %s, %s", pk.exit_enum_to_string(exit_enum), runtime) pass # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="ssusst") def Details(self, package_id, license, group, detail, url, size): """This signal allows the backend to convey more details about the package. :param package_id: The package ID :param license: The license string, e.g. GPLv2+ or BSD and (MPLv1.1 or GPLv2+). Moredetails about the correct way to format licensing strings can be found on the Fedora packaging wiki. :param group: The enumerated package group description :param detail: The multi-line package description. If formatting is required, then markdown syntax should be used, e.g. This is **critically** important :param url: The upstream project homepage :param size: The size of the package in bytes. This should be the size of the entire package file, not the size of the files installed on the system. If the package is not installed, and already downloaded and present in the package manager cache, then this value should be set to zero. """ pklog.debug("Emitting Details signal for %s", package_id) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="us") def Message(self, kind, details): """This signal is sent when the backend wants to send a message to the session. The message will be shown after the transaction has been completed. """ pklog.debug("Emitting Message signal: %s, %s", kind, details) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="sas") def Files(self, package_id, file_list): """This signal is used to push file lists from the backend to the session. :param package_id: The Package ID that called the method. :param file_list: The file list """ pklog.debug("Emitting Files signal: %s, %s", package_id, file_list) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="suu") def ItemProgress(self, package_id, status, percentage): """This signal allows the backend to send information about package or repository progress when using Simultanous mode. :param package_id: The package ID :param status: The status enumerated value that is being completed :param percentage: The percentage of this action is completed """ pklog.debug("Emitting ItemProgress signal for %s: %s, %s", package_id, pk.info_enum_to_string(status), percentage) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="sasasasasasussuss") def UpdateDetail(self, package_id, updates, obsoletes, vendor_urls, bugzilla_urls, cve_urls, restart, update_text, changelog, state, issued, updated): """This signal is sent when more details are required about a specific update. :param package_id: The package ID :param updates: A list of package_id's that are to be updated. :param obsoletes: A list of package_id's that are to be obsoleted. :param vendor_urls: A URL with more details on the update, e.g. a page with more information on the update. The format of this command should be http://www.foo.org/page.html?4567;Update to SELinux :param bugzilla_urls: A bugzilla URL with more details on the update. If no URL is available then this field should be left empty. :param cve_urls: A CVE URL with more details on the security advisory. :param restart: A valid restart type, e.g. system. :param update_text: The update text describing the update. If formatting is required, then markdown syntax should be used, e.g. This is **critically** important. :param changelog: The ChangeLog text describing the changes since the last version. :param state: The state of the update, e.g. stable or testing. :param issued: The ISO8601 encoded date that the update was issued. :param updated: The ISO8601 encoded date that the update was updated. """ pklog.debug("Emitting UpdateDetail signal for %s", package_id) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="uss") def Package(self, info, package_id, summary): """This signal allows the backend to communicate packages to the session. If updating, as packages are updated then emit them to the screen. This allows a summary to be presented after the transaction. When returning results from a search always return installed before available for the same package name. :param info: A valid info enumerated type :param package_id: This identifier is of the form name;version;arch;data in a single string and is meant to represent a single package unique across all local and remote data stores. For a remote, not-installed package the data field should be set as the repository identifier or repository name. The data field for an installed package must be prefixed with installed as this is used to identify which packages are installable or installed in the client tools. As a special extension, if the package manager is able to track which repository a package was originally installed from, then the data field can be set to installed:REPO-NAME which allows the frontend client to advise the user of the package origin. The data field for a non-installed local package must be local as this signifies a repository name is not available and that package resides locally on the client system rather than in any specific repository. :param summary: The one line package summary, e.g. Clipart for OpenOffice """ pklog.debug("Emitting Package signal: %s, %s, %s'", pk.info_enum_to_string(info), package_id, summary[:10]) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="sss") def DistroUpgrade(self, distro_type, name, summary): """This signal allows the backend to communicate distribution upgrades to the session. :param type: A valid upgrade string enumerated type, e.g. stable or unstable :param name: The short name of the distribution, e.g. Fedora Core 10 RC1 :param summary: The multi-line description of the release """ pklog.debug("Emitting DistroUpgrade signal: %s, %s, %s", pk.distro_upgrade_enum_to_string(distro_type), name, summary) # pylint: disable-msg=C0103,C0322 @dbus.service.signal(dbus_interface=PACKAGEKIT_TRANS_DBUS_INTERFACE, signature="us") def RequireRestart(self, restart_type, package_id): """This signal is sent when the session client should notify the user that a restart is required to get all changes into effect. :param package_id: The Package ID of the package tiggering the restart :param file_list: One of system, application or session """ pklog.debug("Emitting RequireRestart signal: %s, %s", pk.restart_enum_to_string(restart_type), package_id) # METHODS # pylint: disable-msg=C0103,C0322 @dbus.service.method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="as", out_signature="") def SetHints(self, hints): """This method allows the calling session to set transaction hints for the package manager which can change as the transaction runs. This method can be sent before the transaction has been run or whilst it is running. There is no limit to the number of times this method can be sent, although some backends may only use the values that were set before the transaction was started. Each parameter value is optional. :param hints: The values as an array of strings, for example ['locale=en_GB.utf8','interactive=false','cache-age=3600'] """ pklog.info("SetHints() was called: %s", get_string_from_array(hints)) for hint in hints: key, value = hint.split("=", 1) if key not in ["locale", "idle", "background", "interactive", "cache-age", "frontend-socket"]: raise Exception("Invalid option %s" % key) self.hints[key] = value # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="", out_signature="", sender_keyword="sender") def Cancel(self, sender): """This method cancels a transaction that is already running.""" if self.trans: return self.trans._cancel(sender) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tasbb", out_signature="", sender_keyword="sender") def RemovePackages(self, flags, package_ids, allow_deps, autoremove, sender): """This method removes packages from the local system. This method typically emits Progress, Status and Error and Package. Package enumerated types should be downloading, updating, installing or removing. :param flags: If the transaction should be simulated or prepared :param package_ids: An array of package IDs. :param allow_deps: Either true or false. If true allow other packages to be removed with the package, but false should cause the script to abort if other packages are dependant on the package. :param autoremove: Either true or false. This option is only really interesting on embedded devices with a limited amount of flash storage. It suggests to the packagekit backend that dependencies installed at the same time as the package should also be removed if they are not required by anything else. For instance, if you install OpenOffice, it might download libneon as a dependency. When auto_remove is set to true, and you remove OpenOffice then libneon will also get removed automatically. """ pklog.info("RemovePackages() was called: %s, %s", get_string_from_flags(flags), get_string_from_array(package_ids)) return self._remove_packages(flags, package_ids, allow_deps, autoremove, sender) @inline_callbacks def _remove_packages(self, flags, package_ids, allow_deps, autoremove, sender): self.role = pk.RoleEnum.REMOVE_PACKAGES self.flags = flags self.trans = self._get_merged_trans(aptd_enums.ROLE_REMOVE_PACKAGES, pkg_ids=package_ids, pkg_type=aptd_enums.PKGS_REMOVE) yield self.trans._set_property(APTDAEMON_TRANSACTION_DBUS_INTERFACE, "RemoveObsoletedDepends", autoremove, sender) #FIXME: Implement allow_deps yield self.trans._run(sender) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tas", out_signature="", sender_keyword="sender") def UpdatePackages(self, flags, package_ids, sender): """This method updates existing packages on the local system. The installer should always update extra packages automatically to fulfil dependencies. This should allow an application to find out what package owns a file on the system. This method typically emits Progress, Status and Error and Package. :param flags: If the transaction is only allowed to install trusted packages. Unsigned packages should not be installed if the flags contains ONLY_TRUSED. If this method is can only install trusted packages, and the packages are unsigned, then the backend will send a ErrorCode(missing-gpg-signature). On recieving this error, the client may choose to retry with ONLY_TRUSTED set after gaining further authentication. : param package_ids: An array of package IDs. """ pklog.info("UpdatePackages() was called: %s, %s", get_string_from_flags(flags), get_string_from_array(package_ids)) return self._update_packages(flags, package_ids, sender) @inline_callbacks def _update_packages(self, flags, package_ids, sender): self.role = pk.RoleEnum.UPDATE_PACKAGES self.flags = flags self.trans = self._get_merged_trans(aptd_enums.ROLE_UPGRADE_PACKAGES, pkg_ids=package_ids, pkg_type=aptd_enums.PKGS_UPGRADE) yield self.trans._set_property( APTDAEMON_TRANSACTION_DBUS_INTERFACE, "AllowUnauthenticated", not bitfield_contains(flags, pk.TransactionFlagEnum.ONLY_TRUSTED), sender) yield self.trans._run(sender) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="uas", out_signature="", sender_keyword="sender") def InstallPackages(self, flags, package_ids, sender): """This method installs new packages on the local system. The installer should always install extra packages automatically as the use could call GetDepends prior to the install if a confirmation is required in the UI. This method typically emits Progress, Status and Error and Package. Package enumerated types should be downloading, updating, installing or removing. :param flags: If the transaction is only allowed to install trusted packages. Unsigned packages should not be installed if the flags contains ONLY_TRUSED. If this method is can only install trusted packages, and the packages are unsigned, then the backend will send a ErrorCode(missing-gpg-signature). On recieving this error, the client may choose to retry with ONLY_TRUSTED set after gaining further authentication. : param package_ids: An array of package IDs. """ pklog.info("InstallPackages() was called: %s, %s", get_string_from_flags(flags), get_string_from_array(package_ids)) return self._install_packages(flags, package_ids, sender) @inline_callbacks def _install_packages(self, flags, package_ids, sender): self.role = pk.RoleEnum.INSTALL_PACKAGES self.flags = flags self.trans = self._get_merged_trans(aptd_enums.ROLE_INSTALL_PACKAGES, pkg_ids=package_ids, pkg_type=aptd_enums.PKGS_INSTALL) yield self.trans._set_property( APTDAEMON_TRANSACTION_DBUS_INTERFACE, "AllowUnauthenticated", not bitfield_contains(flags, pk.TransactionFlagEnum.ONLY_TRUSTED), sender) yield self.trans._run(sender) # pylint: disable-msg=C0103,C0322 @dbus.service.method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="su", out_signature="", sender_keyword="sender") def UpgradeSystem(self, distro_id, upgrade_kind, sender): """This method updates existing packages on the local system. The installer should always update extra packages automatically to fulfil dependencies. This should allow an application to find out what package owns a file on the system. This method typically emits Progress, Status and Error and Package. :param distro_id: The distribution id to upgrade to, e.g. saucy :param upgrade_kind: The type of upgrade e.g. minimal, default or complete. Minimal upgrades will download the smallest amount of data before launching a installer. The default is to download enough data to launch a full graphical installer, but a complete upgrade will be required if there is no internet access during install time. """ pklog.info("UpgradeSystem() was called") GLib.idle_add(self._fail_not_implemented) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="t", out_signature="", sender_keyword="sender") def RepairSystem(self, flags, sender): """This method recovers the package managment system from e.g. unsatisified dependencies of installed packages. :param flags: If the transaction is only allowed to install trusted packages. Unsigned packages should not be installed if the flags contains ONLY_TRUSED. If this method is can only install trusted packages, and the packages are unsigned, then the backend will send a ErrorCode(missing-gpg-signature). On recieving this error, the client may choose to retry with ONLY_TRUSTED set after gaining further authentication. """ pklog.info("RepairSystem() was called") return self._repair_system(flags, sender) @inline_callbacks def _repair_system(self, flags, sender): self.role = pk.RoleEnum.REPAIR_SYSTEM self.flags = flags self.trans = self._get_merged_trans(aptd_enums.ROLE_FIX_BROKEN_DEPENDS) yield self.trans._set_property( APTDAEMON_TRANSACTION_DBUS_INTERFACE, "AllowUnauthenticated", not bitfield_contains(flags, pk.TransactionFlagEnum.ONLY_TRUSTED), sender) yield self.trans._run(sender) # pylint: disable-msg=C0103,C0322 @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="b", out_signature="", sender_keyword="sender") def RefreshCache(self, force, sender): """This method should fetch updated meta-data for all enabled repositories. When fetching each software source, ensure to emit RepoDetail for the current source to give the user interface some extra details. Be sure to have the "enabled" field set to true, otherwise you wouldn't be fetching that source. This method typically emits Progress, Error and RepoDetail. :param force: If the caches should be cleaned and reloaded even if there is valid, up to date data. """ pklog.info("RefreshCache() was called") self.role = pk.RoleEnum.REFRESH_CACHE return self._refresh_cache(force, sender) @inline_callbacks def _refresh_cache(self, force, sender): self.trans = self._get_merged_trans(aptd_enums.ROLE_UPDATE_CACHE, kwargs={"sources_list": None}) yield self.trans._run(sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="as", out_signature="", sender_keyword="sender") def GetUpdateDetail(self, package_ids, sender): """This method returns details about a specific update. This method typically emits UpdateDetail and Error :param package_ids: An array of package IDs. """ pklog.info("GetUpdateDetail() was called") self.role = pk.RoleEnum.GET_UPDATE_DETAIL kwargs = {"package_ids": package_ids} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="t", out_signature="", sender_keyword="sender") def GetUpdates(self, filter, sender): """This method should return a list of packages that are installed and are upgradable. It should only return the newest update for each installed package. This method typically emits Progress, Error and Package. :param filter: A correct filter, e.g. none or installed;~devel """ pklog.info("GetUpdates() was called") self.role = pk.RoleEnum.GET_UPDATES kwargs = {"filters": filter} return self._run_query(kwargs, sender) @dbus.service.method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="", out_signature="", sender_keyword="sender") def GetDistroUpgrades(self, sender): """This method should return a list of distribution upgrades that are available. It should not return updates, only major upgrades. This method typically emits DistroUpgrade, Error """ pklog.info("GetDistroUpgrades() was called") self.role = pk.RoleEnum.GET_DISTRO_UPGRADES self.status = pk.StatusEnum.RUNNING GLib.idle_add(defer_idle, self._get_distro_upgrades) def _get_distro_upgrades(self): #FIXME: Should go into the worker after the threading branch is merged # It allows to run a nested loop until the download is finished self.allow_cancel = False self.percentage = 101 self.status = pk.StatusEnum.DOWNLOAD_UPDATEINFO if META_RELEASE_SUPPORT is False: self.ErrorCode(pk.ErrorEnum.INTERNAL_ERROR, "Please make sure that update-manager-core is" "correctly installed.") self.exit = pk.ExitEnum.FAILED return #FIXME Evil to start the download during init meta_release = GMetaRelease() meta_release.connect("download-done", self._on_distro_upgrade_download_done) def _on_distro_upgrade_download_done(self, meta_release): #FIXME: Add support for description if meta_release.new_dist is not None: self.DistroUpgrade("stable", "%s %s" % (meta_release.new_dist.name, meta_release.new_dist.version), "The latest stable release") self.exit = pk.ExitEnum.SUCCESS @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tas", out_signature="", sender_keyword="sender") def Resolve(self, filter, packages, sender): """This method turns a single package name into a package_id suitable for the other methods. If the package is a fully formed package_id, then this should be treated as an exact package match. This is useful to find the summary or installed status of a package_id returned from other methods. This method typically emits Error and Package. Package enumerated types should be available or installed. :param filter: A correct filter, e.g. none or installed;~devel :param packages: An array of package names, e.g. scribus-clipart. The package names are case sensitive, so for instance: Resolve('Packagekit') would not match PackageKit. As a special case, if Resolve() is called with a name prefixed with @ then this should be treated as a category, for example: @web-development. In this instance, a meta-package should be emitted, for example: web-development;;;meta with the correct installed status and summary for the category. """ pklog.info("Resolve() was called: %s", get_string_from_array(packages)) self.role = pk.RoleEnum.RESOLVE kwargs = {"filters": filter, "packages": packages} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="t", out_signature="", sender_keyword="sender") def GetPackages(self, filter, sender): """This method returns all the packages without a search term. This method typically emits Progress, Error and Package. Package enumerated types should be available or installed. :param filter: A correct filter, e.g. none or installed;~devel """ pklog.info("GetPackages() was called") self.role = pk.RoleEnum.GET_PACKAGES kwargs = {"filters": filter} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="as", out_signature="", sender_keyword="sender") def GetDetails(self, package_ids, sender): """This method should return all the details about a specific package_id. This method typically emits Progress, Status and Error and Details. :param package_ids: An array of package IDs. """ pklog.info("GetDetails() was called") self.role = pk.RoleEnum.GET_DETAILS kwargs = {"package_ids": package_ids} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="as", out_signature="", sender_keyword="sender") def GetFiles(self, package_ids, sender): """This method should return the file list of the package_id. This method typically emits Progress, Status and Error and Files. :param package_ids: An array of package IDs. """ pklog.info("GetFiles() was called") self.role = pk.RoleEnum.GET_FILES kwargs = {"package_ids": package_ids} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tas", out_signature="", sender_keyword="sender") def SearchFiles(self, filter, values, sender): """This method searches for files on the local system and files in available packages. This should search for files. This should allow an application to find out what package owns a file on the system. This method typically emits Progress, Error and Package. Package enumerated types should be available or installed. :param filter: A correct filter, e.g. none or installed;~devel :param values: A filename or fully qualified path and filename on the system. If the search term begins with a / it will be assumed the entire path has been given and only packages that contain this exact path and filename will be returned. If the search term does not start with / then it should be treated as a single filename, which can be in any directory. The search is case sensitive, and should not be escaped or surrounded in quotes. """ pklog.info("SearchFiles() was called") self.role = pk.RoleEnum.SEARCH_FILE kwargs = {"filters": filter, "values": values} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tas", out_signature="", sender_keyword="sender") def SearchDetails(self, filter, values, sender): """This method allows deeper searching than SearchName(). Do not refresh the package cache. This should be fast. This is very similar to search-name. This should search as much data as possible, including, if possible repo names, package summaries, descriptions, licenses and URLs. Try to emit installed before available packages first, as it allows the client program to perform the GUI filtering and matching whilst the daemon is running the transaction. If the backend includes installed and available versions of the same package when searching then the available version will have to be filtered in the backend. This method typically emits Progress, Error and Package. Package enumerated types should be available or installed. :param filter: A correct filter, e.g. none or installed;~devel :param values: A single word search term with no wildcard chars. The search term can contain many words separated by spaces. In this case, the search operator is AND. For example, search of gnome power should returns gnome-power-manager but not gnomesword or powertop. The search should not be treated as case sensitive. """ pklog.info("SearchDetails() was called") self.role = pk.RoleEnum.SEARCH_DETAILS kwargs = {"filters": filter, "values": values} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tas", out_signature="", sender_keyword="sender") def SearchGroups(self, filter, values, sender): """This method returns packages from a given group enumerated type. Do not refresh the package cache. This should be fast. Try to emit installed before available packages first, as it allows the client program to perform the GUI filtering and matching whilst the daemon is running the transaction. If the backend includes installed and available versions of the same package when searching then the available version will have to be filtered in the backend. This method typically emits Progress, Error and Package. Package enumerated types should be available or installed. :param filter: A correct filter, e.g. none or installed;~devel :param values: An enumerated group type, or unknown. The search cannot contain spaces. The following recommendations are made below: If the values strings are prefixed with category: then the request is treated as a 'category search', for example: category:web-development. repo: then the request is treated as a 'repository search', for example: repo:fedora-debuginfo. In this instance all packages that were either installed from, or can be installed from the fedora-debuginfo source would be returned. """ pklog.info("SearchGroups() was called") self.role = pk.RoleEnum.SEARCH_GROUP kwargs = {"filters": filter, "values": values} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tas", out_signature="", sender_keyword="sender") def SearchNames(self, filter, values, sender): """This method searches the package database by package name. Try to emit installed before available packages first, as it allows the client program to perform the GUI filtering and matching whilst the daemon is running the transaction. If the backend includes installed and available versions of the same package when searching then the available version will have to be filtered in the backend. The search methods should return all results in all repositories. This may mean that multiple versions of package are returned. If this is not what is wanted by the client program, then the newest filter should be used. This method typically emits Progress, Error and Package. Package enumerated types should be available or installed. :param filter: A correct filter, e.g. none or installed;~devel :param values: A single word search term with no wildcard chars. The search term can contain many words separated by spaces. In this case, the search operator is AND. For example, search of gnome power should returns gnome-power-manager but not gnomesword or powertop. The search should not be treated as case sensitive. """ pklog.info("SearchNames() was called") self.role = pk.RoleEnum.SEARCH_NAME kwargs = {"filters": filter, "values": values} return self._run_query(kwargs, sender) @dbus.service.method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="s", out_signature="", sender_keyword="sender") def AcceptEula(self, eula_id, sender): """This method allows the user to accept a end user licence agreement. :param eula_id: A valid EULA ID """ self.role = pk.RoleEnum.ACCEPT_EULA GLib.idle_add(self._fail_not_implemented) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="bas", out_signature="", sender_keyword="sender") def DownloadPackages(self, store_in_cache, package_ids, sender): """This method downloads packages into a temporary directory. This method should emit one Files signal for each package that is downloaded, with the file list set as the name of the complete downloaded file and directory, so for example: DownloadPackages('hal;0.1.2;i386;fedora', 'hal-info;2009-09-07;no-arch;updates') should send two signals, e.g. Files('hal;0.1.2;i386;fedora', '/tmp/hal-0.1.2.i386.rpm') and Files('hal-info;2009-09-07;no-arch;updates', '/tmp/hal-info-2009-09-07.noarch.rpm'). :param store_in_cache: If the downloaded files should be stored in the system package cache rather than copied into a newly created directory. See the developer docs for more details on how this is supposed to work. :param package_ids: An array of package IDs. """ pklog.info("DownloadPackages() was called: %s", get_string_from_array(package_ids)) self.role = pk.RoleEnum.DOWNLOAD_PACKAGES kwargs = {"store_in_cache": store_in_cache, "package_ids": package_ids} return self._run_query(kwargs, sender) @dbus.service.method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="u", out_signature="", sender_keyword="sender") def GetOldTransactions(self, number, sender): """This method allows a client to view details for old transactions. :param number: The number of past transactions, or 0 for all known transactions. """ pklog.info("GetOldTransactions() was called: %s", str(number)) self.role = pk.RoleEnum.GET_OLD_TRANSACTIONS GLib.idle_add(self._fail_not_implemented) @dbus.service.method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="t", out_signature="", sender_keyword="sender") def GetRepoList(self, filter, sender): """This method returns the list of repositories used in the system. This method should emit RepoDetail. :param filter: A correct filter, e.g. none or installed;~devel """ pklog.info("GetRepoList() was called") self.role = pk.RoleEnum.GET_REPO_LIST GLib.idle_add(self._fail_not_implemented) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tas", out_signature="", sender_keyword="sender") def InstallFiles(self, flags, full_paths, sender): """This method installs local package files onto the local system. The installer should always install extra dependant packages automatically. This method typically emits Progress, Status and Error and Package. Package enumerated types should be downloading, updating, installing or removing. :param flags: If the transaction is only allowed to install trusted packages. Unsigned packages should not be installed if the flags contains ONLY_TRUSED. If this method is can only install trusted packages, and the packages are unsigned, then the backend will send a ErrorCode(missing-gpg-signature). On recieving this error, the client may choose to retry with ONLY_TRUSTED set after gaining further authentication. :param full_paths: An array of full path and filenames to packages. """ pklog.info("InstallFiles() was called: %s, %s", get_string_from_flags(flags), get_string_from_array(full_paths)) return self._install_files(flags, full_paths, sender) @inline_callbacks def _install_files(self, flags, full_paths, sender): self.role = pk.RoleEnum.INSTALL_FILES self.flags = flags # Python-APT only supports installing one file if len(full_paths) != 1: self.ErrorCode(pk.ErrorEnum.NOT_SUPPORTED, "Only one package can be " "installed at the same time.") self.exit = pk.ExitEnum.FAILED raise StopIteration path = full_paths[0] if not os.path.abspath(path): self.ErrorCode(pk.ErrorEnum.NOT_SUPPORTED, "Path is not absolute: %s") self.exit = pk.ExitEnum.FAILED raise StopIteration if not os.path.isfile(path): self.ErrorCode(pk.ErrorEnum.INVALID_PACKAGE_FILE, "File doesn't exist: %s" % path) self.exit = pk.ExitEnum.FAILED raise StopIteration kwargs = {"path": path, "force": True} self.trans = self._get_merged_trans(aptd_enums.ROLE_INSTALL_FILE, kwargs=kwargs) yield self.trans._run(sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="uss", out_signature="", sender_keyword="sender") def InstallSignature(self, sig_type, key_id, package_id, sender): """This method allows us to install new security keys. :param sig_type: A key type, e.g. gpg :param key_id: A key ID, e.g. BB7576AC :param package_id: A PackageID for the package that the user is trying to install (ignored) """ pklog.info("InstallSignature() was called: %s", str(key_id)) self.role = pk.RoleEnum.INSTALL_SIGNATURE kwargs = {"sig_type": sig_type, "key_id": key_id, "package_id": package_id} return self._run_query(kwargs, sender) @dbus.service.method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="sss", out_signature="", sender_keyword="sender") def RepoSetData(self, repo_id, parameter, value, sender): """This method allows arbitary data to be passed to the repository handler. :param repo_id: A repository identifier, e.g. fedora-development-debuginfo :param parameter: The backend specific value, e.g. set-download-url. :param value: The backend specific value, e.g. http://foo.bar.org/baz. """ pklog.info("RepoSetData() was called: %s, %s, %s", str(repo_id), str(parameter), str(value)) self.role = pk.RoleEnum.REPO_SET_DATA GLib.idle_add(self._fail_not_implemented) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="sb", out_signature="", sender_keyword="sender") def RepoEnable(self, repo_id, enabled, sender): """This method enables the repository specified. :param repo_id: A repository identifier, e.g. fedora-development-debuginfo or an apt source ("deb http://... unstable main") :param enabled: true if enabled, false if disabled. """ pklog.info("RepoEnable() was called(): %s, %s", str(repo_id), str(enabled)) self.role = pk.RoleEnum.REPO_ENABLE kwargs = {"repo_id": repo_id, "enabled": enabled} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tsas", out_signature="", sender_keyword="sender") def WhatProvides(self, filter, type, values, sender): """This method returns packages that provide the supplied attributes. This method is useful for finding out what package(s) provide a modalias or GStreamer codec string. This method typically emits Progress, Status and Error and Package. Package enumerated types should be available or installed. :param filter: A correct filter, e.g. none or installed;~devel :param type: A PkProvideType, e.g. PK_PROVIDES_ENUM_CODEC. :param values: The data to send to the backend to get the packages. Note: This is backend specific. """ pklog.info("WhatProvides() was called") self.role = pk.RoleEnum.WHAT_PROVIDES kwargs = {"filters": filter, "provides_type": type, "values": values} return self._run_query(kwargs, sender) @dbus.service.method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="", out_signature="", sender_keyword="sender") def GetCategories(self, sender): pklog.info("GetCategories() was called") """This method return the collection categories""" self.role = pk.RoleEnum.GET_CATEGORIES GLib.idle_add(self._fail_not_implemented) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tasb", out_signature="", sender_keyword="sender") def GetRequires(self, filter, package_ids, recursive, sender): """This method returns packages that depend on this package. This is useful to know, as if package_id is being removed, we can warn the user what else would be removed. This method typically emits Progress, Status and Error and Package. Package enumerated types should be available or installed. :param filter: A correct filter, e.g. none or installed;~devel :param package_ids: An array of package IDs. :param recursive: Either true or false. If yes then the requirements should be returned for all packages returned. This means if gnome-power-manager depends on NetworkManager and NetworkManager depends on HAL, then GetRequires on HAL should return both gnome-power-manager and NetworkManager. """ pklog.info("GetRequires() was called") self.role = pk.RoleEnum.GET_REQUIRES kwargs = {"filters": filter, "package_ids": package_ids, "recursive": recursive} return self._run_query(kwargs, sender) @dbus_deferred_method(PACKAGEKIT_TRANS_DBUS_INTERFACE, in_signature="tasb", out_signature="", sender_keyword="sender") def GetDepends(self, filter, package_ids, recursive, sender): """This method returns packages that this package depends on. This method typically emits Progress, Status and Error and Package. Package enumerated types should be available or installed. :param filter: A correct filter, e.g. none or installed;~devel :param package_ids: An array of package IDs. :param recursive: Either true or false. If yes then the requirements should be returned for all packages returned. This means if gnome-power-manager depends on NetworkManager and NetworkManager depends on HAL, then GetDepends on gnome-power-manager should return both HAL and NetworkManager. """ pklog.info("GetDepends() was called") self.role = pk.RoleEnum.GET_DEPENDS kwargs = {"filters": filter, "package_ids": package_ids, "recursive": recursive} return self._run_query(kwargs, sender) # HELPERS def _fail_not_implemented(self): self.ErrorCode(pk.ErrorEnum.NOT_SUPPORTED, "Unimplemented method") self.exit = pk.ExitEnum.FAILED return False def _get_properties(self, iface): """Helper to get the properties of a D-Bus interface.""" if iface == PACKAGEKIT_TRANS_DBUS_INTERFACE: return {"Role": dbus.UInt32(self.role), "Status": dbus.UInt32(self.status), "LastPackage": dbus.String(self.last_package), "Uid": dbus.UInt32(self.uid), "Percentage": dbus.UInt32(self.percentage), "AllowCancel": dbus.Boolean(self.allow_cancel), "CallerActive": dbus.Boolean(self.caller_active), "ElapsedTime": dbus.UInt32(self.elapsed_time), "RemainingTime": dbus.UInt32(self.remaining_time), "DownloadSizeRemaining": dbus.UInt64( self.download_size_remaining), "TransactionFlags": dbus.UInt64(self.flags), "Speed": dbus.UInt32(self.speed) } else: return {} @inline_callbacks def _run_query(self, kwargs, sender): self.trans = self._get_merged_trans(aptd_enums.ROLE_PK_QUERY, kwargs=kwargs) yield self.trans._run(sender) def _get_merged_trans(self, role, pkg_ids=None, pkg_type=None, kwargs=None): if pkg_ids: packages = [[], [], [], [], [], []] packages[pkg_type] = [get_aptd_package_id(pkg) for pkg in pkg_ids] else: packages = None if self.trans: raise Exception("%s: Transaction may only run once." % pk.ErrorEnum.TRANSACTION_FAILED) trans = MergedTransaction(self, role, self.queue, packages=packages, kwargs=kwargs) try: trans._set_locale(self.hints["locale"]) except (KeyError, ValueError): # If the locale isn't vaild or supported a ValueError # will be raised pass try: trans._set_debconf(self.hints["frontend-socket"]) except KeyError: pass self.queue.limbo[trans.tid] = trans return trans class PackageKitWorker(worker.AptWorker): _plugins = None """Process PackageKit Query transactions.""" def _process_transaction(self, trans): if (hasattr(trans, "pktrans") and bitfield_contains(trans.pktrans.flags, pk.TransactionFlagEnum.SIMULATE)): self._simulate_and_emit_packages(trans) return False else: return worker.AptWorker._process_transaction(self, trans) def _simulate_and_emit_packages(self, trans): trans.status = aptd_enums.STATUS_RUNNING self._simulate(trans) # The simulate method lets the transaction fail in the case of an # error if trans.exit == aptd_enums.EXIT_UNFINISHED: # It is a little bit complicated to get the packages but avoids # a larger refactoring of apt.AptWorker._simulate() for pkg in trans.depends[aptd_enums.PKGS_INSTALL]: self._emit_package(trans, self._cache[self._split_package_id(pkg)[0]], pk.InfoEnum.INSTALLING) for pkg in trans.depends[aptd_enums.PKGS_REINSTALL]: self._emit_package(trans, self._cache[self._split_package_id(pkg)[0]], pk.InfoEnum.REINSTALLING) for pkg in trans.depends[aptd_enums.PKGS_REMOVE]: self._emit_package(trans, self._cache[self._split_package_id(pkg)[0]], pk.InfoEnum.REMOVING) for pkg in trans.depends[aptd_enums.PKGS_PURGE]: self._emit_package(trans, self._cache[self._split_package_id(pkg)[0]], pk.InfoEnum.REMOVING) for pkg in trans.depends[aptd_enums.PKGS_UPGRADE]: self._emit_package(trans, self._cache[self._split_package_id(pkg)[0]], pk.InfoEnum.UPDATING, force_candidate=True) for pkg in trans.depends[aptd_enums.PKGS_DOWNGRADE]: self._emit_package(trans, self._cache[self._split_package_id(pkg)[0]], pk.InfoEnum.DOWNGRADING, force_candidate=True) for pkg in trans.depends[aptd_enums.PKGS_KEEP]: self._emit_package(trans, self._cache[self._split_package_id(pkg)[0]], pk.InfoEnum.BLOCKED, force_candidate=True) for pkg in trans.unauthenticated: self._emit_package(trans, self._cache[pkg], pk.InfoEnum.UNTRUSTED, force_candidate=True) trans.status = aptd_enums.STATUS_FINISHED trans.progress = 100 trans.exit = aptd_enums.EXIT_SUCCESS tid = trans.tid[:] self.trans = None self.marked_tid = None self._emit_transaction_done(trans) pklog.info("Finished transaction %s", tid) def query(self, trans): """Run the worker""" if trans.role != aptd_enums.ROLE_PK_QUERY: raise TransactionFailed(aptd_enums.ERROR_UNKNOWN, "The transaction doesn't seem to be " "a query") if trans.pktrans.role == pk.RoleEnum.RESOLVE: self.resolve(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.GET_UPDATES: self.get_updates(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.GET_UPDATE_DETAIL: self.get_update_detail(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.GET_PACKAGES: self.get_packages(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.GET_FILES: self.get_files(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.SEARCH_NAME: self.search_names(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.SEARCH_GROUP: self.search_groups(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.SEARCH_DETAILS: self.search_details(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.SEARCH_FILE: self.search_files(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.GET_DEPENDS: self.get_depends(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.GET_REQUIRES: self.get_requires(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.GET_DETAILS: self.get_details(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.DOWNLOAD_PACKAGES: self.download_packages(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.WHAT_PROVIDES: self.what_provides(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.REPO_ENABLE: self.repo_enable(trans, **trans.kwargs) elif trans.pktrans.role == pk.RoleEnum.INSTALL_SIGNATURE: self.install_signature(trans, **trans.kwargs) else: raise TransactionFailed(aptd_enums.ERROR_UNKNOWN, "Role %s isn't supported", trans.pktrans.role) def search_files(self, trans, filters, values): """Implement org.freedesktop.PackageKit.Transaction.SearchFiles() Works only for installed file if apt-file isn't installed. """ trans.progress = 101 result_names = set() # Optionally make use of apt-file's Contents cache to search for not # installed files. But still search for installed files additionally # to make sure that we provide up-to-date results if (os.path.exists("/usr/bin/apt-file") and not bitfield_contains(filters, pk.FilterEnum.INSTALLED)): #FIXME: Make use of rapt-file on Debian if the network is available #FIXME: Show a warning to the user if the apt-file cache is several # weeks old pklog.debug("Using apt-file") filenames_regex = [] for filename in values: if filename.startswith("/"): pattern = "^%s$" % filename[1:].replace("/", "\/") else: pattern = "\/%s$" % filename filenames_regex.append(pattern) cmd = ["/usr/bin/apt-file", "--regexp", "--non-interactive", "--package-only", "find", "|".join(filenames_regex)] pklog.debug("Calling: %s" % cmd) apt_file = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = apt_file.communicate() if apt_file.returncode == 0: #FIXME: Actually we should check if the file is part of the # candidate, e.g. if unstable and experimental are # enabled and a file would only be part of the # experimental version result_names.update(stdout.split()) self._emit_visible_packages_by_name(trans, filters, result_names) else: raise TransactionFailed(aptd_enums.ERROR_INTERNAL_ERROR, "%s %s" % (stdout, stderr)) # Search for installed files filenames_regex = [] for filename in values: if filename.startswith("/"): pattern = "^%s$" % filename.replace("/", "\/") else: pattern = ".*\/%s$" % filename filenames_regex.append(pattern) files_pattern = re.compile("|".join(filenames_regex)) for pkg in self._iterate_packages(): if pkg.name in result_names: continue for installed_file in self._get_installed_files(pkg): if files_pattern.match(installed_file): self._emit_visible_package(trans, filters, pkg) break def search_groups(self, trans, filters, values): """Implement org.freedesktop.PackageKit.Transaction.SearchGroups()""" #FIXME: Handle repo and category search trans.progress = 101 for pkg in self._iterate_packages(): group_str = pk.group_enum_to_string(self._get_package_group(pkg)) if group_str in values: self._emit_visible_package(trans, filters, pkg) def search_names(self, trans, filters, values): """Implement org.freedesktop.PackageKit.Transaction.SearchNames()""" def matches(searches, text): for search in searches: if not search in text: return False return True trans.progress = 101 for pkg_name in list(self._cache.keys()): if matches(values, pkg_name): self._emit_all_visible_pkg_versions(trans, filters, self._cache[pkg_name]) def search_details(self, trans, filters, values): """Implement org.freedesktop.PackageKit.Transaction.SearchDetails()""" trans.progress = 101 if XAPIAN_SUPPORT is True: search_flags = (xapian.QueryParser.FLAG_BOOLEAN | xapian.QueryParser.FLAG_PHRASE | xapian.QueryParser.FLAG_LOVEHATE | xapian.QueryParser.FLAG_BOOLEAN_ANY_CASE) pklog.debug("Performing xapian db based search") db = xapian.Database(XAPIAN_DB) parser = xapian.QueryParser() parser.set_default_op(xapian.Query.OP_AND) query = parser.parse_query(" ".join(values), search_flags) enquire = xapian.Enquire(db) enquire.set_query(query) matches = enquire.get_mset(0, 1000) for pkg_name in (match.document.get_data() for match in enquire.get_mset(0, 1000)): if pkg_name in self._cache: self._emit_visible_package(trans, filters, self._cache[pkg_name]) else: def matches(searches, text): for search in searches: if not search in text: return False return True pklog.debug("Performing apt cache based search") values = [val.lower() for val in values] for pkg in self._iterate_packages(): txt = pkg.name try: txt += pkg.candidate.raw_description.lower() txt += pkg.candidate._translated_records.long_desc.lower() except AttributeError: pass if matches(values, txt): self._emit_visible_package(trans, filters, pkg) def get_updates(self, trans, filters): """Only report updates which can be installed safely: Which can depend on the installation of additional packages but which don't require the removal of already installed packages or block any other update. """ def succeeds_security_update(pkg): """ Return True if an update succeeds a previous security update An example would be a package with version 1.1 in the security archive and 1.1.1 in the archive of proposed updates or the same version in both archives. """ for version in pkg.versions: # Only check versions between the installed and the candidate if (pkg.installed and apt_pkg.version_compare(version.version, pkg.installed.version) <= 0 and apt_pkg.version_compare(version.version, pkg.candidate.version) > 0): continue for origin in version.origins: if (origin.origin in ["Debian", "Ubuntu"] and (origin.archive.endswith("-security") or origin.label == "Debian-Security") and origin.trusted): return True return False #FIXME: Implment the basename filter self.cancellable = False self.progress = 101 # Start with a safe upgrade try: self._cache.upgrade(dist_upgrade=True) except SystemError: pass for pkg in self._iterate_packages(): if not pkg.is_upgradable: continue # This may occur on pinned packages which have been updated to # later version than the pinned one if not pkg.candidate.origins: continue if not pkg.marked_upgrade: #FIXME: Would be nice to all show why self._emit_package(trans, pkg, pk.InfoEnum.BLOCKED, force_candidate=True) continue # The update can be safely installed info = pk.InfoEnum.NORMAL # Detect the nature of the upgrade (e.g. security, enhancement) candidate_origin = pkg.candidate.origins[0] archive = candidate_origin.archive origin = candidate_origin.origin trusted = candidate_origin.trusted label = candidate_origin.label if origin in ["Debian", "Ubuntu"] and trusted is True: if archive.endswith("-security") or label == "Debian-Security": info = pk.InfoEnum.SECURITY elif succeeds_security_update(pkg): pklog.debug("Update of %s succeeds a security update. " "Raising its priority." % pkg.name) info = pk.InfoEnum.SECURITY elif archive.endswith("-backports"): info = pk.InfoEnum.ENHANCEMENT elif archive.endswith("-updates"): info = pk.InfoEnum.BUGFIX if origin in ["Backports.org archive"] and trusted is True: info = pk.InfoEnum.ENHANCEMENT self._emit_package(trans, pkg, info, force_candidate=True) self._emit_require_restart(trans) def _emit_require_restart(self, trans): """Emit RequireRestart if required.""" # Check for a system restart if self.is_reboot_required(): trans.pktrans.RequireRestart(pk.RestartEnum.SYSTEM, "") def get_update_detail(self, trans, package_ids): """ Implement the {backend}-get-update-details functionality """ def get_bug_urls(changelog): """ Create a list of urls pointing to closed bugs in the changelog """ urls = [] for r in re.findall(MATCH_BUG_CLOSES_DEBIAN, changelog, re.IGNORECASE | re.MULTILINE): urls.extend([HREF_BUG_DEBIAN % bug for bug in re.findall(MATCH_BUG_NUMBERS, r)]) for r in re.findall(MATCH_BUG_CLOSES_UBUNTU, changelog, re.IGNORECASE | re.MULTILINE): urls.extend([HREF_BUG_UBUNTU % bug for bug in re.findall(MATCH_BUG_NUMBERS, r)]) return urls def get_cve_urls(changelog): """ Create a list of urls pointing to cves referred in the changelog """ return [HREF_CVE % c for c in re.findall(MATCH_CVE, changelog, re.MULTILINE)] trans.progress = 0 trans.cancellable = False trans.pktrans.status = pk.StatusEnum.DOWNLOAD_CHANGELOG total = len(package_ids) count = 1 old_locale = locale.getlocale(locale.LC_TIME) locale.setlocale(locale.LC_TIME, "C") for pkg_id in package_ids: self._iterate_mainloop() trans.progress = count * 100 / total count += 1 pkg = self._get_package_by_id(pkg_id) # FIXME add some real data if pkg.installed.origins: installed_origin = pkg.installed.origins[0].label # APT returns a str with Python 2 if isinstance(installed_origin, bytes): installed_origin = installed_origin.decode("UTF-8") else: installed_origin = "" updates = ["%s;%s;%s;%s" % (pkg.name, pkg.installed.version, pkg.installed.architecture, installed_origin)] # Get the packages which will be replaced by the update obsoletes = set() if pkg.candidate: for dep_group in pkg.candidate.get_dependencies("Replaces"): for dep in dep_group: try: obs = self._cache[dep.name] except KeyError: continue if not obs.installed: continue if dep.relation: cmp = apt_pkg.version_compare( obs.candidate.version, dep.version) # Same version if cmp == 0 and dep.relation in [">", "<"]: continue # Installed version higer elif cmp < 0 and dep.relation in ["<"]: continue # Installed version lower elif cmp > 0 and dep.relation in [">"]: continue obs_id = self._get_id_from_version(obs.installed) obsoletes.add(obs_id) vendor_urls = [] restart = pk.RestartEnum.NONE update_text = "" state = pk.UpdateStateEnum.UNKNOWN # FIXME: Add support for Ubuntu and a better one for Debian if (pkg.candidate and pkg.candidate.origins[0].trusted and pkg.candidate.origins[0].label == "Debian"): archive = pkg.candidate.origins[0].archive if archive == "stable": state = pk.UpdateStateEnum.STABLE elif archive == "testing": state = pk.UpdateStateEnum.TESTING elif archive == "unstable": state = pk.UpdateStateEnum.UNSTABLE issued = "" updated = "" #FIXME: make this more configurable. E.g. a dbus update requires # a reboot on Ubuntu but not on Debian if (pkg.name.startswith("linux-image-") or pkg.name in ["libc6", "dbus"]): restart == pk.RestartEnum.SYSTEM changelog_dir = apt_pkg.config.find_dir("Dir::Cache::Changelogs") if changelog_dir == "/": changelog_dir = os.path.join(apt_pkg.config.find_dir("Dir::" "Cache"), "Changelogs") filename = os.path.join(changelog_dir, "%s_%s.gz" % (pkg.name, pkg.candidate.version)) changelog_raw = "" if os.path.exists(filename): pklog.debug("Reading changelog from cache") changelog_file = gzip.open(filename, "rb") try: changelog_raw = changelog_file.read().decode("UTF-8") except: pass finally: changelog_file.close() if not changelog_raw: pklog.debug("Downloading changelog") changelog_raw = pkg.get_changelog() # The internal download error string of python-apt ist not # provided as unicode object if not isinstance(changelog_raw, str): changelog_raw = changelog_raw.decode("UTF-8") # Cache the fetched changelog if not os.path.exists(changelog_dir): os.makedirs(changelog_dir) # Remove old cached changelogs pattern = os.path.join(changelog_dir, "%s_*" % pkg.name) for old_changelog in glob.glob(pattern): os.remove(os.path.join(changelog_dir, old_changelog)) changelog_file = gzip.open(filename, mode="wb") try: changelog_file.write(changelog_raw.encode("UTF-8")) finally: changelog_file.close() # Convert the changelog to markdown syntax changelog = "" for line in changelog_raw.split("\n"): if line == "": changelog += " \n" else: changelog += " %s \n" % line if line.startswith(pkg.candidate.source_name): match = re.match(r"(?P.+) \((?P.*)\) " "(?P.+); urgency=(?P.+)", line) update_text += "%s\n%s\n\n" % (match.group("version"), "=" * len(match.group("version"))) elif line.startswith(" "): #FIXME: The GNOME PackageKit markup parser doesn't support # monospaced yet #update_text += " %s \n" % line update_text += "%s\n\n" % line elif line.startswith(" --"): #FIXME: Add %z for the time zone - requires Python 2.6 update_text += " \n" match = re.match("^ -- (?P.+) (?P<.+>) " "(?P.+) (?P[-\+][0-9]+)$", line) if not match: continue try: date = datetime.datetime.strptime(match.group("date"), "%a, %d %b %Y " "%H:%M:%S") except ValueError: continue issued = date.isoformat() if not updated: updated = date.isoformat() if issued == updated: updated = "" bugzilla_urls = get_bug_urls(changelog) cve_urls = get_cve_urls(changelog) trans.emit_update_detail(pkg_id, updates, obsoletes, vendor_urls, bugzilla_urls, cve_urls, restart, update_text, changelog, state, issued, updated) locale.setlocale(locale.LC_TIME, old_locale) def get_details(self, trans, package_ids): """Implement org.freedesktop.PackageKit.Transaction.GetDetails()""" trans.progress = 101 for pkg_id in package_ids: version = self._get_version_by_id(pkg_id) #FIXME: We need more fine grained license information! origins = version.origins if (origins and origins[0].component in ["main", "universe"] and origins[0].origin in ["Debian", "Ubuntu"]): license = "free" else: license = "unknown" group = self._get_package_group(version.package) trans.emit_details(pkg_id, license, group, version.description, version.homepage, version.size) def get_packages(self, trans, filters): """Implement org.freedesktop.PackageKit.Transaction.GetPackages()""" self.progress = 101 for pkg in self._iterate_packages(): if self._is_package_visible(pkg, filters): self._emit_package(trans, pkg) def resolve(self, trans, filters, packages): """Implement org.freedesktop.PackageKit.Transaction.Resolve()""" trans.status = aptd_enums.STATUS_QUERY trans.progress = 101 self.cancellable = False for name in packages: try: # Check if the name is a valid package id version = self._get_version_by_id(name) except ValueError: pass else: if self._is_version_visible(version, filters): self._emit_pkg_version(trans, version) continue # The name seems to be a normal name try: pkg = self._cache[name] except KeyError: raise TransactionFailed(aptd_enums.ERROR_NO_PACKAGE, "Package name %s could not be " "resolved.", name) else: self._emit_all_visible_pkg_versions(trans, filters, pkg) def get_depends(self, trans, filters, package_ids, recursive): """Emit all dependencies of the given package ids. Doesn't support recursive dependency resolution. """ def emit_blocked_dependency(base_dependency, pkg=None, filters=pk.FilterEnum.NONE): """Send a blocked package signal for the given apt.package.BaseDependency. """ if pk.FilterEnum.INSTALLED in filters: return if pkg: summary = pkg.candidate.summary filters = bitfield_remove(filters, pk.FilterEnum.NOT_INSTALLED) if not self._is_package_visible(pkg, filters): return else: summary = "" if base_dependency.relation: version = "%s%s" % (base_dependency.relation, base_dependency.version) else: version = base_dependency.version trans.emit_package("%s;%s;;" % (base_dependency.name, version), pk.InfoEnum.BLOCKED, summary) def check_dependency(pkg, base_dep): """Check if the given apt.package.Package can satisfy the BaseDepenendcy and emit the corresponding package signals. """ if not self._is_package_visible(pkg, filters): return if base_dep.version: satisfied = False # Sort the version list to check the installed # and candidate before the other ones ver_list = list(pkg.versions) if pkg.installed: ver_list.remove(pkg.installed) ver_list.insert(0, pkg.installed) if pkg.candidate: ver_list.remove(pkg.candidate) ver_list.insert(0, pkg.candidate) for dep_ver in ver_list: if apt_pkg.check_dep(dep_ver.version, base_dep.relation, base_dep.version): self._emit_pkg_version(trans, dep_ver) satisfied = True break if not satisfied: emit_blocked_dependency(base_dep, pkg, filters) else: self._emit_package(trans, pkg) # Setup the transaction self.status = aptd_enums.STATUS_RESOLVING_DEP trans.progress = 101 self.cancellable = True dependency_types = ["PreDepends", "Depends"] if apt_pkg.config["APT::Install-Recommends"]: dependency_types.append("Recommends") for id in package_ids: version = self._get_version_by_id(id) for dependency in version.get_dependencies(*dependency_types): # Walk through all or_dependencies for base_dep in dependency.or_dependencies: if self._cache.is_virtual_package(base_dep.name): # Check each proivider of a virtual package for provider in self._cache.get_providing_packages( base_dep.name): check_dependency(provider, base_dep) elif base_dep.name in self._cache: check_dependency(self._cache[base_dep.name], base_dep) else: # The dependency does not exist emit_blocked_dependency(trans, base_dep, filters=filters) def get_requires(self, trans, filters, package_ids, recursive): """Emit all packages which depend on the given ids. Recursive searching is not supported. """ self.status = aptd_enums.STATUS_RESOLVING_DEP self.progress = 101 self.cancellable = True for id in package_ids: version = self._get_version_by_id(id) for pkg in self._iterate_packages(): if not self._is_package_visible(pkg, filters): continue if pkg.is_installed: pkg_ver = pkg.installed elif pkg.candidate: pkg_ver = pkg.candidate for dependency in pkg_ver.dependencies: satisfied = False for base_dep in dependency.or_dependencies: if (version.package.name == base_dep.name or base_dep.name in version.provides): satisfied = True break if satisfied: self._emit_package(trans, pkg) break def download_packages(self, trans, store_in_cache, package_ids): """Implement the DownloadPackages functionality. The store_in_cache parameter gets ignored. """ def get_download_details(ids): """Calculate the start and end point of a package download progress. """ total = 0 downloaded = 0 versions = [] # Check if all ids are vaild and calculate the total download size for id in ids: pkg_ver = self._get_version_by_id(id) if not pkg_ver.downloadable: raise TransactionFailed( aptd_enums.ERROR_PACKAGE_DOWNLOAD_FAILED, "package %s isn't downloadable" % id) total += pkg_ver.size versions.append((id, pkg_ver)) for id, ver in versions: start = downloaded * 100 / total end = start + ver.size * 100 / total yield id, ver, start, end downloaded += ver.size trans.status = aptd_enums.STATUS_DOWNLOADING trans.cancellable = True trans.progress = 10 # Check the destination directory if store_in_cache: dest = apt_pkg.config.find_dir("Dir::Cache::archives") else: dest = tempfile.mkdtemp(prefix="aptdaemon-download") if not os.path.isdir(dest) or not os.access(dest, os.W_OK): raise TransactionFailed(aptd_enums.ERROR_INTERNAL_ERROR, "The directory '%s' is not writable" % dest) # Start the download for id, ver, start, end in get_download_details(package_ids): progress = DaemonAcquireProgress(trans, start, end) self._emit_pkg_version(trans, ver, pk.InfoEnum.DOWNLOADING) try: ver.fetch_binary(dest, progress) except Exception as error: raise TransactionFailed( aptd_enums.ERROR_PACKAGE_DOWNLOAD_FAILED, str(error)) else: path = os.path.join(dest, os.path.basename(ver.filename)) trans.emit_files(id, [path]) self._emit_pkg_version(trans, ver, pk.InfoEnum.FINISHED) def get_files(self, trans, package_ids): """Emit the Files signal which includes the files included in a package Apt only supports this for installed packages """ for id in package_ids: pkg = self._get_package_by_id(id) trans.emit_files(id, self._get_installed_files(pkg)) def what_provides(self, trans, filters, provides_type, values): """Emit all packages which provide the given type and search value.""" self._init_plugins() supported_type = False provides_type_str = pk.provides_enum_to_string(provides_type) # run plugins for plugin in self._plugins.get("what_provides", []): pklog.debug("calling what_provides plugin %s %s", str(plugin), str(filters)) for search_item in values: try: for package in plugin(self._cache, provides_type_str, search_item): self._emit_visible_package(trans, filters, package) supported_type = True except NotImplementedError: # keep supported_type as False pass if not supported_type and provides_type != pk.ProvidesEnum.ANY: # none of the plugins felt responsible for this type raise TransactionFailed(aptd_enums.ERROR_NOT_SUPPORTED, "Query type '%s' is not supported" % pk.provides_enum_to_string(provides_type)) def repo_enable(self, trans, repo_id, enabled): """Enable or disable a repository.""" if not enabled: raise TransactionFailed(aptd_enums.ERROR_NOT_SUPPORTED, "Disabling repositories is not " "implemented") fields = repo_id.split() if len(fields) < 3 or fields[0] not in ('deb', 'deb-src'): raise TransactionFailed( aptd_enums.ERROR_NOT_SUPPORTED, "Unknown repository ID format: %s" % repo_id) self.add_repository(trans, fields[0], fields[1], fields[2], fields[3:], '', None) def install_signature(self, trans, sig_type, key_id, package_id): """Install an archive key.""" if sig_type != pk.SigTypeEnum.GPG: raise TransactionFailed(aptd_enums.ERROR_NOT_SUPPORTED, "Type %s is not supported" % sig_type) try: keyserver = os.environ["APTDAEMON_KEYSERVER"] except KeyError: if platform.dist()[0] == "Ubuntu": keyserver = "hkp://keyserver.ubuntu.com:80" else: keyserver = "hkp://keys.gnupg.net" self.add_vendor_key_from_keyserver(trans, key_id, keyserver) # Helpers def _get_id_from_version(self, version): """Return the package id of an apt.package.Version instance.""" if version.origins: origin = version.origins[0].label # APT returns a str with Python 2 if isinstance(origin, bytes): origin = origin.decode("UTF-8") else: origin = "" if version.architecture in [NATIVE_ARCH, "all"]: name = version.package.name else: name = version.package.name.split(":")[0] id = "%s;%s;%s;%s" % (name, version.version, version.architecture, origin) return id def _emit_package(self, trans, pkg, info=None, force_candidate=False): """ Send the Package signal for a given apt package """ if (not pkg.is_installed or force_candidate) and pkg.candidate: self._emit_pkg_version(trans, pkg.candidate, info) elif pkg.is_installed: self._emit_pkg_version(trans, pkg.installed, info) else: pklog.debug("Package %s hasn't got any version." % pkg.name) def _emit_pkg_version(self, trans, version, info=None): """Emit the Package signal of the given apt.package.Version.""" id = self._get_id_from_version(version) section = version.section.split("/")[-1] if not info: if version == version.package.installed: if section == "metapackages": info = pk.InfoEnum.COLLECTION_INSTALLED else: info = pk.InfoEnum.INSTALLED else: if section == "metapackages": info = pk.InfoEnum.COLLECTION_AVAILABLE else: info = pk.InfoEnum.AVAILABLE trans.emit_package(info, id, version.summary) def _emit_all_visible_pkg_versions(self, trans, filters, pkg): """Emit all available versions of a package.""" for version in pkg.versions: if self._is_version_visible(version, filters): self._emit_pkg_version(trans, version) def _emit_visible_package(self, trans, filters, pkg, info=None): """ Filter and emit a package """ if self._is_package_visible(pkg, filters): self._emit_package(trans, pkg, info) def _emit_visible_packages(self, trans, filters, pkgs, info=None): """ Filter and emit packages """ for pkg in pkgs: if self._is_package_visible(pkg, filters): self._emit_package(trans, pkg, info) def _emit_visible_packages_by_name(self, trans, filters, pkgs, info=None): """ Find the packages with the given namens. Afterwards filter and emit them """ for name in pkgs: if (name in self._cache and self._is_package_visible(self._cache[name], filters)): self._emit_package(trans, self._cache[name], info) def _is_version_visible(self, version, filters): """Return True if the package version is matched by the given filters. """ if filters == pk.FilterEnum.NONE: return True if (bitfield_contains(filters, pk.FilterEnum.NEWEST) and version.package.candidate != version): return False if (bitfield_contains(filters, pk.FilterEnum.INSTALLED) and version.package.installed != version): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_INSTALLED) and version.package.installed == version): return False if (bitfield_contains(filters, pk.FilterEnum.SUPPORTED) and not self._is_package_supported(version.package)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_SUPPORTED) and self._is_package_supported(version.package)): return False if (bitfield_contains(filters, pk.FilterEnum.FREE) and not self._is_version_free(version)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_FREE) and self._is_version_free(version)): return False if (bitfield_contains(filters, pk.FilterEnum.GUI) and not self._has_package_gui(version.package)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_GUI) and self._has_package_gui(version.package)): return False if (bitfield_contains(filters, pk.FilterEnum.COLLECTIONS) and not self._is_package_collection(version.package)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_COLLECTIONS) and self._is_package_collection(version.package)): return False if (bitfield_contains(filters, pk.FilterEnum.DEVELOPMENT) and not self._is_package_devel(version.package)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_DEVELOPMENT) and self._is_package_devel(version.package)): return False if (bitfield_contains(filters, pk.FilterEnum.ARCH) and not version.architecture in [NATIVE_ARCH, "all"]): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_ARCH) and version.architecture in [NATIVE_ARCH, "all"]): return False return True def _is_package_visible(self, pkg, filters): """Return True if the package is matched by the given filters.""" if filters == pk.FilterEnum.NONE: return True if (bitfield_contains(filters, pk.FilterEnum.INSTALLED) and not pkg.is_installed): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_INSTALLED) and pkg.is_installed): return False if (bitfield_contains(filters, pk.FilterEnum.SUPPORTED) and not self._is_package_supported(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_SUPPORTED) and self._is_package_supported(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.FREE) and not self._is_package_free(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_FREE) and self._is_package_free(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.GUI) and not self._has_package_gui(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_GUI) and self._has_package_gui(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.COLLECTIONS) and not self._is_package_collection(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_COLLECTIONS) and self._is_package_collection(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.DEVELOPMENT) and not self._is_package_devel(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_DEVELOPMENT) and self._is_package_devel(pkg)): return False if (bitfield_contains(filters, pk.FilterEnum.ARCH) and ":" in pkg.name): return False if (bitfield_contains(filters, pk.FilterEnum.NOT_ARCH) and not ":" in pkg.name): return False return True def _is_package_free(self, pkg): """Return True if we can be sure that the package's license is a free one """ if not pkg.candidate: return False return self._is_version_free(pkg.candidate) def _is_version_free(self, version): """Return True if we can be sure that the package version has got a free license. """ origins = version.origins return (origins and ((origins[0].origin == "Ubuntu" and origins[0].component in ["main", "universe"]) or (origins[0].origin == "Debian" and origins[0].component == "main")) and origins[0].trusted) def _is_package_collection(self, pkg): """Return True if the package is a metapackge """ section = pkg.section.split("/")[-1] return section == "metapackages" def _has_package_gui(self, pkg): #FIXME: take application data into account. perhaps checking for # property in the xapian database return pkg.section.split('/')[-1].lower() in ['x11', 'gnome', 'kde'] def _is_package_devel(self, pkg): return (pkg.name.endswith("-dev") or pkg.name.endswith("-dbg") or pkg.section.split('/')[-1].lower() in ['devel', 'libdevel']) def _is_package_supported(self, pkg): if not pkg.candidate: return False origins = pkg.candidate.origins return (origins and ((origins[0].origin == "Ubuntu" and origins[0].component in ["main", "restricted"]) or (origins[0].origin == "Debian" and origins[0].component == "main")) and origins[0].trusted) def _get_package_by_id(self, id): """Return the apt.package.Package corresponding to the given package id. If the package isn't available error out. """ version = self._get_version_by_id(id) return version.package def _get_version_by_id(self, id): """Return the apt.package.Version corresponding to the given package id. If the version isn't available error out. """ name, version_string, arch, data = id.split(";", 4) if arch and not arch in [NATIVE_ARCH, "all"]: name += ":%s" % arch try: pkg = self._cache[name] except KeyError: raise TransactionFailed(aptd_enums.ERROR_NO_PACKAGE, "There isn't any package named %s", name) try: version = pkg.versions[version_string] except: raise TransactionFailed(aptd_enums.ERROR_NO_PACKAGE, "Verion %s doesn't exist", version_string) if version.architecture != arch: raise TransactionFailed(aptd_enums.ERROR_NO_PACKAGE, "Version %s of %s isn't available " "for architecture %s", pkg.name, version.version, arch) return version def _get_installed_files(self, pkg): """ Return the list of unicode names of the files which have been installed by the package This method should be obsolete by the apt.package.Package.installedFiles attribute as soon as the consolidate branch of python-apt gets merged """ path = os.path.join(apt_pkg.config["Dir"], "var/lib/dpkg/info/%s.list" % pkg.name) try: with open(path, 'rb') as f: files = f.read().decode('UTF-8').split("\n") except IOError: return [] return files def _get_package_group(self, pkg): """ Return the packagekit group corresponding to the package's section """ section = pkg.section.split("/")[-1] if section in SECTION_GROUP_MAP: return SECTION_GROUP_MAP[section] else: pklog.warn("Unkown package section %s of %s" % (pkg.section, pkg.name)) return pk.GroupEnum.UNKNOWN def _init_plugins(self): """Initialize PackageKit apt backend plugins. Do nothing if plugins are already initialized. """ if self._plugins is not None: return if not pkg_resources: return self._plugins = {} # plugin_name -> [plugin_fn1, ...] # just look in standard Python paths for now dists, errors = pkg_resources.working_set.find_plugins( pkg_resources.Environment()) for dist in dists: pkg_resources.working_set.add(dist) for plugin_name in ["what_provides"]: for entry_point in pkg_resources.iter_entry_points( "packagekit.apt.plugins", plugin_name): try: plugin = entry_point.load() except Exception as e: pklog.warning("Failed to load %s from plugin %s: %s" % ( plugin_name, str(entry_point.dist), str(e))) continue pklog.debug("Loaded %s from plugin %s" % ( plugin_name, str(entry_point.dist))) self._plugins.setdefault(plugin_name, []).append(plugin) def _apply_changes(self, trans, fetch_range=(15, 50), install_range=(50, 90)): """Apply changes and emit RequireRestart accordingly.""" if hasattr(trans, "pktrans"): # Cache the ids of the to be changed packages, since we will # only get the package name during download/install time for pkg in self._cache.get_changes(): if pkg.marked_delete or pkg.marked_reinstall: pkg_id = self._get_id_from_version(pkg.installed) else: pkg_id = self._get_id_from_version(pkg.candidate) trans.pktrans.pkg_id_cache[pkg.name] = pkg_id worker.AptWorker._apply_changes(self, trans, fetch_range, install_range) if (hasattr(trans, "pktrans") and (trans.role == aptd_enums.ROLE_UPGRADE_SYSTEM or trans.packages[aptd_enums.PKGS_UPGRADE] or trans.depends[aptd_enums.PKGS_UPGRADE])): self._emit_require_restart(trans) if META_RELEASE_SUPPORT: class GMetaRelease(GObject.GObject, MetaReleaseCore): __gsignals__ = {"download-done": (GObject.SignalFlags.RUN_FIRST, None, ())} def __init__(self): GObject.GObject.__init__(self) MetaReleaseCore.__init__(self, False, False) def download(self): MetaReleaseCore.download(self) self.emit("download-done") def get_pk_exit_enum(enum): try: return MAP_EXIT_ENUM[enum] except KeyError: return pk.ExitEnum.UNKNOWN def get_pk_status_enum(enum): try: return MAP_STATUS_ENUM[enum] except KeyError: return pk.StatusEnum.UNKNOWN def get_pk_package_enum(enum): try: return MAP_PACKAGE_ENUM[enum] except KeyError: return pk.InfoEnum.UNKNOWN def get_pk_error_enum(enum): try: return MAP_ERROR_ENUM[enum] except KeyError: return pk.ErrorEnum.UNKNOWN def get_aptd_package_id(pk_id): """Convert a PackageKit Package ID to the apt syntax. e.g. xterm;235;i386;installed to xterm:i386=235 """ name, version, arch, data = pk_id.split(";") id = name if arch != NATIVE_ARCH and arch != "all": id += ":%s" % arch if version: id += "=%s" % version return id def get_pk_package_id(pk_id, data=""): """Convert an AptDaemon package ID to the PackageKit syntax. e.g. xterm:i368=235; to xterm;235;i386;installed """ #FIXME add arch support name, version, release = worker.AptWorker._split_package_id(pk_id) try: name, arch = name.split(":", 1) except ValueError: arch = "" if version is None: version = "" if release is None: release = "" return "%s;%s;%s;%s" % (name, version, arch, data or release) def defer_idle(func, *args): func(*args) return False def bitfield_summarize(*enums): """Return the bitfield with the given PackageKit enums.""" field = 0 for enum in enums: field |= 2 ** int(enum) return field def bitfield_add(field, enum): """Add a PackageKit enum to a given field""" field |= 2 ** int(enum) return field def bitfield_remove(field, enum): """Remove a PackageKit enum to a given field""" field = field ^ 2 ** int(enum) return field def bitfield_contains(field, enum): """Return True if a bitfield contains the given PackageKit enum""" return field & 2 ** int(enum) def get_string_from_flags(flags): """Return a human readable string of the applied transaction flags.""" ret = "" if flags == pk.TransactionFlagEnum.NONE: return "simulate" if bitfield_contains(flags, pk.TransactionFlagEnum.SIMULATE): ret += " simulate" if bitfield_contains(flags, pk.TransactionFlagEnum.ONLY_DOWNLOAD): ret += " only-download" if bitfield_contains(flags, pk.TransactionFlagEnum.ONLY_TRUSTED): ret += " only-trusted" return ret.strip() def get_string_from_array(array): """Convert a DBus Array to a human readable format""" return [str(value) for value in array] # vim: ts=4 et sts=4 aptdaemon-1.1.1/aptdaemon/debconf.py0000644000175000017500000001555112201760213020163 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """ Integration of debconf on the client side Provides the DebconfProxy class which allows to run the debconf frontend as normal user by connecting to the root running debconf through the socket of the passthrough frontend. """ # Copyright (C) 2009 Sebastian Heinlein # Copyright (C) 2009 Michael Vogt # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __all__ = ("DebconfProxy",) import copy import logging import os import os.path import socket import subprocess import tempfile import sys if 'gi.repository' in sys.modules and sys.modules['gi.repository'] is not None: from gi.repository import GLib else: import gobject as GLib # Convert to old API def _glib_io_watch_add_override(fd, prio, cond, cb, data=None): """Override of gobject.io_add_watch() to keep compatibility for the non-introspectable Python 2 clients. """ if data: return _glib_io_add_watch_orig(fd, cond, cb, data, priority=prio) else: return _glib_io_add_watch_orig(fd, cond, cb, priority=prio) _glib_io_add_watch_orig = GLib.io_add_watch GLib.io_add_watch = _glib_io_watch_add_override log = logging.getLogger("AptClient.DebconfProxy") class DebconfProxy(object): """The DebconfProxy class allows to run the debconf frontend as normal user by connecting to the root debconf through the socket of the passthrough frontend. """ def __init__(self, frontend="gnome", socket_path=None): """Initialize a new DebconfProxy instance. Keyword arguments: frontend -- the to be used debconf frontend (defaults to gnome) socket_path -- the path to the socket of the passthrough frontend. Will be created if not specified """ self.socket_path = socket_path self.temp_dir = None if socket_path is None: self.temp_dir = tempfile.mkdtemp(prefix="aptdaemon-") self.socket_path = os.path.join(self.temp_dir, "debconf.socket") log.debug("debconf socket: %s" % self.socket_path) self.socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) self.socket.bind(self.socket_path) self.frontend = frontend self._listener_id = None self._active_conn = None self._watch_ids = [] def _get_debconf_env(self): """Returns a dictonary of the environment variables required by the debconf frontend. """ env = copy.copy(os.environ) env["DEBCONF_DB_REPLACE"] = "configdb" env["DEBCONF_DB_OVERRIDE"] = "Pipe{infd:none outfd:none}" env["DEBIAN_FRONTEND"] = self.frontend if log.level == logging.DEBUG: env["DEBCONF_DEBUG"] = "." return env def start(self): """Start listening on the socket.""" logging.debug("debconf.start()") self.socket.listen(1) self._listener_id = GLib.io_add_watch( self.socket, GLib.PRIORITY_DEFAULT_IDLE, GLib.IO_IN, self._accept_connection) def stop(self): """Stop listening on the socket.""" logging.debug("debconf.stop()") self.socket.close() if self._listener_id is not None: GLib.source_remove(self._listener_id) self._listener_id = None if self.temp_dir: try: os.remove(self.socket_path) os.rmdir(self.temp_dir) except OSError: pass def _accept_connection(self, socket, condition): if self._active_conn: log.debug("Delaying connection") return True conn, addr = socket.accept() self._active_conn = conn mask = GLib.IO_IN | GLib.IO_ERR | GLib.IO_HUP | GLib.IO_NVAL self.helper = subprocess.Popen(["debconf-communicate"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, env=self._get_debconf_env()) GLib.io_add_watch(conn, GLib.PRIORITY_HIGH_IDLE, mask, self._copy_conn, self.helper.stdin) GLib.io_add_watch(self.helper.stdout, GLib.PRIORITY_HIGH_IDLE, mask, self._copy_stdout, conn) return True def _copy_stdout(self, source, condition, conn): """Callback to copy data from the stdout of debconf-communicate to the passthrough frontend.""" logging.debug("_copy_stdout") try: debconf_data = source.readline() if debconf_data: log.debug("From debconf: %s", debconf_data) conn.send(debconf_data) return True except (socket.error, IOError) as error: log.debug(error) # error, stop listening log.debug("Stop reading from stdout") self.helper.stdout.close() self._active_conn.close() self._active_conn = None return False def _copy_conn(self, source, condition, stdin): """Callback to copy data from the passthrough frontend to stdin of debconf-communicate.""" logging.debug("_copy_conn") try: socket_data = source.recv(1024) if socket_data: log.debug("From socket: %s", socket_data) stdin.write(socket_data) stdin.flush() return True except (socket.error, IOError) as error: log.debug(error) # error, stop listening log.debug("Stop reading from conn") self.helper.stdin.close() return False def _test(): """Run the DebconfProxy from the command line for testing purposes. You have to execute the following commands before in a separate terminal: $ echo "fset debconf/frontend seen false" | debconf-communicate $ export DEBCONF_PIPE=/tmp/debconf.socket $ dpkg-reconfigure debconf -f passthrough """ logging.basicConfig(level=logging.DEBUG) socket_path = "/tmp/debconf.socket" if os.path.exists(socket_path): os.remove(socket_path) proxy = DebconfProxy("gnome", socket_path) proxy.start() loop = GLib.MainLoop() loop.run() if __name__ == "__main__": _test() #vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/gtkwidgets.py0000644000175000017500000012500412201760213020732 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """ This module provides widgets to use aptdaemon in a GTK application. """ # Copyright (C) 2008-2009 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. __author__ = "Sebastian Heinlein " __all__ = ("AptConfigFileConflictDialog", "AptCancelButton", "AptConfirmDialog", "AptProgressDialog", "AptTerminalExpander", "AptStatusIcon", "AptRoleIcon", "AptStatusAnimation", "AptRoleLabel", "AptStatusLabel", "AptMediumRequiredDialog", "AptMessageDialog", "AptErrorDialog", "AptProgressBar", "DiffView", "AptTerminal") import difflib import gettext import os import pty import re import apt_pkg import dbus import dbus.mainloop.glib import gobject import gtk import pango import vte from .enums import * from defer import inline_callbacks from defer.utils import deferable dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) _ = lambda msg: gettext.dgettext("aptdaemon", msg) (COLUMN_ID, COLUMN_PACKAGE) = list(range(2)) class AptStatusIcon(gtk.Image): """ Provides a gtk.Image which shows an icon representing the status of a aptdaemon transaction """ def __init__(self, transaction=None, size=gtk.ICON_SIZE_DIALOG): gtk.Image.__init__(self) self.icon_size = size self.icon_name = None self._signals = [] self.set_alignment(0, 0) if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect to the given transaction""" for sig in self._signals: gobject.source_remove(sig) self._signals = [] self._signals.append(transaction.connect("status-changed", self._on_status_changed)) def set_icon_size(self, size): """Set the icon size to gtk stock icon size value""" self.icon_size = size def _on_status_changed(self, transaction, status): """Set the status icon according to the changed status""" icon_name = get_status_icon_name_from_enum(status) if icon_name is None: icon_name = gtk.STOCK_MISSING_IMAGE if icon_name != self.icon_name: self.set_from_icon_name(icon_name, self.icon_size) self.icon_name = icon_name class AptRoleIcon(AptStatusIcon): """ Provides a gtk.Image which shows an icon representing the role of an aptdaemon transaction """ def set_transaction(self, transaction): for sig in self._signals: gobject.source_remove(sig) self._signals = [] self._signals.append(transaction.connect("role-changed", self._on_role_changed)) self._on_role_changed(transaction, transaction.role) def _on_role_changed(self, transaction, role_enum): """Show an icon representing the role""" icon_name = get_role_icon_name_from_enum(role_enum) if icon_name is None: icon_name = gtk.STOCK_MISSING_IMAGE if icon_name != self.icon_name: self.set_from_icon_name(icon_name, self.icon_size) self.icon_name = icon_name class AptStatusAnimation(AptStatusIcon): """ Provides a gtk.Image which shows an animation representing the transaction status """ def __init__(self, transaction=None, size=gtk.ICON_SIZE_DIALOG): AptStatusIcon.__init__(self, transaction, size) self.animation = [] self.ticker = 0 self.frame_counter = 0 self.iter = 0 name = get_status_animation_name_from_enum(STATUS_WAITING) fallback = get_status_icon_name_from_enum(STATUS_WAITING) self.set_animation(name, fallback) def set_animation(self, name, fallback=None, size=None): """Show and start the animation of the given name and size""" if name == self.icon_name: return if size is not None: self.icon_size = size self.stop_animation() animation = [] (width, height) = gtk.icon_size_lookup(self.icon_size) theme = gtk.icon_theme_get_default() if name is not None and theme.has_icon(name): pixbuf = theme.load_icon(name, width, 0) rows = pixbuf.get_height() / height cols = pixbuf.get_width() / width for r in range(rows): for c in range(cols): animation.append(pixbuf.subpixbuf(c * width, r * height, width, height)) if len(animation) > 0: self.animation = animation self.iter = 0 self.set_from_pixbuf(self.animation[0]) self.start_animation() else: self.set_from_pixbuf(pixbuf) self.icon_name = name elif fallback is not None and theme.has_icon(fallback): self.set_from_icon_name(fallback, self.icon_size) self.icon_name = fallback else: self.set_from_icon_name(gtk.STOCK_MISSING_IMAGE) def start_animation(self): """Start the animation""" if self.ticker == 0: self.ticker = gobject.timeout_add(200, self._advance) def stop_animation(self): """Stop the animation""" if self.ticker != 0: gobject.source_remove(self.ticker) self.ticker = 0 def _advance(self): """ Show the next frame of the animation and stop the animation if the widget is no longer visible """ if self.get_property("visible") is not False: self.ticker = 0 return False self.iter = self.iter + 1 if self.iter >= len(self.animation): self.iter = 0 self.set_from_pixbuf(self.animation[self.iter]) return True def _on_status_changed(self, transaction, status): """ Set the animation according to the changed status """ name = get_status_animation_name_from_enum(status) fallback = get_status_icon_name_from_enum(status) self.set_animation(name, fallback) class AptRoleLabel(gtk.Label): """ Status label for the running aptdaemon transaction """ def __init__(self, transaction=None): gtk.Label.__init__(self) self.set_alignment(0, 0) self.set_ellipsize(pango.ELLIPSIZE_END) self._signals = [] if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: gobject.source_remove(sig) self._signals = [] self._on_role_changed(transaction, transaction.role) self._signals.append(transaction.connect("role-changed", self._on_role_changed)) def _on_role_changed(self, transaction, role): """Set the role text.""" self.set_markup(get_role_localised_present_from_enum(role)) class AptStatusLabel(gtk.Label): """ Status label for the running aptdaemon transaction """ def __init__(self, transaction=None): gtk.Label.__init__(self) self.set_alignment(0, 0) self.set_ellipsize(pango.ELLIPSIZE_END) self._signals = [] if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: gobject.source_remove(sig) self._signals = [] self._signals.append(transaction.connect("status-changed", self._on_status_changed)) self._signals.append( transaction.connect("status-details-changed", self._on_status_details_changed)) def _on_status_changed(self, transaction, status): """Set the status text according to the changed status""" self.set_markup(get_status_string_from_enum(status)) def _on_status_details_changed(self, transaction, text): """Set the status text to the one reported by apt""" self.set_markup(text) class AptProgressBar(gtk.ProgressBar): """ Provides a gtk.Progress which represents the progress of an aptdaemon transactions """ def __init__(self, transaction=None): gtk.ProgressBar.__init__(self) self.set_ellipsize(pango.ELLIPSIZE_END) self.set_text(" ") self.set_pulse_step(0.05) self._signals = [] if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the progress bar to the given aptdaemon transaction""" for sig in self._signals: gobject.source_remove(sig) self._signals = [] self._signals.append( transaction.connect("finished", self._on_finished)) self._signals.append(transaction.connect("progress-changed", self._on_progress_changed)) self._signals.append(transaction.connect("progress-details-changed", self._on_progress_details)) def _on_progress_changed(self, transaction, progress): """ Update the progress according to the latest progress information """ if progress > 100: self.pulse() else: self.set_fraction(progress / 100.0) def _on_progress_details(self, transaction, items_done, items_total, bytes_done, bytes_total, speed, eta): """ Update the progress bar text according to the latest progress details """ if items_total == 0 and bytes_total == 0: self.set_text(" ") return if speed != 0: self.set_text(_("Downloaded %sB of %sB at %sB/s") % (apt_pkg.size_to_str(bytes_done), apt_pkg.size_to_str(bytes_total), apt_pkg.size_to_str(speed))) else: self.set_text(_("Downloaded %sB of %sB") % (apt_pkg.size_to_str(bytes_done), apt_pkg.size_to_str(bytes_total))) def _on_finished(self, transaction, exit): """Set the progress to 100% when the transaction is complete""" self.set_fraction(1) class AptDetailsExpander(gtk.Expander): def __init__(self, transaction=None, terminal=True): gtk.Expander.__init__(self, _("Details")) self.show_terminal = terminal self._signals = [] self.set_sensitive(False) self.set_expanded(False) if self.show_terminal: self.terminal = AptTerminal() else: self.terminal = None self.download_view = AptDownloadsView() self.download_scrolled = gtk.ScrolledWindow() self.download_scrolled.set_shadow_type(gtk.SHADOW_ETCHED_IN) self.download_scrolled.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) self.download_scrolled.add(self.download_view) hbox = gtk.HBox() hbox.pack_start(self.download_scrolled, True, True) hbox.pack_start(self.terminal, True, True) self.add(hbox) if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: gobject.source_remove(sig) self._signals.append( transaction.connect("status-changed", self._on_status_changed)) self._signals.append( transaction.connect("terminal-attached-changed", self._on_terminal_attached_changed)) self.terminal.set_transaction(transaction) self.download_view.set_transaction(transaction) def _on_status_changed(self, trans, status): if status in (STATUS_DOWNLOADING, STATUS_DOWNLOADING_REPO): self.set_sensitive(True) self.download_scrolled.show() if self.terminal: self.terminal.hide() elif status == STATUS_COMMITTING: self.download_scrolled.hide() if self.terminal: self.terminal.show() self.set_sensitive(True) else: self.set_expanded(False) self.set_sensitive(False) else: self.download_scrolled.hide() if self.terminal: self.terminal.hide() self.set_sensitive(False) self.set_expanded(False) def _on_terminal_attached_changed(self, transaction, attached): """Connect the terminal to the pty device""" if attached and self.terminal: self.set_sensitive(True) class AptTerminal(vte.Terminal): def __init__(self, transaction=None): vte.Terminal.__init__(self) self._signals = [] self._master, self._slave = pty.openpty() self._ttyname = os.ttyname(self._slave) self.set_size(80, 24) self.set_pty(self._master) if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: gobject.source_remove(sig) self._signals.append( transaction.connect("terminal-attached-changed", self._on_terminal_attached_changed)) self._transaction = transaction self._transaction.set_terminal(self._ttyname) def _on_terminal_attached_changed(self, transaction, attached): """Show the terminal""" self.set_sensitive(attached) class AptCancelButton(gtk.Button): """Provides a gtk.Button which allows to cancel a running aptdaemon transaction """ def __init__(self, transaction=None): gtk.Button.__init__(self, stock=gtk.STOCK_CANCEL) self.set_sensitive(True) self._signals = [] if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: gobject.source_remove(sig) self._signals = [] self._signals.append( transaction.connect("finished", self._on_finished)) self._signals.append( transaction.connect("cancellable-changed", self._on_cancellable_changed)) self.connect("clicked", self._on_clicked, transaction) def _on_cancellable_changed(self, transaction, cancellable): """ Enable the button if cancel is allowed and disable it in the other case """ self.set_sensitive(cancellable) def _on_finished(self, transaction, status): self.set_sensitive(False) def _on_clicked(self, button, transaction): transaction.cancel() self.set_sensitive(False) class AptDownloadsView(gtk.TreeView): """A gtk.TreeView which displays the progress and status of each dowload of a transaction. """ COL_TEXT, COL_PROGRESS, COL_URI = list(range(3)) def __init__(self, transaction=None): gtk.TreeView.__init__(self) model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_INT, gobject.TYPE_STRING) self.set_model(model) self.props.headers_visible = False self.set_rules_hint(True) self._download_map = {} self._signals = [] if transaction is not None: self.set_transaction(transaction) cell_uri = gtk.CellRendererText() cell_uri.props.ellipsize = pango.ELLIPSIZE_END column_download = gtk.TreeViewColumn(_("File")) column_download.pack_start(cell_uri, True) column_download.add_attribute(cell_uri, "markup", self.COL_TEXT) cell_progress = gtk.CellRendererProgress() #TRANSLATORS: header of the progress download column column_progress = gtk.TreeViewColumn(_("%")) column_progress.pack_start(cell_progress, True) column_progress.set_cell_data_func(cell_progress, self._data_progress) self.append_column(column_progress) self.append_column(column_download) self.set_tooltip_column(self.COL_URI) def set_transaction(self, transaction): """Connect the download view to the given aptdaemon transaction""" for sig in self._signals: gobject.source_remove(sig) self._signals = [] self._signals.append(transaction.connect("progress-download-changed", self._on_download_changed)) def _on_download_changed(self, transaction, uri, status, desc, full_size, downloaded, message): """Callback for a changed download progress.""" try: progress = downloaded * 100 / full_size except ZeroDivisionError: progress = -1 if status == DOWNLOAD_DONE: progress = 100 if progress > 100: progress = 100 text = desc[:] text += "\n" #TRANSLATORS: %s is the full size in Bytes, e.g. 198M if status == DOWNLOAD_FETCHING: text += (_("Downloaded %sB of %sB") % (apt_pkg.size_to_str(downloaded), apt_pkg.size_to_str(full_size))) elif status == DOWNLOAD_DONE: if full_size != 0: text += _("Downloaded %sB") % apt_pkg.size_to_str(full_size) else: text += _("Downloaded") else: text += get_download_status_from_enum(status) text += "" model = self.get_model() try: iter = self._download_map[uri] except KeyError: adj = self.get_vadjustment() is_scrolled_down = adj.value + adj.page_size == adj.upper iter = model.append((text, progress, uri)) self._download_map[uri] = iter if is_scrolled_down: # If the treeview was scrolled to the end, do this again # after appending a new item self.scroll_to_cell(model.get_path(iter)) else: model.set(iter, self.COL_TEXT, text) model.set(iter, self.COL_PROGRESS, progress) def _data_progress(self, column, cell, model, iter): progress = model.get_value(iter, self.COL_PROGRESS) if progress == -1: cell.props.pulse = progress else: cell.props.value = progress class AptProgressDialog(gtk.Dialog): """ Complete progress dialog for long taking aptdaemon transactions, which features a progress bar, cancel button, status icon and label """ __gsignals__ = {"finished": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ())} def __init__(self, transaction=None, parent=None, terminal=True, debconf=True): gtk.Dialog.__init__(self, buttons=None, parent=parent) self._expanded_size = None self.debconf = debconf # Setup the dialog self.set_border_width(6) self.set_has_separator(False) self.set_resizable(False) self.vbox.set_spacing(6) # Setup the cancel button self.button_cancel = AptCancelButton(transaction) self.action_area.pack_start(self.button_cancel, False, False, 0) # Setup the status icon, label and progressbar hbox = gtk.HBox() hbox.set_spacing(12) hbox.set_border_width(6) self.icon = AptRoleIcon() hbox.pack_start(self.icon, False, True, 0) vbox = gtk.VBox() vbox.set_spacing(12) self.label_role = gtk.Label() self.label_role.set_alignment(0, 0) vbox.pack_start(self.label_role, False, True, 0) vbox_progress = gtk.VBox() vbox_progress.set_spacing(6) self.progress = AptProgressBar() vbox_progress.pack_start(self.progress, False, True, 0) self.label = AptStatusLabel() self.label._on_status_changed(None, STATUS_WAITING) vbox_progress.pack_start(self.label, False, True, 0) vbox.pack_start(vbox_progress, False, True, 0) hbox.pack_start(vbox, True, True, 0) self.expander = AptDetailsExpander(terminal=terminal) self.expander.connect("notify::expanded", self._on_expanded) vbox.pack_start(self.expander, True, True, 0) self.vbox.pack_start(hbox, True, True, 0) self._transaction = None self._signals = [] self.set_title("") self.realize() self.progress.set_size_request(350, -1) self.window.set_functions(gtk.gdk.FUNC_MOVE | gtk.gdk.FUNC_RESIZE) if transaction is not None: self.set_transaction(transaction) # catch ESC and behave as if cancel was clicked self.connect("delete-event", self._on_dialog_delete_event) def _on_dialog_delete_event(self, dialog, event): self.button_cancel.clicked() return True def _on_expanded(self, expander, param): # Make the dialog resizable if the expander is expanded # try to restore a previous size if not expander.get_expanded(): self._expanded_size = self.get_size() self.set_resizable(False) elif self._expanded_size: self.set_resizable(True) self.resize(*self._expanded_size) else: self.set_resizable(True) @deferable def run(self, attach=False, close_on_finished=True, show_error=True, reply_handler=None, error_handler=None): """Run the transaction and show the progress in the dialog. Keyword arguments: attach -- do not start the transaction but instead only monitor an already running one close_on_finished -- if the dialog should be closed when the transaction is complete show_error -- show a dialog with the error message """ return self._run(attach, close_on_finished, show_error, reply_handler, error_handler) @inline_callbacks def _run(self, attach, close_on_finished, show_error, reply_handler, error_handler): try: sig = self._transaction.connect("finished", self._on_finished, close_on_finished, show_error) self._signals.append(sig) if attach: yield self._transaction.sync() else: if self.debconf: yield self._transaction.set_debconf_frontend("gnome") yield self._transaction.run() self.show_all() except Exception as error: if error_handler: error_handler(error) else: raise else: if reply_handler: reply_handler() def _on_role_changed(self, transaction, role_enum): """Show the role of the transaction in the dialog interface""" role = get_role_localised_present_from_enum(role_enum) self.set_title(role) self.label_role.set_markup("%s" % role) def set_transaction(self, transaction): """Connect the dialog to the given aptdaemon transaction""" for sig in self._signals: gobject.source_remove(sig) self._signals = [] self._signals.append(transaction.connect("role-changed", self._on_role_changed)) self._signals.append(transaction.connect("medium-required", self._on_medium_required)) self._signals.append(transaction.connect("config-file-conflict", self._on_config_file_conflict)) self._on_role_changed(transaction, transaction.role) self.progress.set_transaction(transaction) self.icon.set_transaction(transaction) self.label.set_transaction(transaction) self.expander.set_transaction(transaction) self._transaction = transaction def _on_medium_required(self, transaction, medium, drive): dialog = AptMediumRequiredDialog(medium, drive, self) res = dialog.run() dialog.hide() if res == gtk.RESPONSE_OK: self._transaction.provide_medium(medium) else: self._transaction.cancel() def _on_config_file_conflict(self, transaction, old, new): dialog = AptConfigFileConflictDialog(old, new, self) res = dialog.run() dialog.hide() if res == gtk.RESPONSE_YES: self._transaction.resolve_config_file_conflict(old, "replace") else: self._transaction.resolve_config_file_conflict(old, "keep") def _on_finished(self, transaction, status, close, show_error): if close: self.hide() if status == EXIT_FAILED and show_error: err_dia = AptErrorDialog(self._transaction.error, self) err_dia.run() err_dia.hide() self.emit("finished") class _ExpandableDialog(gtk.Dialog): """Dialog with an expander.""" def __init__(self, parent=None, stock_type=None, expanded_child=None, expander_label=None, title=None, message=None, buttons=None): """Return an _AptDaemonDialog instance. Keyword arguments: parent -- set the dialog transient for the given gtk.Window stock_type -- type of the Dialog, defaults to gtk.STOCK_DIALOG_QUESTION expanded_child -- Widget which should be expanded expander_label -- label for the expander title -- a news header like title of the dialog message -- the message which should be shown in the dialog buttons -- tuple containing button text/reponse id pairs, defaults to a close button """ if not buttons: buttons = (gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE) gtk.Dialog.__init__(self, parent=parent, buttons=buttons) self.set_resizable(True) self.set_border_width(6) self.vbox.set_spacing(12) if not stock_type: stock_type = gtk.STOCK_DIALOG_QUESTION icon = gtk.image_new_from_stock(stock_type, gtk.ICON_SIZE_DIALOG) icon.set_alignment(0, 0) hbox_base = gtk.HBox() hbox_base.set_spacing(12) hbox_base.set_border_width(6) vbox_left = gtk.VBox() vbox_left.set_spacing(12) hbox_base.pack_start(icon, False, True) hbox_base.pack_start(vbox_left, True, True) self.label = gtk.Label() self.label.set_selectable(True) self.label.set_alignment(0, 0) self.label.set_line_wrap(True) vbox_left.pack_start(self.label, False, True) self.set_has_separator(False) self.vbox.pack_start(hbox_base, True, True) # The expander widget self.expander = gtk.Expander(label=expander_label) self.expander.set_spacing(6) self.expander.set_use_underline(True) self.expander.connect("notify::expanded", self._on_expanded) vbox_left.pack_start(self.expander, True, True) self._expanded_size = self.get_size() # Set some initial data text = "" if title: text = "%s" % title if message: if text: text += "\n\n" text += message self.label.set_markup(text) if expanded_child: self.expander.add(expanded_child) expanded_child.set_size_request(-1, 125) else: self.expander.set_sensitive(True) def _on_expanded(self, expander, param): if expander.get_expanded(): self.set_resizable(True) self.resize(*self._expanded_size) else: self._expanded_size = self.get_size() self.set_resizable(False) def run(self): self.show_all() return gtk.Dialog.run(self) class AptMediumRequiredDialog(gtk.MessageDialog): """Dialog to ask for medium change.""" def __init__(self, medium, drive, parent=None): gtk.MessageDialog.__init__(self, parent=parent, type=gtk.MESSAGE_INFO) #TRANSLATORS: %s represents the name of a CD or DVD text = _("CD/DVD '%s' is required") % medium #TRANSLATORS: %s is the name of the CD/DVD drive desc = _("Please insert the above CD/DVD into the drive '%s' to " "install software packages from it.") % drive self.set_markup("%s\n\n%s" % (text, desc)) self.add_buttons(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, _("C_ontinue"), gtk.RESPONSE_OK) self.set_default_response(gtk.RESPONSE_OK) class AptConfirmDialog(gtk.Dialog): """Dialog to confirm the changes that would be required by a transaction.""" def __init__(self, trans, cache=None, parent=None): """Return an AptConfirmDialog instance. Keyword arguments: trans -- the transaction of which the dependencies should be shown cache -- an optional apt.cache.Cache() instance to provide more details about packages parent -- set the dialog transient for the given gtk.Window """ self.cache = cache self.trans = trans buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, _("C_ontinue"), gtk.RESPONSE_OK) gtk.Dialog.__init__(self, buttons=buttons) if isinstance(parent, gtk.gdk.Window): self.realize() self.window.set_transient_for(parent) else: self.set_transient_for(parent) self.set_resizable(True) self.set_border_width(6) self.vbox.set_spacing(12) icon = gtk.image_new_from_stock(gtk.STOCK_DIALOG_QUESTION, gtk.ICON_SIZE_DIALOG) icon.set_alignment(0, 0) hbox_base = gtk.HBox() hbox_base.set_spacing(12) hbox_base.set_border_width(6) vbox_left = gtk.VBox() vbox_left.set_spacing(12) hbox_base.pack_start(icon, False, True) hbox_base.pack_start(vbox_left, True, True) self.label = gtk.Label() self.label.set_selectable(True) self.label.set_alignment(0, 0) self.label.set_line_wrap(True) vbox_left.pack_start(self.label, False, True) self.set_has_separator(False) self.vbox.pack_start(hbox_base, True, True) self.treestore = gtk.TreeStore(str) self.treeview = gtk.TreeView(self.treestore) self.treeview.set_headers_visible(False) self.treeview.set_rules_hint(True) self.column = gtk.TreeViewColumn() self.treeview.append_column(self.column) cell_icon = gtk.CellRendererPixbuf() self.column.pack_start(cell_icon, expand=False) self.column.set_cell_data_func(cell_icon, self.render_package_icon) cell_desc = gtk.CellRendererText() self.column.pack_start(cell_desc, expand=True) self.column.set_cell_data_func(cell_desc, self.render_package_desc) self.scrolled = gtk.ScrolledWindow() self.scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.scrolled.set_shadow_type(gtk.SHADOW_ETCHED_IN) self.scrolled.add(self.treeview) vbox_left.pack_start(self.scrolled, True, True) self.set_default_response(gtk.RESPONSE_CANCEL) def _show_changes(self): """Show a message and the dependencies in the dialog.""" self.treestore.clear() for index, msg in enumerate([_("Install"), _("Reinstall"), _("Remove"), _("Purge"), _("Upgrade"), _("Downgrade"), _("Skip upgrade")]): if self.trans.dependencies[index]: piter = self.treestore.append(None, ["%s" % msg]) for pkg in self.trans.dependencies[index]: for object in self.map_package(pkg): self.treestore.append(piter, [object]) # If there is only one type of changes (e.g. only installs) expand the # tree #FIXME: adapt the title and message accordingly #FIXME: Should we have different modes? Only show dependencies, only # initial packages or both? msg = _("Please take a look at the list of changes below.") if len(self.treestore) == 1: filtered_store = self.treestore.filter_new(root=(0)) self.treeview.expand_all() self.treeview.set_model(filtered_store) self.treeview.set_show_expanders(False) if self.trans.dependencies[PKGS_INSTALL]: title = _("Additional software has to be installed") elif self.trans.dependencies[PKGS_REINSTALL]: title = _("Additional software has to be re-installed") elif self.trans.dependencies[PKGS_REMOVE]: title = _("Additional software has to be removed") elif self.trans.dependencies[PKGS_PURGE]: title = _("Additional software has to be purged") elif self.trans.dependencies[PKGS_UPGRADE]: title = _("Additional software has to be upgraded") elif self.trans.dependencies[PKGS_DOWNGRADE]: title = _("Additional software has to be downgraded") elif self.trans.dependencies[PKGS_KEEP]: title = _("Updates will be skipped") if len(filtered_store) < 6: self.set_resizable(False) self.scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_NEVER) else: self.treeview.set_size_request(350, 200) else: title = _("Additional changes are required") self.treeview.set_size_request(350, 200) self.treeview.collapse_all() if self.trans.download: msg += "\n" msg += (_("%sB will be downloaded in total.") % apt_pkg.size_to_str(self.trans.download)) if self.trans.space < 0: msg += "\n" msg += (_("%sB of disk space will be freed.") % apt_pkg.size_to_str(self.trans.space)) elif self.trans.space > 0: msg += "\n" msg += (_("%sB more disk space will be used.") % apt_pkg.size_to_str(self.trans.space)) self.label.set_markup("%s\n\n%s" % (title, msg)) def map_package(self, pkg): """Map a package to a different object type, e.g. applications and return a list of those. By default return the package itself inside a list. Override this method if you don't want to store package names in the treeview. """ return [pkg] def render_package_icon(self, column, cell, model, iter): """Data func for the gtk.CellRendererPixbuf which shows the package. Override this method if you want to show custom icons for a package or map it to applications. """ path = model.get_path(iter) if len(path) == 1: cell.props.visible = False else: cell.props.visible = True cell.props.icon_name = "applications-other" def render_package_desc(self, column, cell, model, iter): """Data func for the gtk.CellRendererText which shows the package. Override this method if you want to show more information about a package or map it to applications. """ value = model.get_value(iter, 0) try: pkg_name, pkg_version = value.split("=")[0:2] except ValueError: pkg_name = value pkg_version = None try: if pkg_version: text = "%s (%s)\n%s" % ( pkg_name, pkg_version, self.cache[pkg_name].summary) else: text = "%s\n%s" % ( pkg_name, self.cache[pkg_name].summary) except (KeyError, TypeError): if pkg_version: text = "%s (%s)" % (pkg_name, pkg_version) else: text = "%s" % pkg_name cell.set_property("markup", text) def run(self): self._show_changes() self.show_all() return gtk.Dialog.run(self) class AptConfigFileConflictDialog(_ExpandableDialog): """Dialog to resolve conflicts between local and shipped configuration files. """ def __init__(self, from_path, to_path, parent=None): self.from_path = from_path self.to_path = to_path #TRANSLATORS: %s is a file path title = _("Replace your changes in '%s' with a later version of " "the configuration file?") % from_path msg = _("If you don't know why the file is there already, it is " "usually safe to replace it.") scrolled = gtk.ScrolledWindow() scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) scrolled.set_shadow_type(gtk.SHADOW_ETCHED_IN) self.diffview = DiffView() self.diffview.set_size_request(-1, 200) scrolled.add(self.diffview) _ExpandableDialog.__init__(self, parent=parent, expander_label=_("_Changes"), expanded_child=scrolled, title=title, message=msg, buttons=(_("_Keep"), gtk.RESPONSE_NO, _("_Replace"), gtk.RESPONSE_YES)) self.set_default_response(gtk.RESPONSE_NO) def run(self): self.show_all() self.diffview.show_diff(self.from_path, self.to_path) return _ExpandableDialog.run(self) class DiffView(gtk.TextView): """Shows the difference between two files.""" REGEX_RANGE = "^@@ \-(?P[0-9]+),(?P[0-9]+) " \ "\+(?P[0-9]+),(?P[0-9]+) @@" ELLIPSIS = "[…]\n" def __init__(self): self.buffer = gtk.TextBuffer() gtk.TextView.__init__(self, self.buffer) self.set_property("editable", False) self.set_cursor_visible(False) tags = self.buffer.get_tag_table() #FIXME: How to get better colors? tag_default = gtk.TextTag("default") tag_default.set_properties(font="Mono") tags.add(tag_default) tag_add = gtk.TextTag("add") tag_add.set_properties(font="Mono", background='#8ae234') tags.add(tag_add) tag_remove = gtk.TextTag("remove") tag_remove.set_properties(font="Mono", background='#ef2929') tags.add(tag_remove) tag_num = gtk.TextTag("number") tag_num.set_properties(font="Mono", background='#eee') tags.add(tag_num) def show_diff(self, from_path, to_path): """Show the difference between two files.""" #FIXME: Use gio try: from_lines = open(from_path).readlines() to_lines = open(to_path).readlines() except IOError: return iter = self.buffer.get_start_iter() for line in difflib.unified_diff(from_lines, to_lines, lineterm=""): if line.startswith("@@"): match = re.match(self.REGEX_RANGE, line) if not match: continue line_number = int(match.group("from_start")) if line_number > 1: self.buffer.insert_with_tags_by_name(iter, self.ELLIPSIS, "default") elif line.startswith("---") or line.startswith("+++"): continue elif line.startswith(" "): line_number += 1 self.buffer.insert_with_tags_by_name(iter, str(line_number), "number") self.buffer.insert_with_tags_by_name(iter, line, "default") elif line.startswith("-"): line_number += 1 self.buffer.insert_with_tags_by_name(iter, str(line_number), "number") self.buffer.insert_with_tags_by_name(iter, line, "remove") elif line.startswith("+"): spaces = " " * len(str(line_number)) self.buffer.insert_with_tags_by_name(iter, spaces, "number") self.buffer.insert_with_tags_by_name(iter, line, "add") class AptErrorDialog(_ExpandableDialog): """ Dialog for aptdaemon errors with details in an expandable text view """ def __init__(self, error=None, parent=None): title = get_error_string_from_enum(error.code) msg = get_error_description_from_enum(error.code) if error.details: scrolled = gtk.ScrolledWindow() scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) scrolled.set_shadow_type(gtk.SHADOW_ETCHED_IN) textview = gtk.TextView() buffer = textview.get_buffer() buffer.insert_at_cursor(error.details) scrolled.add(textview) else: scrolled = None _ExpandableDialog.__init__(self, parent=parent, expander_label=_("_Details"), expanded_child=scrolled, stock_type=gtk.STOCK_DIALOG_ERROR, title=title, message=msg) aptdaemon-1.1.1/aptdaemon/pkenums.py0000644000175000017500000014110612201760213020241 0ustar renaterenate00000000000000# This file was autogenerated from ../../../lib/packagekit-glib2/pk-enum.c by enum-converter.py class PackageKitEnum: exit = ( "unknown", "success", "failed", "cancelled", "key-required", "eula-required", "media-change-required", "killed", "need-untrusted", "cancelled-priority", "skip-transaction", "repair-required", ) status = ( "unknown", "wait", "setup", "running", "query", "info", "refresh-cache", "remove", "download", "install", "update", "cleanup", "obsolete", "dep-resolve", "sig-check", "test-commit", "commit", "request", "finished", "cancel", "download-repository", "download-packagelist", "download-filelist", "download-changelog", "download-group", "download-updateinfo", "repackaging", "loading-cache", "scan-applications", "generate-package-list", "waiting-for-lock", "waiting-for-auth", "scan-process-list", "check-executable-files", "check-libraries", "copy-files", ) role = ( "unknown", "cancel", "get-depends", "get-details", "get-files", "get-packages", "get-repo-list", "get-requires", "get-update-detail", "get-updates", "install-files", "install-packages", "install-signature", "refresh-cache", "remove-packages", "repo-enable", "repo-set-data", "resolve", "search-details", "search-file", "search-group", "search-name", "update-packages", "what-provides", "accept-eula", "download-packages", "get-distro-upgrades", "get-categories", "get-old-transactions", "upgrade-system", "repair-system", ) error = ( "unknown", "out-of-memory", "no-cache", "no-network", "not-supported", "internal-error", "gpg-failure", "filter-invalid", "package-id-invalid", "transaction-error", "transaction-cancelled", "package-not-installed", "package-not-found", "package-already-installed", "package-download-failed", "group-not-found", "group-list-invalid", "dep-resolution-failed", "create-thread-failed", "repo-not-found", "cannot-remove-system-package", "process-kill", "failed-initialization", "failed-finalise", "failed-config-parsing", "cannot-cancel", "cannot-get-lock", "no-packages-to-update", "cannot-write-repo-config", "local-install-failed", "bad-gpg-signature", "missing-gpg-signature", "cannot-install-source-package", "repo-configuration-error", "no-license-agreement", "file-conflicts", "package-conflicts", "repo-not-available", "invalid-package-file", "package-install-blocked", "package-corrupt", "all-packages-already-installed", "file-not-found", "no-more-mirrors-to-try", "no-distro-upgrade-data", "incompatible-architecture", "no-space-on-device", "media-change-required", "not-authorized", "update-not-found", "cannot-install-repo-unsigned", "cannot-update-repo-unsigned", "cannot-get-filelist", "cannot-get-requires", "cannot-disable-repository", "restricted-download", "package-failed-to-configure", "package-failed-to-build", "package-failed-to-install", "package-failed-to-remove", "failed-due-to-running-process", "package-database-changed", "provide-type-not-supported", "install-root-invalid", "cannot-fetch-sources", "cancelled-priority", "unfinished-transaction", "lock-required", ) restart = ( "unknown", "none", "system", "session", "application", "security-system", "security-session", ) message = ( "unknown", "broken-mirror", "connection-refused", "parameter-invalid", "priority-invalid", "backend-error", "daemon-error", "cache-being-rebuilt", "newer-package-exists", "could-not-find-package", "config-files-changed", "package-already-installed", "autoremove-ignored", "repo-metadata-download-failed", "repo-for-developers-only", "other-updates-held-back", ) filter = ( "unknown", "none", "installed", "~installed", "devel", "~devel", "gui", "~gui", "free", "~free", "visible", "~visible", "supported", "~supported", "basename", "~basename", "newest", "~newest", "arch", "~arch", "source", "~source", "collections", "~collections", "application", "~application", ) group = ( "unknown", "accessibility", "accessories", "education", "games", "graphics", "internet", "office", "other", "programming", "multimedia", "system", "desktop-gnome", "desktop-kde", "desktop-xfce", "desktop-other", "publishing", "servers", "fonts", "admin-tools", "legacy", "localization", "virtualization", "power-management", "security", "communication", "network", "maps", "repos", "science", "documentation", "electronics", "collections", "vendor", "newest", ) update_state = ( "unknown", "testing", "unstable", "stable", ) info = ( "unknown", "installed", "available", "low", "normal", "important", "security", "bugfix", "enhancement", "blocked", "downloading", "updating", "installing", "removing", "cleanup", "obsoleting", "collection-installed", "collection-available", "finished", "reinstalling", "downgrading", "preparing", "decompressing", "untrusted", "trusted", ) sig_type = ( "unknown", "gpg", ) upgrade = ( "unknown", "stable", "unstable", ) provides = ( "unknown", "any", "modalias", "codec", "mimetype", "driver", "font", "postscript-driver", "plasma-service", "shared-library", "python-module", "language-support", ) network = ( "unknown", "offline", "online", "wired", "wifi", "mobile", ) media_type = ( "unknown", "cd", "dvd", "disc", ) authorize_type = ( "unknown", "yes", "no", "interactive", ) upgrade_kind = ( "unknown", "minimal", "default", "complete", ) transaction_flag = ( "none", "only-trusted", "simulate", "only-download", ) # Constants AUTHORIZE_INTERACTIVE = "interactive" AUTHORIZE_NO = "no" AUTHORIZE_UNKNOWN = "unknown" AUTHORIZE_YES = "yes" DISTRO_UPGRADE_STABLE = "stable" DISTRO_UPGRADE_UNKNOWN = "unknown" DISTRO_UPGRADE_UNSTABLE = "unstable" ERROR_ALL_PACKAGES_ALREADY_INSTALLED = "all-packages-already-installed" ERROR_BAD_GPG_SIGNATURE = "bad-gpg-signature" ERROR_CANCELLED_PRIORITY = "cancelled-priority" ERROR_CANNOT_CANCEL = "cannot-cancel" ERROR_CANNOT_DISABLE_REPOSITORY = "cannot-disable-repository" ERROR_CANNOT_FETCH_SOURCES = "cannot-fetch-sources" ERROR_CANNOT_GET_FILELIST = "cannot-get-filelist" ERROR_CANNOT_GET_LOCK = "cannot-get-lock" ERROR_CANNOT_GET_REQUIRES = "cannot-get-requires" ERROR_CANNOT_INSTALL_REPO_UNSIGNED = "cannot-install-repo-unsigned" ERROR_CANNOT_INSTALL_SOURCE_PACKAGE = "cannot-install-source-package" ERROR_CANNOT_REMOVE_SYSTEM_PACKAGE = "cannot-remove-system-package" ERROR_CANNOT_UPDATE_REPO_UNSIGNED = "cannot-update-repo-unsigned" ERROR_CANNOT_WRITE_REPO_CONFIG = "cannot-write-repo-config" ERROR_CREATE_THREAD_FAILED = "create-thread-failed" ERROR_DEP_RESOLUTION_FAILED = "dep-resolution-failed" ERROR_FAILED_CONFIG_PARSING = "failed-config-parsing" ERROR_FAILED_FINALISE = "failed-finalise" ERROR_FAILED_INITIALIZATION = "failed-initialization" ERROR_FILE_CONFLICTS = "file-conflicts" ERROR_FILE_NOT_FOUND = "file-not-found" ERROR_FILTER_INVALID = "filter-invalid" ERROR_GPG_FAILURE = "gpg-failure" ERROR_GROUP_LIST_INVALID = "group-list-invalid" ERROR_GROUP_NOT_FOUND = "group-not-found" ERROR_INCOMPATIBLE_ARCHITECTURE = "incompatible-architecture" ERROR_INSTALL_ROOT_INVALID = "install-root-invalid" ERROR_INTERNAL_ERROR = "internal-error" ERROR_INVALID_PACKAGE_FILE = "invalid-package-file" ERROR_LOCAL_INSTALL_FAILED = "local-install-failed" ERROR_LOCK_REQUIRED = "lock-required" ERROR_MEDIA_CHANGE_REQUIRED = "media-change-required" ERROR_MISSING_GPG_SIGNATURE = "missing-gpg-signature" ERROR_NOT_AUTHORIZED = "not-authorized" ERROR_NOT_SUPPORTED = "not-supported" ERROR_NO_CACHE = "no-cache" ERROR_NO_DISTRO_UPGRADE_DATA = "no-distro-upgrade-data" ERROR_NO_LICENSE_AGREEMENT = "no-license-agreement" ERROR_NO_MORE_MIRRORS_TO_TRY = "no-more-mirrors-to-try" ERROR_NO_NETWORK = "no-network" ERROR_NO_PACKAGES_TO_UPDATE = "no-packages-to-update" ERROR_NO_SPACE_ON_DEVICE = "no-space-on-device" ERROR_OOM = "out-of-memory" ERROR_PACKAGE_ALREADY_INSTALLED = "package-already-installed" ERROR_PACKAGE_CONFLICTS = "package-conflicts" ERROR_PACKAGE_CORRUPT = "package-corrupt" ERROR_PACKAGE_DATABASE_CHANGED = "package-database-changed" ERROR_PACKAGE_DOWNLOAD_FAILED = "package-download-failed" ERROR_PACKAGE_FAILED_TO_BUILD = "package-failed-to-build" ERROR_PACKAGE_FAILED_TO_CONFIGURE = "package-failed-to-configure" ERROR_PACKAGE_FAILED_TO_INSTALL = "package-failed-to-install" ERROR_PACKAGE_FAILED_TO_REMOVE = "package-failed-to-remove" ERROR_PACKAGE_ID_INVALID = "package-id-invalid" ERROR_PACKAGE_INSTALL_BLOCKED = "package-install-blocked" ERROR_PACKAGE_NOT_FOUND = "package-not-found" ERROR_PACKAGE_NOT_INSTALLED = "package-not-installed" ERROR_PROCESS_KILL = "process-kill" ERROR_PROVIDE_TYPE_NOT_SUPPORTED = "provide-type-not-supported" ERROR_REPO_CONFIGURATION_ERROR = "repo-configuration-error" ERROR_REPO_NOT_AVAILABLE = "repo-not-available" ERROR_REPO_NOT_FOUND = "repo-not-found" ERROR_RESTRICTED_DOWNLOAD = "restricted-download" ERROR_TRANSACTION_CANCELLED = "transaction-cancelled" ERROR_TRANSACTION_ERROR = "transaction-error" ERROR_UNFINISHED_TRANSACTION = "unfinished-transaction" ERROR_UNKNOWN = "unknown" ERROR_UPDATE_FAILED_DUE_TO_RUNNING_PROCESS = "failed-due-to-running-process" ERROR_UPDATE_NOT_FOUND = "update-not-found" EXIT_CANCELLED = "cancelled" EXIT_CANCELLED_PRIORITY = "cancelled-priority" EXIT_EULA_REQUIRED = "eula-required" EXIT_FAILED = "failed" EXIT_KEY_REQUIRED = "key-required" EXIT_KILLED = "killed" EXIT_MEDIA_CHANGE_REQUIRED = "media-change-required" EXIT_NEED_UNTRUSTED = "need-untrusted" EXIT_REPAIR_REQUIRED = "repair-required" EXIT_SKIP_TRANSACTION = "skip-transaction" EXIT_SUCCESS = "success" EXIT_UNKNOWN = "unknown" FILTER_APPLICATION = "application" FILTER_ARCH = "arch" FILTER_BASENAME = "basename" FILTER_COLLECTIONS = "collections" FILTER_DEVELOPMENT = "devel" FILTER_FREE = "free" FILTER_GUI = "gui" FILTER_INSTALLED = "installed" FILTER_NEWEST = "newest" FILTER_NONE = "none" FILTER_NOT_APPLICATION = "~application" FILTER_NOT_ARCH = "~arch" FILTER_NOT_BASENAME = "~basename" FILTER_NOT_COLLECTIONS = "~collections" FILTER_NOT_DEVELOPMENT = "~devel" FILTER_NOT_FREE = "~free" FILTER_NOT_GUI = "~gui" FILTER_NOT_INSTALLED = "~installed" FILTER_NOT_NEWEST = "~newest" FILTER_NOT_SOURCE = "~source" FILTER_NOT_SUPPORTED = "~supported" FILTER_NOT_VISIBLE = "~visible" FILTER_SOURCE = "source" FILTER_SUPPORTED = "supported" FILTER_UNKNOWN = "unknown" FILTER_VISIBLE = "visible" GROUP_ACCESSIBILITY = "accessibility" GROUP_ACCESSORIES = "accessories" GROUP_ADMIN_TOOLS = "admin-tools" GROUP_COLLECTIONS = "collections" GROUP_COMMUNICATION = "communication" GROUP_DESKTOP_GNOME = "desktop-gnome" GROUP_DESKTOP_KDE = "desktop-kde" GROUP_DESKTOP_OTHER = "desktop-other" GROUP_DESKTOP_XFCE = "desktop-xfce" GROUP_DOCUMENTATION = "documentation" GROUP_EDUCATION = "education" GROUP_ELECTRONICS = "electronics" GROUP_FONTS = "fonts" GROUP_GAMES = "games" GROUP_GRAPHICS = "graphics" GROUP_INTERNET = "internet" GROUP_LEGACY = "legacy" GROUP_LOCALIZATION = "localization" GROUP_MAPS = "maps" GROUP_MULTIMEDIA = "multimedia" GROUP_NETWORK = "network" GROUP_NEWEST = "newest" GROUP_OFFICE = "office" GROUP_OTHER = "other" GROUP_POWER_MANAGEMENT = "power-management" GROUP_PROGRAMMING = "programming" GROUP_PUBLISHING = "publishing" GROUP_REPOS = "repos" GROUP_SCIENCE = "science" GROUP_SECURITY = "security" GROUP_SERVERS = "servers" GROUP_SYSTEM = "system" GROUP_UNKNOWN = "unknown" GROUP_VENDOR = "vendor" GROUP_VIRTUALIZATION = "virtualization" INFO_AVAILABLE = "available" INFO_BLOCKED = "blocked" INFO_BUGFIX = "bugfix" INFO_CLEANUP = "cleanup" INFO_COLLECTION_AVAILABLE = "collection-available" INFO_COLLECTION_INSTALLED = "collection-installed" INFO_DECOMPRESSING = "decompressing" INFO_DOWNGRADING = "downgrading" INFO_DOWNLOADING = "downloading" INFO_ENHANCEMENT = "enhancement" INFO_FINISHED = "finished" INFO_IMPORTANT = "important" INFO_INSTALLED = "installed" INFO_INSTALLING = "installing" INFO_LOW = "low" INFO_NORMAL = "normal" INFO_OBSOLETING = "obsoleting" INFO_PREPARING = "preparing" INFO_REINSTALLING = "reinstalling" INFO_REMOVING = "removing" INFO_SECURITY = "security" INFO_TRUSTED = "trusted" INFO_UNKNOWN = "unknown" INFO_UNTRUSTED = "untrusted" INFO_UPDATING = "updating" MEDIA_TYPE_CD = "cd" MEDIA_TYPE_DISC = "disc" MEDIA_TYPE_DVD = "dvd" MEDIA_TYPE_UNKNOWN = "unknown" MESSAGE_AUTOREMOVE_IGNORED = "autoremove-ignored" MESSAGE_BACKEND_ERROR = "backend-error" MESSAGE_BROKEN_MIRROR = "broken-mirror" MESSAGE_CACHE_BEING_REBUILT = "cache-being-rebuilt" MESSAGE_CONFIG_FILES_CHANGED = "config-files-changed" MESSAGE_CONNECTION_REFUSED = "connection-refused" MESSAGE_COULD_NOT_FIND_PACKAGE = "could-not-find-package" MESSAGE_DAEMON_ERROR = "daemon-error" MESSAGE_NEWER_PACKAGE_EXISTS = "newer-package-exists" MESSAGE_OTHER_UPDATES_HELD_BACK = "other-updates-held-back" MESSAGE_PACKAGE_ALREADY_INSTALLED = "package-already-installed" MESSAGE_PARAMETER_INVALID = "parameter-invalid" MESSAGE_PRIORITY_INVALID = "priority-invalid" MESSAGE_REPO_FOR_DEVELOPERS_ONLY = "repo-for-developers-only" MESSAGE_REPO_METADATA_DOWNLOAD_FAILED = "repo-metadata-download-failed" MESSAGE_UNKNOWN = "unknown" NETWORK_MOBILE = "mobile" NETWORK_OFFLINE = "offline" NETWORK_ONLINE = "online" NETWORK_UNKNOWN = "unknown" NETWORK_WIFI = "wifi" NETWORK_WIRED = "wired" PROVIDES_ANY = "any" PROVIDES_CODEC = "codec" PROVIDES_FONT = "font" PROVIDES_HARDWARE_DRIVER = "driver" PROVIDES_LANGUAGE_SUPPORT = "language-support" PROVIDES_MIMETYPE = "mimetype" PROVIDES_MODALIAS = "modalias" PROVIDES_PLASMA_SERVICE = "plasma-service" PROVIDES_POSTSCRIPT_DRIVER = "postscript-driver" PROVIDES_PYTHON = "python-module" PROVIDES_SHARED_LIB = "shared-library" PROVIDES_UNKNOWN = "unknown" RESTART_APPLICATION = "application" RESTART_NONE = "none" RESTART_SECURITY_SESSION = "security-session" RESTART_SECURITY_SYSTEM = "security-system" RESTART_SESSION = "session" RESTART_SYSTEM = "system" RESTART_UNKNOWN = "unknown" ROLE_ACCEPT_EULA = "accept-eula" ROLE_CANCEL = "cancel" ROLE_DOWNLOAD_PACKAGES = "download-packages" ROLE_GET_CATEGORIES = "get-categories" ROLE_GET_DEPENDS = "get-depends" ROLE_GET_DETAILS = "get-details" ROLE_GET_DISTRO_UPGRADES = "get-distro-upgrades" ROLE_GET_FILES = "get-files" ROLE_GET_OLD_TRANSACTIONS = "get-old-transactions" ROLE_GET_PACKAGES = "get-packages" ROLE_GET_REPO_LIST = "get-repo-list" ROLE_GET_REQUIRES = "get-requires" ROLE_GET_UPDATES = "get-updates" ROLE_GET_UPDATE_DETAIL = "get-update-detail" ROLE_INSTALL_FILES = "install-files" ROLE_INSTALL_PACKAGES = "install-packages" ROLE_INSTALL_SIGNATURE = "install-signature" ROLE_REFRESH_CACHE = "refresh-cache" ROLE_REMOVE_PACKAGES = "remove-packages" ROLE_REPAIR_SYSTEM = "repair-system" ROLE_REPO_ENABLE = "repo-enable" ROLE_REPO_SET_DATA = "repo-set-data" ROLE_RESOLVE = "resolve" ROLE_SEARCH_DETAILS = "search-details" ROLE_SEARCH_FILE = "search-file" ROLE_SEARCH_GROUP = "search-group" ROLE_SEARCH_NAME = "search-name" ROLE_UNKNOWN = "unknown" ROLE_UPDATE_PACKAGES = "update-packages" ROLE_UPGRADE_SYSTEM = "upgrade-system" ROLE_WHAT_PROVIDES = "what-provides" SIGTYPE_GPG = "gpg" SIGTYPE_UNKNOWN = "unknown" STATUS_CANCEL = "cancel" STATUS_CHECK_EXECUTABLE_FILES = "check-executable-files" STATUS_CHECK_LIBRARIES = "check-libraries" STATUS_CLEANUP = "cleanup" STATUS_COMMIT = "commit" STATUS_COPY_FILES = "copy-files" STATUS_DEP_RESOLVE = "dep-resolve" STATUS_DOWNLOAD = "download" STATUS_DOWNLOAD_CHANGELOG = "download-changelog" STATUS_DOWNLOAD_FILELIST = "download-filelist" STATUS_DOWNLOAD_GROUP = "download-group" STATUS_DOWNLOAD_PACKAGELIST = "download-packagelist" STATUS_DOWNLOAD_REPOSITORY = "download-repository" STATUS_DOWNLOAD_UPDATEINFO = "download-updateinfo" STATUS_FINISHED = "finished" STATUS_GENERATE_PACKAGE_LIST = "generate-package-list" STATUS_INFO = "info" STATUS_INSTALL = "install" STATUS_LOADING_CACHE = "loading-cache" STATUS_OBSOLETE = "obsolete" STATUS_QUERY = "query" STATUS_REFRESH_CACHE = "refresh-cache" STATUS_REMOVE = "remove" STATUS_REPACKAGING = "repackaging" STATUS_REQUEST = "request" STATUS_RUNNING = "running" STATUS_SCAN_APPLICATIONS = "scan-applications" STATUS_SCAN_PROCESS_LIST = "scan-process-list" STATUS_SETUP = "setup" STATUS_SIG_CHECK = "sig-check" STATUS_TEST_COMMIT = "test-commit" STATUS_UNKNOWN = "unknown" STATUS_UPDATE = "update" STATUS_WAIT = "wait" STATUS_WAITING_FOR_AUTH = "waiting-for-auth" STATUS_WAITING_FOR_LOCK = "waiting-for-lock" TRANSACTION_FLAG_NONE = "none" TRANSACTION_FLAG_ONLY_DOWNLOAD = "only-download" TRANSACTION_FLAG_ONLY_TRUSTED = "only-trusted" TRANSACTION_FLAG_SIMULATE = "simulate" UPDATE_STATE_STABLE = "stable" UPDATE_STATE_TESTING = "testing" UPDATE_STATE_UNKNOWN = "unknown" UPDATE_STATE_UNSTABLE = "unstable" UPGRADE_KIND_COMPLETE = "complete" UPGRADE_KIND_DEFAULT = "default" UPGRADE_KIND_MINIMAL = "minimal" UPGRADE_KIND_UNKNOWN = "unknown" # This file was autogenerated from ../../lib/packagekit-glib2/pk-enum.c by enum-converter.py class PackageKitEnum: exit = ( "unknown", "success", "failed", "cancelled", "key-required", "eula-required", "media-change-required", "killed", "need-untrusted", "cancelled-priority", "skip-transaction", "repair-required", ) status = ( "unknown", "wait", "setup", "running", "query", "info", "refresh-cache", "remove", "download", "install", "update", "cleanup", "obsolete", "dep-resolve", "sig-check", "test-commit", "commit", "request", "finished", "cancel", "download-repository", "download-packagelist", "download-filelist", "download-changelog", "download-group", "download-updateinfo", "repackaging", "loading-cache", "scan-applications", "generate-package-list", "waiting-for-lock", "waiting-for-auth", "scan-process-list", "check-executable-files", "check-libraries", "copy-files", ) role = ( "unknown", "cancel", "get-depends", "get-details", "get-files", "get-packages", "get-repo-list", "get-requires", "get-update-detail", "get-updates", "install-files", "install-packages", "install-signature", "refresh-cache", "remove-packages", "repo-enable", "repo-set-data", "resolve", "search-details", "search-file", "search-group", "search-name", "update-packages", "what-provides", "accept-eula", "download-packages", "get-distro-upgrades", "get-categories", "get-old-transactions", "upgrade-system", "repair-system", ) error = ( "unknown", "out-of-memory", "no-cache", "no-network", "not-supported", "internal-error", "gpg-failure", "filter-invalid", "package-id-invalid", "transaction-error", "transaction-cancelled", "package-not-installed", "package-not-found", "package-already-installed", "package-download-failed", "group-not-found", "group-list-invalid", "dep-resolution-failed", "create-thread-failed", "repo-not-found", "cannot-remove-system-package", "process-kill", "failed-initialization", "failed-finalise", "failed-config-parsing", "cannot-cancel", "cannot-get-lock", "no-packages-to-update", "cannot-write-repo-config", "local-install-failed", "bad-gpg-signature", "missing-gpg-signature", "cannot-install-source-package", "repo-configuration-error", "no-license-agreement", "file-conflicts", "package-conflicts", "repo-not-available", "invalid-package-file", "package-install-blocked", "package-corrupt", "all-packages-already-installed", "file-not-found", "no-more-mirrors-to-try", "no-distro-upgrade-data", "incompatible-architecture", "no-space-on-device", "media-change-required", "not-authorized", "update-not-found", "cannot-install-repo-unsigned", "cannot-update-repo-unsigned", "cannot-get-filelist", "cannot-get-requires", "cannot-disable-repository", "restricted-download", "package-failed-to-configure", "package-failed-to-build", "package-failed-to-install", "package-failed-to-remove", "failed-due-to-running-process", "package-database-changed", "provide-type-not-supported", "install-root-invalid", "cannot-fetch-sources", "cancelled-priority", "unfinished-transaction", "lock-required", ) restart = ( "unknown", "none", "system", "session", "application", "security-system", "security-session", ) message = ( "unknown", "broken-mirror", "connection-refused", "parameter-invalid", "priority-invalid", "backend-error", "daemon-error", "cache-being-rebuilt", "newer-package-exists", "could-not-find-package", "config-files-changed", "package-already-installed", "autoremove-ignored", "repo-metadata-download-failed", "repo-for-developers-only", "other-updates-held-back", ) filter = ( "unknown", "none", "installed", "~installed", "devel", "~devel", "gui", "~gui", "free", "~free", "visible", "~visible", "supported", "~supported", "basename", "~basename", "newest", "~newest", "arch", "~arch", "source", "~source", "collections", "~collections", "application", "~application", ) group = ( "unknown", "accessibility", "accessories", "education", "games", "graphics", "internet", "office", "other", "programming", "multimedia", "system", "desktop-gnome", "desktop-kde", "desktop-xfce", "desktop-other", "publishing", "servers", "fonts", "admin-tools", "legacy", "localization", "virtualization", "power-management", "security", "communication", "network", "maps", "repos", "science", "documentation", "electronics", "collections", "vendor", "newest", ) update_state = ( "unknown", "testing", "unstable", "stable", ) info = ( "unknown", "installed", "available", "low", "normal", "important", "security", "bugfix", "enhancement", "blocked", "downloading", "updating", "installing", "removing", "cleanup", "obsoleting", "collection-installed", "collection-available", "finished", "reinstalling", "downgrading", "preparing", "decompressing", "untrusted", "trusted", ) sig_type = ( "unknown", "gpg", ) upgrade = ( "unknown", "stable", "unstable", ) provides = ( "unknown", "any", "modalias", "codec", "mimetype", "driver", "font", "postscript-driver", "plasma-service", "shared-library", "python-module", "language-support", ) network = ( "unknown", "offline", "online", "wired", "wifi", "mobile", ) media_type = ( "unknown", "cd", "dvd", "disc", ) authorize_type = ( "unknown", "yes", "no", "interactive", ) upgrade_kind = ( "unknown", "minimal", "default", "complete", ) transaction_flag = ( "none", "only-trusted", "simulate", "only-download", ) # Constants AUTHORIZE_INTERACTIVE = "interactive" AUTHORIZE_NO = "no" AUTHORIZE_UNKNOWN = "unknown" AUTHORIZE_YES = "yes" DISTRO_UPGRADE_STABLE = "stable" DISTRO_UPGRADE_UNKNOWN = "unknown" DISTRO_UPGRADE_UNSTABLE = "unstable" ERROR_ALL_PACKAGES_ALREADY_INSTALLED = "all-packages-already-installed" ERROR_BAD_GPG_SIGNATURE = "bad-gpg-signature" ERROR_CANCELLED_PRIORITY = "cancelled-priority" ERROR_CANNOT_CANCEL = "cannot-cancel" ERROR_CANNOT_DISABLE_REPOSITORY = "cannot-disable-repository" ERROR_CANNOT_FETCH_SOURCES = "cannot-fetch-sources" ERROR_CANNOT_GET_FILELIST = "cannot-get-filelist" ERROR_CANNOT_GET_LOCK = "cannot-get-lock" ERROR_CANNOT_GET_REQUIRES = "cannot-get-requires" ERROR_CANNOT_INSTALL_REPO_UNSIGNED = "cannot-install-repo-unsigned" ERROR_CANNOT_INSTALL_SOURCE_PACKAGE = "cannot-install-source-package" ERROR_CANNOT_REMOVE_SYSTEM_PACKAGE = "cannot-remove-system-package" ERROR_CANNOT_UPDATE_REPO_UNSIGNED = "cannot-update-repo-unsigned" ERROR_CANNOT_WRITE_REPO_CONFIG = "cannot-write-repo-config" ERROR_CREATE_THREAD_FAILED = "create-thread-failed" ERROR_DEP_RESOLUTION_FAILED = "dep-resolution-failed" ERROR_FAILED_CONFIG_PARSING = "failed-config-parsing" ERROR_FAILED_FINALISE = "failed-finalise" ERROR_FAILED_INITIALIZATION = "failed-initialization" ERROR_FILE_CONFLICTS = "file-conflicts" ERROR_FILE_NOT_FOUND = "file-not-found" ERROR_FILTER_INVALID = "filter-invalid" ERROR_GPG_FAILURE = "gpg-failure" ERROR_GROUP_LIST_INVALID = "group-list-invalid" ERROR_GROUP_NOT_FOUND = "group-not-found" ERROR_INCOMPATIBLE_ARCHITECTURE = "incompatible-architecture" ERROR_INSTALL_ROOT_INVALID = "install-root-invalid" ERROR_INTERNAL_ERROR = "internal-error" ERROR_INVALID_PACKAGE_FILE = "invalid-package-file" ERROR_LOCAL_INSTALL_FAILED = "local-install-failed" ERROR_LOCK_REQUIRED = "lock-required" ERROR_MEDIA_CHANGE_REQUIRED = "media-change-required" ERROR_MISSING_GPG_SIGNATURE = "missing-gpg-signature" ERROR_NOT_AUTHORIZED = "not-authorized" ERROR_NOT_SUPPORTED = "not-supported" ERROR_NO_CACHE = "no-cache" ERROR_NO_DISTRO_UPGRADE_DATA = "no-distro-upgrade-data" ERROR_NO_LICENSE_AGREEMENT = "no-license-agreement" ERROR_NO_MORE_MIRRORS_TO_TRY = "no-more-mirrors-to-try" ERROR_NO_NETWORK = "no-network" ERROR_NO_PACKAGES_TO_UPDATE = "no-packages-to-update" ERROR_NO_SPACE_ON_DEVICE = "no-space-on-device" ERROR_OOM = "out-of-memory" ERROR_PACKAGE_ALREADY_INSTALLED = "package-already-installed" ERROR_PACKAGE_CONFLICTS = "package-conflicts" ERROR_PACKAGE_CORRUPT = "package-corrupt" ERROR_PACKAGE_DATABASE_CHANGED = "package-database-changed" ERROR_PACKAGE_DOWNLOAD_FAILED = "package-download-failed" ERROR_PACKAGE_FAILED_TO_BUILD = "package-failed-to-build" ERROR_PACKAGE_FAILED_TO_CONFIGURE = "package-failed-to-configure" ERROR_PACKAGE_FAILED_TO_INSTALL = "package-failed-to-install" ERROR_PACKAGE_FAILED_TO_REMOVE = "package-failed-to-remove" ERROR_PACKAGE_ID_INVALID = "package-id-invalid" ERROR_PACKAGE_INSTALL_BLOCKED = "package-install-blocked" ERROR_PACKAGE_NOT_FOUND = "package-not-found" ERROR_PACKAGE_NOT_INSTALLED = "package-not-installed" ERROR_PROCESS_KILL = "process-kill" ERROR_PROVIDE_TYPE_NOT_SUPPORTED = "provide-type-not-supported" ERROR_REPO_CONFIGURATION_ERROR = "repo-configuration-error" ERROR_REPO_NOT_AVAILABLE = "repo-not-available" ERROR_REPO_NOT_FOUND = "repo-not-found" ERROR_RESTRICTED_DOWNLOAD = "restricted-download" ERROR_TRANSACTION_CANCELLED = "transaction-cancelled" ERROR_TRANSACTION_ERROR = "transaction-error" ERROR_UNFINISHED_TRANSACTION = "unfinished-transaction" ERROR_UNKNOWN = "unknown" ERROR_UPDATE_FAILED_DUE_TO_RUNNING_PROCESS = "failed-due-to-running-process" ERROR_UPDATE_NOT_FOUND = "update-not-found" EXIT_CANCELLED = "cancelled" EXIT_CANCELLED_PRIORITY = "cancelled-priority" EXIT_EULA_REQUIRED = "eula-required" EXIT_FAILED = "failed" EXIT_KEY_REQUIRED = "key-required" EXIT_KILLED = "killed" EXIT_MEDIA_CHANGE_REQUIRED = "media-change-required" EXIT_NEED_UNTRUSTED = "need-untrusted" EXIT_REPAIR_REQUIRED = "repair-required" EXIT_SKIP_TRANSACTION = "skip-transaction" EXIT_SUCCESS = "success" EXIT_UNKNOWN = "unknown" FILTER_APPLICATION = "application" FILTER_ARCH = "arch" FILTER_BASENAME = "basename" FILTER_COLLECTIONS = "collections" FILTER_DEVELOPMENT = "devel" FILTER_FREE = "free" FILTER_GUI = "gui" FILTER_INSTALLED = "installed" FILTER_NEWEST = "newest" FILTER_NONE = "none" FILTER_NOT_APPLICATION = "~application" FILTER_NOT_ARCH = "~arch" FILTER_NOT_BASENAME = "~basename" FILTER_NOT_COLLECTIONS = "~collections" FILTER_NOT_DEVELOPMENT = "~devel" FILTER_NOT_FREE = "~free" FILTER_NOT_GUI = "~gui" FILTER_NOT_INSTALLED = "~installed" FILTER_NOT_NEWEST = "~newest" FILTER_NOT_SOURCE = "~source" FILTER_NOT_SUPPORTED = "~supported" FILTER_NOT_VISIBLE = "~visible" FILTER_SOURCE = "source" FILTER_SUPPORTED = "supported" FILTER_UNKNOWN = "unknown" FILTER_VISIBLE = "visible" GROUP_ACCESSIBILITY = "accessibility" GROUP_ACCESSORIES = "accessories" GROUP_ADMIN_TOOLS = "admin-tools" GROUP_COLLECTIONS = "collections" GROUP_COMMUNICATION = "communication" GROUP_DESKTOP_GNOME = "desktop-gnome" GROUP_DESKTOP_KDE = "desktop-kde" GROUP_DESKTOP_OTHER = "desktop-other" GROUP_DESKTOP_XFCE = "desktop-xfce" GROUP_DOCUMENTATION = "documentation" GROUP_EDUCATION = "education" GROUP_ELECTRONICS = "electronics" GROUP_FONTS = "fonts" GROUP_GAMES = "games" GROUP_GRAPHICS = "graphics" GROUP_INTERNET = "internet" GROUP_LEGACY = "legacy" GROUP_LOCALIZATION = "localization" GROUP_MAPS = "maps" GROUP_MULTIMEDIA = "multimedia" GROUP_NETWORK = "network" GROUP_NEWEST = "newest" GROUP_OFFICE = "office" GROUP_OTHER = "other" GROUP_POWER_MANAGEMENT = "power-management" GROUP_PROGRAMMING = "programming" GROUP_PUBLISHING = "publishing" GROUP_REPOS = "repos" GROUP_SCIENCE = "science" GROUP_SECURITY = "security" GROUP_SERVERS = "servers" GROUP_SYSTEM = "system" GROUP_UNKNOWN = "unknown" GROUP_VENDOR = "vendor" GROUP_VIRTUALIZATION = "virtualization" INFO_AVAILABLE = "available" INFO_BLOCKED = "blocked" INFO_BUGFIX = "bugfix" INFO_CLEANUP = "cleanup" INFO_COLLECTION_AVAILABLE = "collection-available" INFO_COLLECTION_INSTALLED = "collection-installed" INFO_DECOMPRESSING = "decompressing" INFO_DOWNGRADING = "downgrading" INFO_DOWNLOADING = "downloading" INFO_ENHANCEMENT = "enhancement" INFO_FINISHED = "finished" INFO_IMPORTANT = "important" INFO_INSTALLED = "installed" INFO_INSTALLING = "installing" INFO_LOW = "low" INFO_NORMAL = "normal" INFO_OBSOLETING = "obsoleting" INFO_PREPARING = "preparing" INFO_REINSTALLING = "reinstalling" INFO_REMOVING = "removing" INFO_SECURITY = "security" INFO_TRUSTED = "trusted" INFO_UNKNOWN = "unknown" INFO_UNTRUSTED = "untrusted" INFO_UPDATING = "updating" MEDIA_TYPE_CD = "cd" MEDIA_TYPE_DISC = "disc" MEDIA_TYPE_DVD = "dvd" MEDIA_TYPE_UNKNOWN = "unknown" MESSAGE_AUTOREMOVE_IGNORED = "autoremove-ignored" MESSAGE_BACKEND_ERROR = "backend-error" MESSAGE_BROKEN_MIRROR = "broken-mirror" MESSAGE_CACHE_BEING_REBUILT = "cache-being-rebuilt" MESSAGE_CONFIG_FILES_CHANGED = "config-files-changed" MESSAGE_CONNECTION_REFUSED = "connection-refused" MESSAGE_COULD_NOT_FIND_PACKAGE = "could-not-find-package" MESSAGE_DAEMON_ERROR = "daemon-error" MESSAGE_NEWER_PACKAGE_EXISTS = "newer-package-exists" MESSAGE_OTHER_UPDATES_HELD_BACK = "other-updates-held-back" MESSAGE_PACKAGE_ALREADY_INSTALLED = "package-already-installed" MESSAGE_PARAMETER_INVALID = "parameter-invalid" MESSAGE_PRIORITY_INVALID = "priority-invalid" MESSAGE_REPO_FOR_DEVELOPERS_ONLY = "repo-for-developers-only" MESSAGE_REPO_METADATA_DOWNLOAD_FAILED = "repo-metadata-download-failed" MESSAGE_UNKNOWN = "unknown" NETWORK_MOBILE = "mobile" NETWORK_OFFLINE = "offline" NETWORK_ONLINE = "online" NETWORK_UNKNOWN = "unknown" NETWORK_WIFI = "wifi" NETWORK_WIRED = "wired" PROVIDES_ANY = "any" PROVIDES_CODEC = "codec" PROVIDES_FONT = "font" PROVIDES_HARDWARE_DRIVER = "driver" PROVIDES_LANGUAGE_SUPPORT = "language-support" PROVIDES_MIMETYPE = "mimetype" PROVIDES_MODALIAS = "modalias" PROVIDES_PLASMA_SERVICE = "plasma-service" PROVIDES_POSTSCRIPT_DRIVER = "postscript-driver" PROVIDES_PYTHON = "python-module" PROVIDES_SHARED_LIB = "shared-library" PROVIDES_UNKNOWN = "unknown" RESTART_APPLICATION = "application" RESTART_NONE = "none" RESTART_SECURITY_SESSION = "security-session" RESTART_SECURITY_SYSTEM = "security-system" RESTART_SESSION = "session" RESTART_SYSTEM = "system" RESTART_UNKNOWN = "unknown" ROLE_ACCEPT_EULA = "accept-eula" ROLE_CANCEL = "cancel" ROLE_DOWNLOAD_PACKAGES = "download-packages" ROLE_GET_CATEGORIES = "get-categories" ROLE_GET_DEPENDS = "get-depends" ROLE_GET_DETAILS = "get-details" ROLE_GET_DISTRO_UPGRADES = "get-distro-upgrades" ROLE_GET_FILES = "get-files" ROLE_GET_OLD_TRANSACTIONS = "get-old-transactions" ROLE_GET_PACKAGES = "get-packages" ROLE_GET_REPO_LIST = "get-repo-list" ROLE_GET_REQUIRES = "get-requires" ROLE_GET_UPDATES = "get-updates" ROLE_GET_UPDATE_DETAIL = "get-update-detail" ROLE_INSTALL_FILES = "install-files" ROLE_INSTALL_PACKAGES = "install-packages" ROLE_INSTALL_SIGNATURE = "install-signature" ROLE_REFRESH_CACHE = "refresh-cache" ROLE_REMOVE_PACKAGES = "remove-packages" ROLE_REPAIR_SYSTEM = "repair-system" ROLE_REPO_ENABLE = "repo-enable" ROLE_REPO_SET_DATA = "repo-set-data" ROLE_RESOLVE = "resolve" ROLE_SEARCH_DETAILS = "search-details" ROLE_SEARCH_FILE = "search-file" ROLE_SEARCH_GROUP = "search-group" ROLE_SEARCH_NAME = "search-name" ROLE_UNKNOWN = "unknown" ROLE_UPDATE_PACKAGES = "update-packages" ROLE_UPGRADE_SYSTEM = "upgrade-system" ROLE_WHAT_PROVIDES = "what-provides" SIGTYPE_GPG = "gpg" SIGTYPE_UNKNOWN = "unknown" STATUS_CANCEL = "cancel" STATUS_CHECK_EXECUTABLE_FILES = "check-executable-files" STATUS_CHECK_LIBRARIES = "check-libraries" STATUS_CLEANUP = "cleanup" STATUS_COMMIT = "commit" STATUS_COPY_FILES = "copy-files" STATUS_DEP_RESOLVE = "dep-resolve" STATUS_DOWNLOAD = "download" STATUS_DOWNLOAD_CHANGELOG = "download-changelog" STATUS_DOWNLOAD_FILELIST = "download-filelist" STATUS_DOWNLOAD_GROUP = "download-group" STATUS_DOWNLOAD_PACKAGELIST = "download-packagelist" STATUS_DOWNLOAD_REPOSITORY = "download-repository" STATUS_DOWNLOAD_UPDATEINFO = "download-updateinfo" STATUS_FINISHED = "finished" STATUS_GENERATE_PACKAGE_LIST = "generate-package-list" STATUS_INFO = "info" STATUS_INSTALL = "install" STATUS_LOADING_CACHE = "loading-cache" STATUS_OBSOLETE = "obsolete" STATUS_QUERY = "query" STATUS_REFRESH_CACHE = "refresh-cache" STATUS_REMOVE = "remove" STATUS_REPACKAGING = "repackaging" STATUS_REQUEST = "request" STATUS_RUNNING = "running" STATUS_SCAN_APPLICATIONS = "scan-applications" STATUS_SCAN_PROCESS_LIST = "scan-process-list" STATUS_SETUP = "setup" STATUS_SIG_CHECK = "sig-check" STATUS_TEST_COMMIT = "test-commit" STATUS_UNKNOWN = "unknown" STATUS_UPDATE = "update" STATUS_WAIT = "wait" STATUS_WAITING_FOR_AUTH = "waiting-for-auth" STATUS_WAITING_FOR_LOCK = "waiting-for-lock" TRANSACTION_FLAG_NONE = "none" TRANSACTION_FLAG_ONLY_DOWNLOAD = "only-download" TRANSACTION_FLAG_ONLY_TRUSTED = "only-trusted" TRANSACTION_FLAG_SIMULATE = "simulate" UPDATE_STATE_STABLE = "stable" UPDATE_STATE_TESTING = "testing" UPDATE_STATE_UNKNOWN = "unknown" UPDATE_STATE_UNSTABLE = "unstable" UPGRADE_KIND_COMPLETE = "complete" UPGRADE_KIND_DEFAULT = "default" UPGRADE_KIND_MINIMAL = "minimal" UPGRADE_KIND_UNKNOWN = "unknown" # This file was autogenerated from ../../lib/packagekit-glib2/pk-enum.c by enum-converter.py class PackageKitEnum: exit = ( "unknown", "success", "failed", "cancelled", "key-required", "eula-required", "media-change-required", "killed", "need-untrusted", "cancelled-priority", "skip-transaction", "repair-required", ) status = ( "unknown", "wait", "setup", "running", "query", "info", "refresh-cache", "remove", "download", "install", "update", "cleanup", "obsolete", "dep-resolve", "sig-check", "test-commit", "commit", "request", "finished", "cancel", "download-repository", "download-packagelist", "download-filelist", "download-changelog", "download-group", "download-updateinfo", "repackaging", "loading-cache", "scan-applications", "generate-package-list", "waiting-for-lock", "waiting-for-auth", "scan-process-list", "check-executable-files", "check-libraries", "copy-files", ) role = ( "unknown", "cancel", "get-depends", "get-details", "get-files", "get-packages", "get-repo-list", "get-requires", "get-update-detail", "get-updates", "install-files", "install-packages", "install-signature", "refresh-cache", "remove-packages", "repo-enable", "repo-set-data", "resolve", "search-details", "search-file", "search-group", "search-name", "update-packages", "what-provides", "accept-eula", "download-packages", "get-distro-upgrades", "get-categories", "get-old-transactions", "upgrade-system", "repair-system", ) error = ( "unknown", "out-of-memory", "no-cache", "no-network", "not-supported", "internal-error", "gpg-failure", "filter-invalid", "package-id-invalid", "transaction-error", "transaction-cancelled", "package-not-installed", "package-not-found", "package-already-installed", "package-download-failed", "group-not-found", "group-list-invalid", "dep-resolution-failed", "create-thread-failed", "repo-not-found", "cannot-remove-system-package", "process-kill", "failed-initialization", "failed-finalise", "failed-config-parsing", "cannot-cancel", "cannot-get-lock", "no-packages-to-update", "cannot-write-repo-config", "local-install-failed", "bad-gpg-signature", "missing-gpg-signature", "cannot-install-source-package", "repo-configuration-error", "no-license-agreement", "file-conflicts", "package-conflicts", "repo-not-available", "invalid-package-file", "package-install-blocked", "package-corrupt", "all-packages-already-installed", "file-not-found", "no-more-mirrors-to-try", "no-distro-upgrade-data", "incompatible-architecture", "no-space-on-device", "media-change-required", "not-authorized", "update-not-found", "cannot-install-repo-unsigned", "cannot-update-repo-unsigned", "cannot-get-filelist", "cannot-get-requires", "cannot-disable-repository", "restricted-download", "package-failed-to-configure", "package-failed-to-build", "package-failed-to-install", "package-failed-to-remove", "failed-due-to-running-process", "package-database-changed", "provide-type-not-supported", "install-root-invalid", "cannot-fetch-sources", "cancelled-priority", "unfinished-transaction", "lock-required", ) restart = ( "unknown", "none", "system", "session", "application", "security-system", "security-session", ) message = ( "unknown", "broken-mirror", "connection-refused", "parameter-invalid", "priority-invalid", "backend-error", "daemon-error", "cache-being-rebuilt", "newer-package-exists", "could-not-find-package", "config-files-changed", "package-already-installed", "autoremove-ignored", "repo-metadata-download-failed", "repo-for-developers-only", "other-updates-held-back", ) filter = ( "unknown", "none", "installed", "~installed", "devel", "~devel", "gui", "~gui", "free", "~free", "visible", "~visible", "supported", "~supported", "basename", "~basename", "newest", "~newest", "arch", "~arch", "source", "~source", "collections", "~collections", "application", "~application", ) group = ( "unknown", "accessibility", "accessories", "education", "games", "graphics", "internet", "office", "other", "programming", "multimedia", "system", "desktop-gnome", "desktop-kde", "desktop-xfce", "desktop-other", "publishing", "servers", "fonts", "admin-tools", "legacy", "localization", "virtualization", "power-management", "security", "communication", "network", "maps", "repos", "science", "documentation", "electronics", "collections", "vendor", "newest", ) update_state = ( "unknown", "testing", "unstable", "stable", ) info = ( "unknown", "installed", "available", "low", "normal", "important", "security", "bugfix", "enhancement", "blocked", "downloading", "updating", "installing", "removing", "cleanup", "obsoleting", "collection-installed", "collection-available", "finished", "reinstalling", "downgrading", "preparing", "decompressing", "untrusted", "trusted", ) sig_type = ( "unknown", "gpg", ) upgrade = ( "unknown", "stable", "unstable", ) provides = ( "unknown", "any", "modalias", "codec", "mimetype", "driver", "font", "postscript-driver", "plasma-service", "shared-library", "python-module", "language-support", ) network = ( "unknown", "offline", "online", "wired", "wifi", "mobile", ) media_type = ( "unknown", "cd", "dvd", "disc", ) authorize_type = ( "unknown", "yes", "no", "interactive", ) upgrade_kind = ( "unknown", "minimal", "default", "complete", ) transaction_flag = ( "none", "only-trusted", "simulate", "only-download", ) # Constants AUTHORIZE_INTERACTIVE = "interactive" AUTHORIZE_NO = "no" AUTHORIZE_UNKNOWN = "unknown" AUTHORIZE_YES = "yes" DISTRO_UPGRADE_STABLE = "stable" DISTRO_UPGRADE_UNKNOWN = "unknown" DISTRO_UPGRADE_UNSTABLE = "unstable" ERROR_ALL_PACKAGES_ALREADY_INSTALLED = "all-packages-already-installed" ERROR_BAD_GPG_SIGNATURE = "bad-gpg-signature" ERROR_CANCELLED_PRIORITY = "cancelled-priority" ERROR_CANNOT_CANCEL = "cannot-cancel" ERROR_CANNOT_DISABLE_REPOSITORY = "cannot-disable-repository" ERROR_CANNOT_FETCH_SOURCES = "cannot-fetch-sources" ERROR_CANNOT_GET_FILELIST = "cannot-get-filelist" ERROR_CANNOT_GET_LOCK = "cannot-get-lock" ERROR_CANNOT_GET_REQUIRES = "cannot-get-requires" ERROR_CANNOT_INSTALL_REPO_UNSIGNED = "cannot-install-repo-unsigned" ERROR_CANNOT_INSTALL_SOURCE_PACKAGE = "cannot-install-source-package" ERROR_CANNOT_REMOVE_SYSTEM_PACKAGE = "cannot-remove-system-package" ERROR_CANNOT_UPDATE_REPO_UNSIGNED = "cannot-update-repo-unsigned" ERROR_CANNOT_WRITE_REPO_CONFIG = "cannot-write-repo-config" ERROR_CREATE_THREAD_FAILED = "create-thread-failed" ERROR_DEP_RESOLUTION_FAILED = "dep-resolution-failed" ERROR_FAILED_CONFIG_PARSING = "failed-config-parsing" ERROR_FAILED_FINALISE = "failed-finalise" ERROR_FAILED_INITIALIZATION = "failed-initialization" ERROR_FILE_CONFLICTS = "file-conflicts" ERROR_FILE_NOT_FOUND = "file-not-found" ERROR_FILTER_INVALID = "filter-invalid" ERROR_GPG_FAILURE = "gpg-failure" ERROR_GROUP_LIST_INVALID = "group-list-invalid" ERROR_GROUP_NOT_FOUND = "group-not-found" ERROR_INCOMPATIBLE_ARCHITECTURE = "incompatible-architecture" ERROR_INSTALL_ROOT_INVALID = "install-root-invalid" ERROR_INTERNAL_ERROR = "internal-error" ERROR_INVALID_PACKAGE_FILE = "invalid-package-file" ERROR_LOCAL_INSTALL_FAILED = "local-install-failed" ERROR_LOCK_REQUIRED = "lock-required" ERROR_MEDIA_CHANGE_REQUIRED = "media-change-required" ERROR_MISSING_GPG_SIGNATURE = "missing-gpg-signature" ERROR_NOT_AUTHORIZED = "not-authorized" ERROR_NOT_SUPPORTED = "not-supported" ERROR_NO_CACHE = "no-cache" ERROR_NO_DISTRO_UPGRADE_DATA = "no-distro-upgrade-data" ERROR_NO_LICENSE_AGREEMENT = "no-license-agreement" ERROR_NO_MORE_MIRRORS_TO_TRY = "no-more-mirrors-to-try" ERROR_NO_NETWORK = "no-network" ERROR_NO_PACKAGES_TO_UPDATE = "no-packages-to-update" ERROR_NO_SPACE_ON_DEVICE = "no-space-on-device" ERROR_OOM = "out-of-memory" ERROR_PACKAGE_ALREADY_INSTALLED = "package-already-installed" ERROR_PACKAGE_CONFLICTS = "package-conflicts" ERROR_PACKAGE_CORRUPT = "package-corrupt" ERROR_PACKAGE_DATABASE_CHANGED = "package-database-changed" ERROR_PACKAGE_DOWNLOAD_FAILED = "package-download-failed" ERROR_PACKAGE_FAILED_TO_BUILD = "package-failed-to-build" ERROR_PACKAGE_FAILED_TO_CONFIGURE = "package-failed-to-configure" ERROR_PACKAGE_FAILED_TO_INSTALL = "package-failed-to-install" ERROR_PACKAGE_FAILED_TO_REMOVE = "package-failed-to-remove" ERROR_PACKAGE_ID_INVALID = "package-id-invalid" ERROR_PACKAGE_INSTALL_BLOCKED = "package-install-blocked" ERROR_PACKAGE_NOT_FOUND = "package-not-found" ERROR_PACKAGE_NOT_INSTALLED = "package-not-installed" ERROR_PROCESS_KILL = "process-kill" ERROR_PROVIDE_TYPE_NOT_SUPPORTED = "provide-type-not-supported" ERROR_REPO_CONFIGURATION_ERROR = "repo-configuration-error" ERROR_REPO_NOT_AVAILABLE = "repo-not-available" ERROR_REPO_NOT_FOUND = "repo-not-found" ERROR_RESTRICTED_DOWNLOAD = "restricted-download" ERROR_TRANSACTION_CANCELLED = "transaction-cancelled" ERROR_TRANSACTION_ERROR = "transaction-error" ERROR_UNFINISHED_TRANSACTION = "unfinished-transaction" ERROR_UNKNOWN = "unknown" ERROR_UPDATE_FAILED_DUE_TO_RUNNING_PROCESS = "failed-due-to-running-process" ERROR_UPDATE_NOT_FOUND = "update-not-found" EXIT_CANCELLED = "cancelled" EXIT_CANCELLED_PRIORITY = "cancelled-priority" EXIT_EULA_REQUIRED = "eula-required" EXIT_FAILED = "failed" EXIT_KEY_REQUIRED = "key-required" EXIT_KILLED = "killed" EXIT_MEDIA_CHANGE_REQUIRED = "media-change-required" EXIT_NEED_UNTRUSTED = "need-untrusted" EXIT_REPAIR_REQUIRED = "repair-required" EXIT_SKIP_TRANSACTION = "skip-transaction" EXIT_SUCCESS = "success" EXIT_UNKNOWN = "unknown" FILTER_APPLICATION = "application" FILTER_ARCH = "arch" FILTER_BASENAME = "basename" FILTER_COLLECTIONS = "collections" FILTER_DEVELOPMENT = "devel" FILTER_FREE = "free" FILTER_GUI = "gui" FILTER_INSTALLED = "installed" FILTER_NEWEST = "newest" FILTER_NONE = "none" FILTER_NOT_APPLICATION = "~application" FILTER_NOT_ARCH = "~arch" FILTER_NOT_BASENAME = "~basename" FILTER_NOT_COLLECTIONS = "~collections" FILTER_NOT_DEVELOPMENT = "~devel" FILTER_NOT_FREE = "~free" FILTER_NOT_GUI = "~gui" FILTER_NOT_INSTALLED = "~installed" FILTER_NOT_NEWEST = "~newest" FILTER_NOT_SOURCE = "~source" FILTER_NOT_SUPPORTED = "~supported" FILTER_NOT_VISIBLE = "~visible" FILTER_SOURCE = "source" FILTER_SUPPORTED = "supported" FILTER_UNKNOWN = "unknown" FILTER_VISIBLE = "visible" GROUP_ACCESSIBILITY = "accessibility" GROUP_ACCESSORIES = "accessories" GROUP_ADMIN_TOOLS = "admin-tools" GROUP_COLLECTIONS = "collections" GROUP_COMMUNICATION = "communication" GROUP_DESKTOP_GNOME = "desktop-gnome" GROUP_DESKTOP_KDE = "desktop-kde" GROUP_DESKTOP_OTHER = "desktop-other" GROUP_DESKTOP_XFCE = "desktop-xfce" GROUP_DOCUMENTATION = "documentation" GROUP_EDUCATION = "education" GROUP_ELECTRONICS = "electronics" GROUP_FONTS = "fonts" GROUP_GAMES = "games" GROUP_GRAPHICS = "graphics" GROUP_INTERNET = "internet" GROUP_LEGACY = "legacy" GROUP_LOCALIZATION = "localization" GROUP_MAPS = "maps" GROUP_MULTIMEDIA = "multimedia" GROUP_NETWORK = "network" GROUP_NEWEST = "newest" GROUP_OFFICE = "office" GROUP_OTHER = "other" GROUP_POWER_MANAGEMENT = "power-management" GROUP_PROGRAMMING = "programming" GROUP_PUBLISHING = "publishing" GROUP_REPOS = "repos" GROUP_SCIENCE = "science" GROUP_SECURITY = "security" GROUP_SERVERS = "servers" GROUP_SYSTEM = "system" GROUP_UNKNOWN = "unknown" GROUP_VENDOR = "vendor" GROUP_VIRTUALIZATION = "virtualization" INFO_AVAILABLE = "available" INFO_BLOCKED = "blocked" INFO_BUGFIX = "bugfix" INFO_CLEANUP = "cleanup" INFO_COLLECTION_AVAILABLE = "collection-available" INFO_COLLECTION_INSTALLED = "collection-installed" INFO_DECOMPRESSING = "decompressing" INFO_DOWNGRADING = "downgrading" INFO_DOWNLOADING = "downloading" INFO_ENHANCEMENT = "enhancement" INFO_FINISHED = "finished" INFO_IMPORTANT = "important" INFO_INSTALLED = "installed" INFO_INSTALLING = "installing" INFO_LOW = "low" INFO_NORMAL = "normal" INFO_OBSOLETING = "obsoleting" INFO_PREPARING = "preparing" INFO_REINSTALLING = "reinstalling" INFO_REMOVING = "removing" INFO_SECURITY = "security" INFO_TRUSTED = "trusted" INFO_UNKNOWN = "unknown" INFO_UNTRUSTED = "untrusted" INFO_UPDATING = "updating" MEDIA_TYPE_CD = "cd" MEDIA_TYPE_DISC = "disc" MEDIA_TYPE_DVD = "dvd" MEDIA_TYPE_UNKNOWN = "unknown" MESSAGE_AUTOREMOVE_IGNORED = "autoremove-ignored" MESSAGE_BACKEND_ERROR = "backend-error" MESSAGE_BROKEN_MIRROR = "broken-mirror" MESSAGE_CACHE_BEING_REBUILT = "cache-being-rebuilt" MESSAGE_CONFIG_FILES_CHANGED = "config-files-changed" MESSAGE_CONNECTION_REFUSED = "connection-refused" MESSAGE_COULD_NOT_FIND_PACKAGE = "could-not-find-package" MESSAGE_DAEMON_ERROR = "daemon-error" MESSAGE_NEWER_PACKAGE_EXISTS = "newer-package-exists" MESSAGE_OTHER_UPDATES_HELD_BACK = "other-updates-held-back" MESSAGE_PACKAGE_ALREADY_INSTALLED = "package-already-installed" MESSAGE_PARAMETER_INVALID = "parameter-invalid" MESSAGE_PRIORITY_INVALID = "priority-invalid" MESSAGE_REPO_FOR_DEVELOPERS_ONLY = "repo-for-developers-only" MESSAGE_REPO_METADATA_DOWNLOAD_FAILED = "repo-metadata-download-failed" MESSAGE_UNKNOWN = "unknown" NETWORK_MOBILE = "mobile" NETWORK_OFFLINE = "offline" NETWORK_ONLINE = "online" NETWORK_UNKNOWN = "unknown" NETWORK_WIFI = "wifi" NETWORK_WIRED = "wired" PROVIDES_ANY = "any" PROVIDES_CODEC = "codec" PROVIDES_FONT = "font" PROVIDES_HARDWARE_DRIVER = "driver" PROVIDES_LANGUAGE_SUPPORT = "language-support" PROVIDES_MIMETYPE = "mimetype" PROVIDES_MODALIAS = "modalias" PROVIDES_PLASMA_SERVICE = "plasma-service" PROVIDES_POSTSCRIPT_DRIVER = "postscript-driver" PROVIDES_PYTHON = "python-module" PROVIDES_SHARED_LIB = "shared-library" PROVIDES_UNKNOWN = "unknown" RESTART_APPLICATION = "application" RESTART_NONE = "none" RESTART_SECURITY_SESSION = "security-session" RESTART_SECURITY_SYSTEM = "security-system" RESTART_SESSION = "session" RESTART_SYSTEM = "system" RESTART_UNKNOWN = "unknown" ROLE_ACCEPT_EULA = "accept-eula" ROLE_CANCEL = "cancel" ROLE_DOWNLOAD_PACKAGES = "download-packages" ROLE_GET_CATEGORIES = "get-categories" ROLE_GET_DEPENDS = "get-depends" ROLE_GET_DETAILS = "get-details" ROLE_GET_DISTRO_UPGRADES = "get-distro-upgrades" ROLE_GET_FILES = "get-files" ROLE_GET_OLD_TRANSACTIONS = "get-old-transactions" ROLE_GET_PACKAGES = "get-packages" ROLE_GET_REPO_LIST = "get-repo-list" ROLE_GET_REQUIRES = "get-requires" ROLE_GET_UPDATES = "get-updates" ROLE_GET_UPDATE_DETAIL = "get-update-detail" ROLE_INSTALL_FILES = "install-files" ROLE_INSTALL_PACKAGES = "install-packages" ROLE_INSTALL_SIGNATURE = "install-signature" ROLE_REFRESH_CACHE = "refresh-cache" ROLE_REMOVE_PACKAGES = "remove-packages" ROLE_REPAIR_SYSTEM = "repair-system" ROLE_REPO_ENABLE = "repo-enable" ROLE_REPO_SET_DATA = "repo-set-data" ROLE_RESOLVE = "resolve" ROLE_SEARCH_DETAILS = "search-details" ROLE_SEARCH_FILE = "search-file" ROLE_SEARCH_GROUP = "search-group" ROLE_SEARCH_NAME = "search-name" ROLE_UNKNOWN = "unknown" ROLE_UPDATE_PACKAGES = "update-packages" ROLE_UPGRADE_SYSTEM = "upgrade-system" ROLE_WHAT_PROVIDES = "what-provides" SIGTYPE_GPG = "gpg" SIGTYPE_UNKNOWN = "unknown" STATUS_CANCEL = "cancel" STATUS_CHECK_EXECUTABLE_FILES = "check-executable-files" STATUS_CHECK_LIBRARIES = "check-libraries" STATUS_CLEANUP = "cleanup" STATUS_COMMIT = "commit" STATUS_COPY_FILES = "copy-files" STATUS_DEP_RESOLVE = "dep-resolve" STATUS_DOWNLOAD = "download" STATUS_DOWNLOAD_CHANGELOG = "download-changelog" STATUS_DOWNLOAD_FILELIST = "download-filelist" STATUS_DOWNLOAD_GROUP = "download-group" STATUS_DOWNLOAD_PACKAGELIST = "download-packagelist" STATUS_DOWNLOAD_REPOSITORY = "download-repository" STATUS_DOWNLOAD_UPDATEINFO = "download-updateinfo" STATUS_FINISHED = "finished" STATUS_GENERATE_PACKAGE_LIST = "generate-package-list" STATUS_INFO = "info" STATUS_INSTALL = "install" STATUS_LOADING_CACHE = "loading-cache" STATUS_OBSOLETE = "obsolete" STATUS_QUERY = "query" STATUS_REFRESH_CACHE = "refresh-cache" STATUS_REMOVE = "remove" STATUS_REPACKAGING = "repackaging" STATUS_REQUEST = "request" STATUS_RUNNING = "running" STATUS_SCAN_APPLICATIONS = "scan-applications" STATUS_SCAN_PROCESS_LIST = "scan-process-list" STATUS_SETUP = "setup" STATUS_SIG_CHECK = "sig-check" STATUS_TEST_COMMIT = "test-commit" STATUS_UNKNOWN = "unknown" STATUS_UPDATE = "update" STATUS_WAIT = "wait" STATUS_WAITING_FOR_AUTH = "waiting-for-auth" STATUS_WAITING_FOR_LOCK = "waiting-for-lock" TRANSACTION_FLAG_NONE = "none" TRANSACTION_FLAG_ONLY_DOWNLOAD = "only-download" TRANSACTION_FLAG_ONLY_TRUSTED = "only-trusted" TRANSACTION_FLAG_SIMULATE = "simulate" UPDATE_STATE_STABLE = "stable" UPDATE_STATE_TESTING = "testing" UPDATE_STATE_UNKNOWN = "unknown" UPDATE_STATE_UNSTABLE = "unstable" UPGRADE_KIND_COMPLETE = "complete" UPGRADE_KIND_DEFAULT = "default" UPGRADE_KIND_MINIMAL = "minimal" UPGRADE_KIND_UNKNOWN = "unknown" aptdaemon-1.1.1/aptdaemon/gtk3widgets.py0000644000175000017500000013515512201760213021025 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """ This module provides widgets to use aptdaemon in a GTK application. """ # Copyright (C) 2008-2009 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. __author__ = "Sebastian Heinlein " __all__ = ("AptConfigFileConflictDialog", "AptCancelButton", "AptConfirmDialog", "AptProgressDialog", "AptTerminalExpander", "AptStatusIcon", "AptRoleIcon", "AptStatusAnimation", "AptRoleLabel", "AptStatusLabel", "AptMediumRequiredDialog", "AptMessageDialog", "AptErrorDialog", "AptProgressBar", "DiffView", "AptTerminal" ) import difflib import gettext import os import pty import re import apt_pkg from gi.repository import GObject from gi.repository import GLib from gi.repository import Gdk from gi.repository import Gtk from gi.repository import Pango from gi.repository import Vte from .enums import * from defer import inline_callbacks from defer.utils import deferable _ = lambda msg: gettext.dgettext("aptdaemon", msg) (COLUMN_ID, COLUMN_PACKAGE) = list(range(2)) class AptStatusIcon(Gtk.Image): """ Provides a Gtk.Image which shows an icon representing the status of a aptdaemon transaction """ def __init__(self, transaction=None, size=Gtk.IconSize.DIALOG): Gtk.Image.__init__(self) # note: icon_size is a property which you can't set with GTK 2, so use # a different name self._icon_size = size self.icon_name = None self._signals = [] self.set_alignment(0, 0) if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect to the given transaction""" for sig in self._signals: GLib.source_remove(sig) self._signals = [] self._signals.append(transaction.connect("status-changed", self._on_status_changed)) def set_icon_size(self, size): """Set the icon size to gtk stock icon size value""" self._icon_size = size def _on_status_changed(self, transaction, status): """Set the status icon according to the changed status""" icon_name = get_status_icon_name_from_enum(status) if icon_name is None: icon_name = Gtk.STOCK_MISSING_IMAGE if icon_name != self.icon_name: self.set_from_icon_name(icon_name, self._icon_size) self.icon_name = icon_name class AptRoleIcon(AptStatusIcon): """ Provides a Gtk.Image which shows an icon representing the role of an aptdaemon transaction """ def set_transaction(self, transaction): for sig in self._signals: GLib.source_remove(sig) self._signals = [] self._signals.append(transaction.connect("role-changed", self._on_role_changed)) self._on_role_changed(transaction, transaction.role) def _on_role_changed(self, transaction, role_enum): """Show an icon representing the role""" icon_name = get_role_icon_name_from_enum(role_enum) if icon_name is None: icon_name = Gtk.STOCK_MISSING_IMAGE if icon_name != self.icon_name: self.set_from_icon_name(icon_name, self._icon_size) self.icon_name = icon_name class AptStatusAnimation(AptStatusIcon): """ Provides a Gtk.Image which shows an animation representing the transaction status """ def __init__(self, transaction=None, size=Gtk.IconSize.DIALOG): AptStatusIcon.__init__(self, transaction, size) self.animation = [] self.ticker = 0 self.frame_counter = 0 self.iter = 0 name = get_status_animation_name_from_enum(STATUS_WAITING) fallback = get_status_icon_name_from_enum(STATUS_WAITING) self.set_animation(name, fallback) def set_animation(self, name, fallback=None, size=None): """Show and start the animation of the given name and size""" if name == self.icon_name: return if size is not None: self._icon_size = size self.stop_animation() animation = [] (width, height) = Gtk.icon_size_lookup(self._icon_size) theme = Gtk.IconTheme.get_default() if name is not None and theme.has_icon(name): pixbuf = theme.load_icon(name, width, 0) rows = pixbuf.get_height() / height cols = pixbuf.get_width() / width for r in range(rows): for c in range(cols): animation.append(pixbuf.subpixbuf(c * width, r * height, width, height)) if len(animation) > 0: self.animation = animation self.iter = 0 self.set_from_pixbuf(self.animation[0]) self.start_animation() else: self.set_from_pixbuf(pixbuf) self.icon_name = name elif fallback is not None and theme.has_icon(fallback): self.set_from_icon_name(fallback, self._icon_size) self.icon_name = fallback else: self.set_from_icon_name(Gtk.STOCK_MISSING_IMAGE) def start_animation(self): """Start the animation""" if self.ticker == 0: self.ticker = GLib.timeout_add(200, self._advance) def stop_animation(self): """Stop the animation""" if self.ticker != 0: GLib.source_remove(self.ticker) self.ticker = 0 def _advance(self): """ Show the next frame of the animation and stop the animation if the widget is no longer visible """ if self.get_property("visible") is False: self.ticker = 0 return False self.iter = self.iter + 1 if self.iter >= len(self.animation): self.iter = 0 self.set_from_pixbuf(self.animation[self.iter]) return True def _on_status_changed(self, transaction, status): """ Set the animation according to the changed status """ name = get_status_animation_name_from_enum(status) fallback = get_status_icon_name_from_enum(status) self.set_animation(name, fallback) class AptRoleLabel(Gtk.Label): """ Status label for the running aptdaemon transaction """ def __init__(self, transaction=None): GtkLabel.__init__(self) self.set_alignment(0, 0) self.set_ellipsize(Pango.EllipsizeMode.END) self.set_max_width_chars(15) self._signals = [] if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: GLib.source_remove(sig) self._signals = [] self._on_role_changed(transaction, transaction.role) self._signals.append(transaction.connect("role-changed", self._on_role_changed)) def _on_role_changed(self, transaction, role): """Set the role text.""" self.set_markup(get_role_localised_present_from_enum(role)) class AptStatusLabel(Gtk.Label): """ Status label for the running aptdaemon transaction """ def __init__(self, transaction=None): Gtk.Label.__init__(self) self.set_alignment(0, 0) self.set_ellipsize(Pango.EllipsizeMode.END) self.set_max_width_chars(15) self._signals = [] if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: GLib.source_remove(sig) self._signals = [] self._signals.append( transaction.connect("status-changed", self._on_status_changed)) self._signals.append( transaction.connect("status-details-changed", self._on_status_details_changed)) def _on_status_changed(self, transaction, status): """Set the status text according to the changed status""" self.set_markup(get_status_string_from_enum(status)) def _on_status_details_changed(self, transaction, text): """Set the status text to the one reported by apt""" self.set_markup(text) class AptProgressBar(Gtk.ProgressBar): """ Provides a Gtk.Progress which represents the progress of an aptdaemon transactions """ def __init__(self, transaction=None): Gtk.ProgressBar.__init__(self) self.set_ellipsize(Pango.EllipsizeMode.END) self.set_text(" ") self.set_pulse_step(0.05) self._signals = [] if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the progress bar to the given aptdaemon transaction""" for sig in self._signals: GLib.source_remove(sig) self._signals = [] self._signals.append( transaction.connect("finished", self._on_finished)) self._signals.append( transaction.connect("progress-changed", self._on_progress_changed)) self._signals.append(transaction.connect("progress-details-changed", self._on_progress_details)) def _on_progress_changed(self, transaction, progress): """ Update the progress according to the latest progress information """ if progress > 100: self.pulse() else: self.set_fraction(progress / 100.0) def _on_progress_details(self, transaction, items_done, items_total, bytes_done, bytes_total, speed, eta): """ Update the progress bar text according to the latest progress details """ if items_total == 0 and bytes_total == 0: self.set_text(" ") return if speed != 0: self.set_text(_("Downloaded %sB of %sB at %sB/s") % (apt_pkg.size_to_str(bytes_done), apt_pkg.size_to_str(bytes_total), apt_pkg.size_to_str(speed))) else: self.set_text(_("Downloaded %sB of %sB") % (apt_pkg.size_to_str(bytes_done), apt_pkg.size_to_str(bytes_total))) def _on_finished(self, transaction, exit): """Set the progress to 100% when the transaction is complete""" self.set_fraction(1) class AptDetailsExpander(Gtk.Expander): def __init__(self, transaction=None, terminal=True): Gtk.Expander.__init__(self, label=_("Details")) self.show_terminal = terminal self._signals = [] self.set_sensitive(False) self.set_expanded(False) if self.show_terminal: self.terminal = AptTerminal() else: self.terminal = None self.download_view = AptDownloadsView() self.download_scrolled = Gtk.ScrolledWindow() self.download_scrolled.set_shadow_type(Gtk.ShadowType.ETCHED_IN) self.download_scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) self.download_scrolled.add(self.download_view) hbox = Gtk.HBox() hbox.pack_start(self.download_scrolled, True, True, 0) if self.terminal: hbox.pack_start(self.terminal, True, True, 0) self.add(hbox) if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: GLib.source_remove(sig) self._signals.append( transaction.connect("status-changed", self._on_status_changed)) self._signals.append( transaction.connect("terminal-attached-changed", self._on_terminal_attached_changed)) if self.terminal: self.terminal.set_transaction(transaction) self.download_view.set_transaction(transaction) def _on_status_changed(self, trans, status): if status in (STATUS_DOWNLOADING, STATUS_DOWNLOADING_REPO): self.set_sensitive(True) self.download_scrolled.show() if self.terminal: self.terminal.hide() elif status == STATUS_COMMITTING: self.download_scrolled.hide() if self.terminal: self.terminal.show() self.set_sensitive(True) else: self.set_expanded(False) self.set_sensitive(False) else: self.download_scrolled.hide() if self.terminal: self.terminal.hide() self.set_sensitive(False) self.set_expanded(False) def _on_terminal_attached_changed(self, transaction, attached): """Connect the terminal to the pty device""" if attached and self.terminal: self.set_sensitive(True) class AptTerminal(Vte.Terminal): def __init__(self, transaction=None): Vte.Terminal.__init__(self) self._signals = [] self._master, self._slave = pty.openpty() self._ttyname = os.ttyname(self._slave) self.set_size(80, 24) self.set_pty_object(Vte.Pty.new_foreign(self._master)) if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: GLib.source_remove(sig) self._signals.append( transaction.connect("terminal-attached-changed", self._on_terminal_attached_changed)) self._transaction = transaction self._transaction.set_terminal(self._ttyname) def _on_terminal_attached_changed(self, transaction, attached): """Show the terminal""" self.set_sensitive(attached) class AptCancelButton(Gtk.Button): """ Provides a Gtk.Button which allows to cancel a running aptdaemon transaction """ def __init__(self, transaction=None): Gtk.Button.__init__(self) self.set_use_stock(True) self.set_label(Gtk.STOCK_CANCEL) self.set_sensitive(True) self._signals = [] if transaction is not None: self.set_transaction(transaction) def set_transaction(self, transaction): """Connect the status label to the given aptdaemon transaction""" for sig in self._signals: GLib.source_remove(sig) self._signals = [] self._signals.append( transaction.connect("finished", self._on_finished)) self._signals.append( transaction.connect("cancellable-changed", self._on_cancellable_changed)) self.connect("clicked", self._on_clicked, transaction) def _on_cancellable_changed(self, transaction, cancellable): """ Enable the button if cancel is allowed and disable it in the other case """ self.set_sensitive(cancellable) def _on_finished(self, transaction, status): self.set_sensitive(False) def _on_clicked(self, button, transaction): transaction.cancel() self.set_sensitive(False) class AptDownloadsView(Gtk.TreeView): """A Gtk.TreeView which displays the progress and status of each dowload of a transaction. """ COL_TEXT, COL_PROGRESS, COL_URI = list(range(3)) def __init__(self, transaction=None): Gtk.TreeView.__init__(self) model = Gtk.ListStore(GObject.TYPE_STRING, GObject.TYPE_INT, GObject.TYPE_STRING) self.set_model(model) self.props.headers_visible = False self.set_rules_hint(True) self._download_map = {} self._signals = [] if transaction is not None: self.set_transaction(transaction) cell_uri = Gtk.CellRendererText() cell_uri.props.ellipsize = Pango.EllipsizeMode.END column_download = Gtk.TreeViewColumn(_("File")) column_download.pack_start(cell_uri, True) column_download.add_attribute(cell_uri, "markup", self.COL_TEXT) cell_progress = Gtk.CellRendererProgress() #TRANSLATORS: header of the progress download column column_progress = Gtk.TreeViewColumn(_("%")) column_progress.pack_start(cell_progress, True) column_progress.set_cell_data_func(cell_progress, self._data_progress, None) self.append_column(column_progress) self.append_column(column_download) self.set_tooltip_column(self.COL_URI) def set_transaction(self, transaction): """Connect the download view to the given aptdaemon transaction""" for sig in self._signals: GLib.source_remove(sig) self._signals = [] self._signals.append(transaction.connect("progress-download-changed", self._on_download_changed)) def _on_download_changed(self, transaction, uri, status, desc, full_size, downloaded, message): """Callback for a changed download progress.""" try: progress = int(downloaded * 100 / full_size) except ZeroDivisionError: progress = -1 if status == DOWNLOAD_DONE: progress = 100 if progress > 100: progress = 100 text = desc[:] text += "\n" #TRANSLATORS: %s is the full size in Bytes, e.g. 198M if status == DOWNLOAD_FETCHING: text += (_("Downloaded %sB of %sB") % (apt_pkg.size_to_str(downloaded), apt_pkg.size_to_str(full_size))) elif status == DOWNLOAD_DONE: if full_size != 0: text += _("Downloaded %sB") % apt_pkg.size_to_str(full_size) else: text += _("Downloaded") else: text += get_download_status_from_enum(status) text += "" model = self.get_model() try: iter = self._download_map[uri] except KeyError: adj = self.get_vadjustment() is_scrolled_down = (adj.get_value() + adj.get_page_size() == adj.get_upper()) iter = model.append((text, progress, uri)) self._download_map[uri] = iter if is_scrolled_down: # If the treeview was scrolled to the end, do this again # after appending a new item self.scroll_to_cell(model.get_path(iter), None, False, False, False) else: model.set_value(iter, self.COL_TEXT, text) model.set_value(iter, self.COL_PROGRESS, progress) def _data_progress(self, column, cell, model, iter, data): progress = model.get_value(iter, self.COL_PROGRESS) if progress == -1: cell.props.pulse = progress else: cell.props.value = progress class AptProgressDialog(Gtk.Dialog): """ Complete progress dialog for long taking aptdaemon transactions, which features a progress bar, cancel button, status icon and label """ __gsignals__ = {"finished": (GObject.SIGNAL_RUN_FIRST, GObject.TYPE_NONE, ())} def __init__(self, transaction=None, parent=None, terminal=True, debconf=True): Gtk.Dialog.__init__(self, parent=parent) self._expanded_size = None self.debconf = debconf # Setup the dialog self.set_border_width(6) self.set_resizable(False) self.get_content_area().set_spacing(6) # Setup the cancel button self.button_cancel = AptCancelButton(transaction) self.get_action_area().pack_start(self.button_cancel, False, False, 0) # Setup the status icon, label and progressbar hbox = Gtk.HBox() hbox.set_spacing(12) hbox.set_border_width(6) self.icon = AptRoleIcon() hbox.pack_start(self.icon, False, True, 0) vbox = Gtk.VBox() vbox.set_spacing(12) self.label_role = Gtk.Label() self.label_role.set_alignment(0, 0) vbox.pack_start(self.label_role, False, True, 0) vbox_progress = Gtk.VBox() vbox_progress.set_spacing(6) self.progress = AptProgressBar() vbox_progress.pack_start(self.progress, False, True, 0) self.label = AptStatusLabel() self.label._on_status_changed(None, STATUS_WAITING) vbox_progress.pack_start(self.label, False, True, 0) vbox.pack_start(vbox_progress, False, True, 0) hbox.pack_start(vbox, True, True, 0) self.expander = AptDetailsExpander(terminal=terminal) self.expander.connect("notify::expanded", self._on_expanded) vbox.pack_start(self.expander, True, True, 0) self.get_content_area().pack_start(hbox, True, True, 0) self._transaction = None self._signals = [] self.set_title("") self.realize() self.progress.set_size_request(350, -1) functions = Gdk.WMFunction.MOVE | Gdk.WMFunction.RESIZE try: self.get_window().set_functions(functions) except TypeError: # workaround for older and broken GTK typelibs self.get_window().set_functions(Gdk.WMFunction(functions)) if transaction is not None: self.set_transaction(transaction) # catch ESC and behave as if cancel was clicked self.connect("delete-event", self._on_dialog_delete_event) def _on_dialog_delete_event(self, dialog, event): self.button_cancel.clicked() return True def _on_expanded(self, expander, param): # Make the dialog resizable if the expander is expanded # try to restore a previous size if not expander.get_expanded(): self._expanded_size = (self.expander.terminal.get_visible(), self.get_size()) self.set_resizable(False) elif self._expanded_size: self.set_resizable(True) term_visible, (stored_width, stored_height) = self._expanded_size # Check if the stored size was for the download details or # the terminal widget if term_visible != self.expander.terminal.get_visible(): # The stored size was for the download details, so we need # get a new size for the terminal widget self._resize_to_show_details() else: self.resize(stored_width, stored_height) else: self.set_resizable(True) self._resize_to_show_details() def _resize_to_show_details(self): """Resize the window to show the expanded details. Unfortunately the expander only expands to the preferred size of the child widget (e.g showing all 80x24 chars of the Vte terminal) if the window is rendered the first time and the terminal is also visible. If the expander is expanded afterwards the window won't change its size anymore. So we have to do this manually. See LP#840942 """ win_width, win_height = self.get_size() exp_width = self.expander.get_allocation().width exp_height = self.expander.get_allocation().height if self.expander.terminal.get_visible(): terminal_width = self.expander.terminal.get_char_width() * 80 terminal_height = self.expander.terminal.get_char_height() * 24 self.resize(terminal_width - exp_width + win_width, terminal_height - exp_height + win_height) else: self.resize(win_width + 100, win_height + 200) def _on_status_changed(self, trans, status): # Also resize the window if we switch from download details to # the terminal window if (status == STATUS_COMMITTING and self.expander.terminal.get_visible()): self._resize_to_show_details() @deferable def run(self, attach=False, close_on_finished=True, show_error=True, reply_handler=None, error_handler=None): """Run the transaction and show the progress in the dialog. Keyword arguments: attach -- do not start the transaction but instead only monitor an already running one close_on_finished -- if the dialog should be closed when the transaction is complete show_error -- show a dialog with the error message """ return self._run(attach, close_on_finished, show_error, reply_handler, error_handler) @inline_callbacks def _run(self, attach, close_on_finished, show_error, reply_handler, error_handler): try: sig = self._transaction.connect("finished", self._on_finished, close_on_finished, show_error) self._signals.append(sig) if attach: yield self._transaction.sync() else: if self.debconf: yield self._transaction.set_debconf_frontend("gnome") yield self._transaction.run() self.show_all() except Exception as error: if error_handler: error_handler(error) else: raise else: if reply_handler: reply_handler() def _on_role_changed(self, transaction, role_enum): """Show the role of the transaction in the dialog interface""" role = get_role_localised_present_from_enum(role_enum) self.set_title(role) self.label_role.set_markup("%s" % role) def set_transaction(self, transaction): """Connect the dialog to the given aptdaemon transaction""" for sig in self._signals: GLib.source_remove(sig) self._signals = [] self._signals.append( transaction.connect_after("status-changed", self._on_status_changed)) self._signals.append(transaction.connect("role-changed", self._on_role_changed)) self._signals.append(transaction.connect("medium-required", self._on_medium_required)) self._signals.append(transaction.connect("config-file-conflict", self._on_config_file_conflict)) self._on_role_changed(transaction, transaction.role) self.progress.set_transaction(transaction) self.icon.set_transaction(transaction) self.label.set_transaction(transaction) self.expander.set_transaction(transaction) self._transaction = transaction def _on_medium_required(self, transaction, medium, drive): dialog = AptMediumRequiredDialog(medium, drive, self) res = dialog.run() dialog.hide() if res == Gtk.ResponseType.OK: self._transaction.provide_medium(medium) else: self._transaction.cancel() def _on_config_file_conflict(self, transaction, old, new): dialog = AptConfigFileConflictDialog(old, new, self) res = dialog.run() dialog.hide() if res == Gtk.ResponseType.YES: self._transaction.resolve_config_file_conflict(old, "replace") else: self._transaction.resolve_config_file_conflict(old, "keep") def _on_finished(self, transaction, status, close, show_error): if close: self.hide() if status == EXIT_FAILED and show_error: err_dia = AptErrorDialog(self._transaction.error, self) err_dia.run() err_dia.hide() self.emit("finished") class _ExpandableDialog(Gtk.Dialog): """Dialog with an expander.""" def __init__(self, parent=None, stock_type=None, expanded_child=None, expander_label=None, title=None, message=None, buttons=None): """Return an _AptDaemonDialog instance. Keyword arguments: parent -- set the dialog transient for the given Gtk.Window stock_type -- type of the Dialog, defaults to Gtk.STOCK_DIALOG_QUESTION expanded_child -- Widget which should be expanded expander_label -- label for the expander title -- a news header like title of the dialog message -- the message which should be shown in the dialog buttons -- tuple containing button text/reponse id pairs, defaults to a close button """ if not buttons: buttons = (Gtk.STOCK_CLOSE, Gtk.ResponseType.CLOSE) Gtk.Dialog.__init__(self, parent=parent) self.set_title("") self.add_buttons(*buttons) self.set_resizable(False) self.set_border_width(6) self.get_content_area().set_spacing(12) if not stock_type: stock_type = Gtk.STOCK_DIALOG_QUESTION icon = Gtk.Image.new_from_stock(stock_type, Gtk.IconSize.DIALOG) icon.set_alignment(0, 0) hbox_base = Gtk.HBox() hbox_base.set_spacing(12) hbox_base.set_border_width(6) vbox_left = Gtk.VBox() vbox_left.set_spacing(12) hbox_base.pack_start(icon, False, True, 0) hbox_base.pack_start(vbox_left, True, True, 0) self.label = Gtk.Label() self.label.set_selectable(True) self.label.set_alignment(0, 0) self.label.set_line_wrap(True) vbox_left.pack_start(self.label, False, True, 0) self.get_content_area().pack_start(hbox_base, True, True, 0) # The expander widget self.expander = Gtk.Expander(label=expander_label) self.expander.set_spacing(6) self.expander.set_use_underline(True) self.expander.connect("notify::expanded", self._on_expanded) self._expanded_size = None vbox_left.pack_start(self.expander, True, True, 0) # Set some initial data text = "" if title: text = "%s" % title if message: if text: text += "\n\n" text += message self.label.set_markup(text) if expanded_child: self.expander.add(expanded_child) else: self.expander.set_sensitive(False) def _on_expanded(self, expander, param): if expander.get_expanded(): self.set_resizable(True) if self._expanded_size: # Workaround a random crash during progress dialog expanding # It seems that either the gtk.Window.get_size() method # doesn't always return a tuple or that the # gtk.Window.set_size() method doesn't correctly handle * # arguments correctly, see LP#898851 try: self.resize(self._expanded_size[0], self._expanded_size[1]) except (IndexError, TypeError): pass else: self._expanded_size = self.get_size() self.set_resizable(False) class AptMediumRequiredDialog(Gtk.MessageDialog): """Dialog to ask for medium change.""" def __init__(self, medium, drive, parent=None): Gtk.MessageDialog.__init__(self, parent=parent, type=Gtk.MessageType.INFO) #TRANSLATORS: %s represents the name of a CD or DVD text = _("CD/DVD '%s' is required") % medium #TRANSLATORS: %s is the name of the CD/DVD drive desc = _("Please insert the above CD/DVD into the drive '%s' to " "install software packages from it.") % drive self.set_markup("%s\n\n%s" % (text, desc)) self.add_buttons(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, _("C_ontinue"), Gtk.ResponseType.OK) self.set_default_response(Gtk.ResponseType.OK) class AptConfirmDialog(Gtk.Dialog): """Dialog to confirm the changes that would be required by a transaction. """ def __init__(self, trans, cache=None, parent=None): """Return an AptConfirmDialog instance. Keyword arguments: trans -- the transaction of which the dependencies should be shown cache -- an optional apt.cache.Cache() instance to provide more details about packages parent -- set the dialog transient for the given Gtk.Window """ Gtk.Dialog.__init__(self, parent=parent) self.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL) self.add_button(_("C_ontinue"), Gtk.ResponseType.OK) self.cache = cache self.trans = trans if isinstance(parent, Gdk.Window): self.realize() self.window.set_transient_for(parent) else: self.set_transient_for(parent) self.set_resizable(True) self.set_border_width(6) self.get_content_area().set_spacing(12) icon = Gtk.Image.new_from_stock(Gtk.STOCK_DIALOG_QUESTION, Gtk.IconSize.DIALOG) icon.set_alignment(0, 0) hbox_base = Gtk.HBox() hbox_base.set_spacing(12) hbox_base.set_border_width(6) vbox_left = Gtk.VBox() vbox_left.set_spacing(12) hbox_base.pack_start(icon, False, True, 0) hbox_base.pack_start(vbox_left, True, True, 0) self.label = Gtk.Label() self.label.set_selectable(True) self.label.set_alignment(0, 0) vbox_left.pack_start(self.label, False, True, 0) self.get_content_area().pack_start(hbox_base, True, True, 0) self.treestore = Gtk.TreeStore(GObject.TYPE_STRING) self.treeview = Gtk.TreeView.new_with_model(self.treestore) self.treeview.set_headers_visible(False) self.treeview.set_rules_hint(True) self.column = Gtk.TreeViewColumn() self.treeview.append_column(self.column) cell_icon = Gtk.CellRendererPixbuf() self.column.pack_start(cell_icon, False) self.column.set_cell_data_func(cell_icon, self.render_package_icon, None) cell_desc = Gtk.CellRendererText() self.column.pack_start(cell_desc, True) self.column.set_cell_data_func(cell_desc, self.render_package_desc, None) self.scrolled = Gtk.ScrolledWindow() self.scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) self.scrolled.set_shadow_type(Gtk.ShadowType.ETCHED_IN) self.scrolled.add(self.treeview) vbox_left.pack_start(self.scrolled, True, True, 0) self.set_default_response(Gtk.ResponseType.CANCEL) def _show_changes(self): """Show a message and the dependencies in the dialog.""" self.treestore.clear() for index, msg in enumerate([_("Install"), _("Reinstall"), _("Remove"), _("Purge"), _("Upgrade"), _("Downgrade"), _("Skip upgrade")]): if self.trans.dependencies[index]: piter = self.treestore.append(None, ["%s" % msg]) for pkg in self.trans.dependencies[index]: for object in self.map_package(pkg): self.treestore.append(piter, [str(object)]) # If there is only one type of changes (e.g. only installs) expand the # tree #FIXME: adapt the title and message accordingly #FIXME: Should we have different modes? Only show dependencies, only # initial packages or both? msg = _("Please take a look at the list of changes below.") if len(self.treestore) == 1: filtered_store = self.treestore.filter_new( Gtk.TreePath.new_first()) self.treeview.expand_all() self.treeview.set_model(filtered_store) self.treeview.set_show_expanders(False) if self.trans.dependencies[PKGS_INSTALL]: title = _("Additional software has to be installed") elif self.trans.dependencies[PKGS_REINSTALL]: title = _("Additional software has to be re-installed") elif self.trans.dependencies[PKGS_REMOVE]: title = _("Additional software has to be removed") elif self.trans.dependencies[PKGS_PURGE]: title = _("Additional software has to be purged") elif self.trans.dependencies[PKGS_UPGRADE]: title = _("Additional software has to be upgraded") elif self.trans.dependencies[PKGS_DOWNGRADE]: title = _("Additional software has to be downgraded") elif self.trans.dependencies[PKGS_KEEP]: title = _("Updates will be skipped") if len(filtered_store) < 6: self.set_resizable(False) self.scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER) else: self.treeview.set_size_request(350, 200) else: title = _("Additional changes are required") self.treeview.set_size_request(350, 200) self.treeview.collapse_all() if self.trans.download: msg += "\n" msg += (_("%sB will be downloaded in total.") % apt_pkg.size_to_str(self.trans.download)) if self.trans.space < 0: msg += "\n" msg += (_("%sB of disk space will be freed.") % apt_pkg.size_to_str(self.trans.space)) elif self.trans.space > 0: msg += "\n" msg += (_("%sB more disk space will be used.") % apt_pkg.size_to_str(self.trans.space)) self.label.set_markup("%s\n\n%s" % (title, msg)) def map_package(self, pkg): """Map a package to a different object type, e.g. applications and return a list of those. By default return the package itself inside a list. Override this method if you don't want to store package names in the treeview. """ return [pkg] def render_package_icon(self, column, cell, model, iter, data): """Data func for the Gtk.CellRendererPixbuf which shows the package. Override this method if you want to show custom icons for a package or map it to applications. """ path = model.get_path(iter) if path.get_depth() == 0: cell.props.visible = False else: cell.props.visible = True cell.props.icon_name = "applications-other" def render_package_desc(self, column, cell, model, iter, data): """Data func for the Gtk.CellRendererText which shows the package. Override this method if you want to show more information about a package or map it to applications. """ value = model.get_value(iter, 0) if not value: return try: pkg_name, pkg_version = value.split("=")[0:2] except ValueError: pkg_name = value pkg_version = None try: if pkg_version: text = "%s (%s)\n%s" % ( pkg_name, pkg_version, self.cache[pkg_name].summary) else: text = "%s\n%s" % ( pkg_name, self.cache[pkg_name].summary) except (KeyError, TypeError): if pkg_version: text = "%s (%s)" % (pkg_name, pkg_version) else: text = "%s" % pkg_name cell.set_property("markup", text) def run(self): self._show_changes() self.show_all() return Gtk.Dialog.run(self) class AptConfigFileConflictDialog(_ExpandableDialog): """Dialog to resolve conflicts between local and shipped configuration files. """ def __init__(self, from_path, to_path, parent=None): self.from_path = from_path self.to_path = to_path #TRANSLATORS: %s is a file path title = _("Replace your changes in '%s' with a later version of " "the configuration file?") % from_path msg = _("If you don't know why the file is there already, it is " "usually safe to replace it.") scrolled = Gtk.ScrolledWindow() scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) scrolled.set_shadow_type(Gtk.ShadowType.ETCHED_IN) self.diffview = DiffView() self.diffview.set_size_request(-1, 200) scrolled.add(self.diffview) _ExpandableDialog.__init__(self, parent=parent, expander_label=_("_Changes"), expanded_child=scrolled, title=title, message=msg, buttons=(_("_Keep"), Gtk.ResponseType.NO, _("_Replace"), Gtk.ResponseType.YES)) self.set_default_response(Gtk.ResponseType.YES) def run(self): self.show_all() self.diffview.show_diff(self.from_path, self.to_path) return _ExpandableDialog.run(self) REGEX_RANGE = "^@@ \-(?P[0-9]+)(?:,(?P[0-9]+))? " \ "\+(?P[0-9]+)(?:,(?P[0-9]+))? @@" class DiffView(Gtk.TextView): """Shows the difference between two files.""" ELLIPSIS = "[…]\n" def __init__(self): self.textbuffer = Gtk.TextBuffer() Gtk.TextView.__init__(self, buffer=self.textbuffer) self.set_property("editable", False) self.set_cursor_visible(False) tags = self.textbuffer.get_tag_table() #FIXME: How to get better colors? tag_default = Gtk.TextTag.new("default") tag_default.set_properties(font="Mono") tags.add(tag_default) tag_add = Gtk.TextTag.new("add") tag_add.set_properties(font="Mono", background='#8ae234') tags.add(tag_add) tag_remove = Gtk.TextTag.new("remove") tag_remove.set_properties(font="Mono", background='#ef2929') tags.add(tag_remove) tag_num = Gtk.TextTag.new("number") tag_num.set_properties(font="Mono", background='#eee') tags.add(tag_num) def show_diff(self, from_path, to_path): """Show the difference between two files.""" #FIXME: Use gio try: with open(from_path) as fp: from_lines = fp.readlines() with open(to_path) as fp: to_lines = fp.readlines() except IOError: return # helper function to work around current un-introspectability of # varargs methods like insert_with_tags_by_name() def insert_tagged_text(iter, text, tag): #self.textbuffer.insert_with_tags_by_name(iter, text, tag) offset = iter.get_offset() self.textbuffer.insert(iter, text) self.textbuffer.apply_tag_by_name( tag, self.textbuffer.get_iter_at_offset(offset), iter) line_number = 0 iter = self.textbuffer.get_start_iter() for line in difflib.unified_diff(from_lines, to_lines, lineterm=""): if line.startswith("@@"): match = re.match(REGEX_RANGE, line) if not match: continue line_number = int(match.group("from_start")) if line_number > 1: insert_tagged_text(iter, self.ELLIPSIS, "default") elif line.startswith("---") or line.startswith("+++"): continue elif line.startswith(" "): line_number += 1 insert_tagged_text(iter, str(line_number), "number") insert_tagged_text(iter, line, "default") elif line.startswith("-"): line_number += 1 insert_tagged_text(iter, str(line_number), "number") insert_tagged_text(iter, line, "remove") elif line.startswith("+"): spaces = " " * len(str(line_number)) insert_tagged_text(iter, spaces, "number") insert_tagged_text(iter, line, "add") class _DetailsExpanderMessageDialog(_ExpandableDialog): """ Common base class for Apt*Dialog """ def __init__(self, text, desc, type, details=None, parent=None): scrolled = Gtk.ScrolledWindow() scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) scrolled.set_shadow_type(Gtk.ShadowType.ETCHED_IN) textview = Gtk.TextView() textview.set_wrap_mode(Gtk.WrapMode.WORD) buffer = textview.get_buffer() scrolled.add(textview) #TRANSLATORS: expander label in the error dialog _ExpandableDialog.__init__(self, parent=parent, expander_label=_("_Details"), expanded_child=scrolled, title=text, message=desc, stock_type=type) self.show_all() if details: buffer.insert_at_cursor(details) else: self.expander.set_visible(False) class AptErrorDialog(_DetailsExpanderMessageDialog): """ Dialog for aptdaemon errors with details in an expandable text view """ def __init__(self, error=None, parent=None): text = get_error_string_from_enum(error.code) desc = get_error_description_from_enum(error.code) _DetailsExpanderMessageDialog.__init__( self, text, desc, Gtk.STOCK_DIALOG_ERROR, error.details, parent) aptdaemon-1.1.1/aptdaemon/console.py0000644000175000017500000007372112201760213020230 0ustar renaterenate00000000000000""" This module provides a command line client for the aptdaemon """ # Copyright (C) 2008-2009 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. __author__ = "Sebastian Heinlein " __all__ = ("ConsoleClient", "main") import array import fcntl from gettext import gettext as _ from gettext import ngettext import locale from optparse import OptionParser import os import pty import re import termios import time import tty import signal import sys from aptsources.sourceslist import SourceEntry import apt_pkg from gi.repository import GLib import dbus.glib import dbus.mainloop.glib dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) import aptdaemon from . import client from . import enums from . import errors ANSI_BOLD = chr(27) + "[1m" ANSI_RESET = chr(27) + "[0m" PY3K = sys.version_info.major > 2 class ConsoleClient: """ Command line interface client to aptdaemon """ def __init__(self, show_terminal=True, allow_unauthenticated=False, details=False): self._client = client.AptClient() self.master_fd, self.slave_fd = pty.openpty() self._signals = [] signal.signal(signal.SIGINT, self._on_cancel_signal) signal.signal(signal.SIGQUIT, self._on_cancel_signal) signal.signal(signal.SIGWINCH, self._on_terminal_resize) self._terminal_width = self._get_terminal_width() self._watchers = [] self._old_tty_mode = None self._show_status = True self._status = "" self._percent = 0 self._show_terminal = show_terminal self._details = details self._allow_unauthenticated = allow_unauthenticated self._show_progress = True self._status_details = "" self._progress_details = "" # Used for a spinning line to indicate a still working transaction self._spin_elements = "|/-\\" self._spin_cur = -1 self._spin_stamp = time.time() self._transaction = None self._loop = GLib.MainLoop() def add_repository(self, line="", sourcesfile=""): """Add repository to the sources list.""" entry = SourceEntry(line) self._client.add_repository(entry.type, entry.uri, entry.dist, entry.comps, entry.comment, sourcesfile, reply_handler=self._run_transaction, error_handler=self._on_exception) def add_vendor_key_from_file(self, path): """Install repository key file.""" self._client.add_vendor_key_from_file( path, reply_handler=self._run_transaction, error_handler=self._on_exception) def add_vendor_key_from_keyserver(self, keyid, keyserver): """Install repository key file.""" self._client.add_vendor_key_from_keyserver( keyid, keyserver, reply_handler=self._run_transaction, error_handler=self._on_exception) def remove_vendor_key(self, fingerprint): """Remove repository key.""" self._client.remove_vendor_key(fingerprint, reply_handler=self._run_transaction, error_handler=self._on_exception) def install_file(self, path): """Install package file.""" self._client.install_file(path, reply_handler=self._run_transaction, error_handler=self._on_exception) def list_trusted_vendor_keys(self): """List the keys of the trusted vendors.""" def on_done(keys): for key in keys: print(key) self._loop.quit() self._client.get_trusted_vendor_keys(reply_handler=on_done, error_handler=self._on_exception) def commit_packages(self, install, reinstall, remove, purge, upgrade, downgrade): """Commit changes""" self._client.commit_packages(install, reinstall, remove, purge, upgrade, downgrade, reply_handler=self._run_transaction, error_handler=self._on_exception) def fix_incomplete_install(self): """Fix incomplete installs""" self._client.fix_incomplete_install( reply_handler=self._run_transaction, error_handler=self._on_exception) def fix_broken_depends(self): """Repair broken dependencies.""" self._client.fix_broken_depends(reply_handler=self._run_transaction, error_handler=self._on_exception) def update_cache(self): """Update cache""" self._client.update_cache(reply_handler=self._run_transaction, error_handler=self._on_exception) def upgrade_system(self, safe_mode): """Upgrade system""" self._client.upgrade_system(safe_mode, reply_handler=self._run_transaction, error_handler=self._on_exception) def reconfigure(self, packages, priority): """Reconfigure packages.""" self._client.reconfigure(packages, priority, reply_handler=self._run_transaction, error_handler=self._on_exception) def clean(self): """Clean archives.""" self._client.clean(reply_handler=self._run_transaction, error_handler=self._on_exception) def run(self): """Start the console client application.""" try: self._loop.run() except KeyboardInterrupt: pass def _set_transaction(self, transaction): """Monitor the given transaction""" for handler in self._signals: GLib.source_remove(handler) self._transaction = transaction self._signals = [] self._signals.append(transaction.connect("terminal-attached-changed", self._on_terminal_attached)) self._signals.append(transaction.connect("status-changed", self._on_status)) self._signals.append(transaction.connect("status-details-changed", self._on_status_details)) self._signals.append(transaction.connect("progress-changed", self._on_progress)) self._signals.append(transaction.connect("progress-details-changed", self._on_progress_details)) self._signals.append(transaction.connect("finished", self._on_exit)) if self._show_terminal: transaction.set_terminal(os.ttyname(self.slave_fd)) transaction.set_allow_unauthenticated(self._allow_unauthenticated) def _on_exit(self, trans, enum): """Callback for the exit state of the transaction""" # Make sure to dettach the terminal self._detach() if self._show_progress: output = "[+] 100%% %s %-*.*s%s\n" % (ANSI_BOLD, self._terminal_width - 9, self._terminal_width - 9, enums.get_exit_string_from_enum(enum), ANSI_RESET) sys.stderr.write(output) if enum == enums.EXIT_FAILED: msg = "%s: %s\n%s\n\n%s" % ( _("ERROR"), enums.get_error_string_from_enum(trans.error_code), enums.get_error_description_from_enum(trans.error_code), trans.error_details) print(msg) self._loop.quit() def _on_terminal_attached(self, transaction, attached): """Callback for the terminal-attachabed-changed signal of the transaction. """ if self._show_terminal and attached and not self._watchers: self._clear_progress() self._show_progress = False self._attach() elif not attached: self._show_progress = True self._detach() def _on_status(self, transaction, status): """Callback for the Status signal of the transaction""" self._status = enums.get_status_string_from_enum(status) self._update_progress() def _on_status_details(self, transaction, text): """Callback for the StatusDetails signal of the transaction.""" self._status_details = text self._update_progress() def _on_progress_details(self, transaction, items_done, items_total, bytes_done, bytes_total, speed, eta): """Callback for the ProgressDetails signal of the transaction.""" if bytes_total and speed: self._progress_details = (_("Downloaded %sB of %sB at %sB/s") % (apt_pkg.size_to_str(bytes_done), apt_pkg.size_to_str(bytes_total), apt_pkg.size_to_str(speed))) elif bytes_total: self._progress_details = (_("Downloaded %sB of %sB") % (apt_pkg.size_to_str(bytes_done), apt_pkg.size_to_str(bytes_total))) else: self._progress_details = "" self._update_progress() def _on_progress(self, transaction, percent): """Callback for the Progress signal of the transaction""" self._percent = percent self._update_progress() def _update_progress(self): """Update the progress bar.""" if not self._show_progress: return text = ANSI_BOLD + self._status + ANSI_RESET if self._status_details: text += " " + self._status_details if self._progress_details: text += " (%s)" % self._progress_details text_width = self._terminal_width - 9 # Spin the progress line (maximum 5 times a second) if self._spin_stamp + 0.2 < time.time(): self._spin_cur = (self._spin_cur + 1) % len(self._spin_elements) self._spin_stamp = time.time() spinner = self._spin_elements[self._spin_cur] # Show progress information if available if self._percent > 100: percent = "---" else: percent = self._percent sys.stderr.write("[%s] " % spinner + "%3.3s%% " % percent + "%-*.*s" % (text_width, text_width, text) + "\r") def _update_custom_progress(self, msg, percent=None, spin=True): """Update the progress bar with a custom status message.""" text = ANSI_BOLD + msg + ANSI_RESET text_width = self._terminal_width - 9 # Spin the progress line (maximum 5 times a second) if spin: self._spin_cur = (self._spin_cur + 1) % len(self._spin_elements) self._spin_stamp = time.time() spinner = self._spin_elements[self._spin_cur] else: spinner = "+" # Show progress information if available if percent is None: percent = "---" sys.stderr.write("[%s] " % spinner + "%3.3s%% " % percent + "%-*.*s" % (text_width, text_width, text) + "\r") return True def _stop_custom_progress(self): """Stop the spinner which shows non trans status messages.""" if self._progress_id is not None: GLib.source_remove(self._progress_id) def _clear_progress(self): """Clear progress information on stderr.""" sys.stderr.write("%-*.*s\r" % (self._terminal_width, self._terminal_width, " ")) def _on_cancel_signal(self, signum, frame): """Callback for a cancel signal.""" if (self._transaction and self._transaction.status != enums.STATUS_SETTING_UP): self._transaction.cancel() else: self._loop.quit() def _on_terminal_resize(self, signum, frame): """Callback for a changed terminal size.""" self._terminal_width = self._get_terminal_width() self._update_progress() def _detach(self): """Dettach the controlling terminal to aptdaemon.""" for wid in self._watchers: GLib.source_remove(wid) if self._old_tty_mode: tty.tcsetattr(pty.STDIN_FILENO, tty.TCSAFLUSH, self._old_tty_mode) def _attach(self): """Attach the controlling terminal to aptdaemon. Based on pty.spwan() """ try: self._old_tty_mode = tty.tcgetattr(pty.STDIN_FILENO) tty.setraw(pty.STDIN_FILENO) except tty.error: # This is the same as termios.error self._old_tty_mode = None flags = GLib.IO_IN | GLib.IO_ERR | GLib.IO_HUP self._watchers.append( GLib.io_add_watch(pty.STDIN_FILENO, GLib.PRIORITY_HIGH_IDLE, flags, self._copy_io, self.master_fd)) self._watchers.append( GLib.io_add_watch(self.master_fd, GLib.PRIORITY_HIGH_IDLE, flags, self._copy_io, pty.STDOUT_FILENO)) def _copy_io(self, source, condition, target): """Callback to copy data between terminals.""" if condition == GLib.IO_IN: data = os.read(source, 1024) if target: os.write(target, data) return True os.close(source) return False def _get_terminal_width(self): """Return the witdh in characters of the current terminal.""" try: return array.array("h", fcntl.ioctl(sys.stderr, termios.TIOCGWINSZ, "\0" * 8))[1] except IOError: # Fallback to the "default" size return 80 def _on_exception(self, error): """Error callback.""" self._detach() try: raise error except errors.PolicyKitError: msg = "%s %s\n\n%s" % (_("ERROR:"), _("You are not allowed to perform " "this action."), error.get_dbus_message()) except dbus.DBusException: msg = "%s %s - %s" % (_("ERROR:"), error.get_dbus_name(), error.get_dbus_message()) except: msg = str(error) self._loop.quit() sys.exit(msg) def _run_transaction(self, trans): """Callback which runs a requested transaction.""" self._set_transaction(trans) self._stop_custom_progress() if self._transaction.role in [enums.ROLE_UPDATE_CACHE, enums.ROLE_ADD_VENDOR_KEY_FILE, enums.ROLE_ADD_VENDOR_KEY_FROM_KEYSERVER, enums.ROLE_REMOVE_VENDOR_KEY, enums.ROLE_FIX_INCOMPLETE_INSTALL]: #TRANSLATORS: status message self._progress_id = GLib.timeout_add(250, self._update_custom_progress, _("Queuing")) self._transaction.run( error_handler=self._on_exception, reply_handler=lambda: self._stop_custom_progress()) else: #TRANSLATORS: status message self._progress_id = GLib.timeout_add(250, self._update_custom_progress, _("Resolving dependencies")) self._transaction.simulate(reply_handler=self._show_changes, error_handler=self._on_exception) def _show_changes(self): def show_packages(pkgs): """Format the pkgs in a nice way.""" line = " " pkgs.sort() for pkg in pkgs: try: name, version = pkg.split("=", 1)[0:2] except ValueError: name = pkg version = None if self._details and version: output = "%s=%s" % (name, version) else: output = name if (len(line) + 1 + len(output) > self._terminal_width and line != " "): print(line) line = " " line += " %s" % output if line != " ": print(line) self._stop_custom_progress() self._clear_progress() (installs, reinstalls, removals, purges, upgrades, downgrades) = self._transaction.packages (dep_installs, dep_reinstalls, dep_removals, dep_purges, dep_upgrades, dep_downgrades, dep_kepts) = self._transaction.dependencies installs.extend(dep_installs) upgrades.extend(dep_upgrades) removals.extend(purges) removals.extend(dep_removals) removals.extend(dep_purges) reinstalls.extend(dep_reinstalls) downgrades.extend(dep_downgrades) kepts = dep_kepts if installs: #TRANSLATORS: %s is the number of packages print((ngettext("The following NEW package will be installed " "(%(count)s):", "The following NEW packages will be installed " "(%(count)s):", len(installs)) % {"count": len(installs)})) show_packages(installs) if upgrades: #TRANSLATORS: %s is the number of packages print((ngettext("The following package will be upgraded " "(%(count)s):", "The following packages will be upgraded " "(%(count)s):", len(upgrades)) % {"count": len(upgrades)})) show_packages(upgrades) if removals: #TRANSLATORS: %s is the number of packages print((ngettext("The following package will be REMOVED " "(%(count)s):", "The following packages will be REMOVED " "(%(count)s):", len(removals)) % {"count": len(removals)})) #FIXME: mark purges show_packages(removals) if downgrades: #TRANSLATORS: %s is the number of packages print((ngettext("The following package will be DOWNGRADED " "(%(count)s):", "The following packages will be DOWNGRADED " "(%(count)s):", len(downgrades)) % {"count": len(downgrades)})) show_packages(downgrades) if reinstalls: #TRANSLATORS: %s is the number of packages print((ngettext("The following package will be reinstalled " "(%(count)s):", "The following packages will be reinstalled " "(%(count)s):", len(reinstalls)) % {"count": len(reinstalls)})) show_packages(reinstalls) if kepts: print((ngettext("The following package has been kept back " "(%(count)s):", "The following packages have been kept back " "(%(count)s):", len(kepts)) % {"count": len(kepts)})) show_packages(kepts) if self._transaction.download: print(_("Need to get %sB of archives.") % apt_pkg.size_to_str(self._transaction.download)) if self._transaction.space > 0: print(_("After this operation, %sB of additional disk space " "will be used.") % apt_pkg.size_to_str(self._transaction.space)) elif self._transaction.space < 0: print(_("After this operation, %sB of additional disk space " "will be freed.") % apt_pkg.size_to_str(self._transaction.space)) if (not apt_pkg.config.find_b("APT::Get::Assume-Yes") and (self._transaction.space or self._transaction.download or installs or upgrades or downgrades or removals or kepts or reinstalls)): try: if PY3K: cont = input(_("Do you want to continue [Y/n]?")) else: cont = raw_input(_("Do you want to continue [Y/n]?")) except EOFError: cont = "n" #FIXME: Listen to changed dependencies! if (not re.match(locale.nl_langinfo(locale.YESEXPR), cont) and cont != ""): msg = enums.get_exit_string_from_enum(enums.EXIT_CANCELLED) self._update_custom_progress(msg, None, False) self._loop.quit() sys.exit(1) #TRANSLATORS: status message self._progress_id = GLib.timeout_add(250, self._update_custom_progress, _("Queuing")) self._transaction.run( error_handler=self._on_exception, reply_handler=lambda: self._stop_custom_progress()) def main(): """Run a command line client for aptdaemon""" epilog = _("To operate on more than one package put the package " "names in quotation marks:\naptdcon --install " "\"foo bar\"") parser = OptionParser(version=aptdaemon.__version__, epilog=epilog) parser.add_option("-c", "--refresh", default="", action="store_true", dest="refresh", help=_("Refresh the cache")) parser.add_option("", "--fix-depends", default="", action="store_true", dest="fix_depends", help=_("Try to resolve broken dependencies. " "Potentially dangerous operation since it could " "try to remove many packages.")) parser.add_option("", "--fix-install", default="", action="store_true", dest="fix_install", help=_("Try to finish a previous incompleted " "installation")) parser.add_option("-i", "--install", default="", action="store", type="string", dest="install", help=_("Install the given packages")) parser.add_option("", "--reinstall", default="", action="store", type="string", dest="reinstall", help=_("Reinstall the given packages")) parser.add_option("-r", "--remove", default="", action="store", type="string", dest="remove", help=_("Remove the given packages")) parser.add_option("-p", "--purge", default="", action="store", type="string", dest="purge", help=_("Remove the given packages including " "configuration files")) parser.add_option("-u", "--upgrade", default="", action="store", type="string", dest="upgrade", help=_("Install the given packages")) parser.add_option("", "--downgrade", default="", action="store", type="string", dest="downgrade", help=_("Downgrade the given packages")) parser.add_option("", "--upgrade-system", action="store_true", dest="safe_upgrade", help=_("Deprecated: Please use " "--safe-upgrade")) parser.add_option("", "--safe-upgrade", action="store_true", dest="safe_upgrade", help=_("Upgrade the system in a safe way")) parser.add_option("", "--full-upgrade", action="store_true", dest="full_upgrade", help=_("Upgrade the system, possibly installing and " "removing packages")) parser.add_option("", "--add-vendor-key", default="", action="store", type="string", dest="add_vendor_key", help=_("Add the vendor to the trusted ones")) parser.add_option("", "--add-vendor-key-from-keyserver", default="", action="store", type="string", help=_("Add the vendor keyid (also needs " "--keyserver)")) parser.add_option("", "--keyserver", default="", action="store", type="string", help=_("Use the given keyserver for looking up " "keys")) parser.add_option("", "--add-repository", default="", action="store", type="string", dest="add_repository", help=_("Add new repository from the given " "deb-line")) parser.add_option("", "--sources-file", action="store", default="", type="string", dest="sources_file", help=_("Specify an alternative sources.list.d file to " "which repositories should be added.")) parser.add_option("", "--list-trusted-vendors", default="", action="store_true", dest="list_trusted_vendor_keys", help=_("List trusted vendor keys")) parser.add_option("", "--remove-vendor-key", default="", action="store", type="string", dest="remove_vendor_key", help=_("Remove the trusted key of the given " "fingerprint")) parser.add_option("", "--clean", action="store_true", dest="clean", help=_("Remove downloaded package files")) parser.add_option("", "--reconfigure", default="", action="store", type="string", dest="reconfigure", help=_("Reconfigure installed packages. Optionally the " "minimum priority of questions can be " "specified")) parser.add_option("", "--priority", default="default", action="store", type="string", dest="priority", help=_("The minimum debconf priority of question to " "be displayed")) parser.add_option("", "--hide-terminal", action="store_true", dest="hide_terminal", help=_("Do not attach to the apt terminal")) parser.add_option("", "--allow-unauthenticated", action="store_true", dest="allow_unauthenticated", default=False, help=_("Allow packages from unauthenticated " "sources")) parser.add_option("-d", "--show-details", action="store_true", dest="details", help=_("Show additional information about the packages. " "Currently only the version number")) (options, args) = parser.parse_args() con = ConsoleClient(show_terminal=not options.hide_terminal, allow_unauthenticated=options.allow_unauthenticated, details=options.details) #TRANSLATORS: status message con._progress_id = GLib.timeout_add(250, con._update_custom_progress, _("Waiting for authentication")) if options.safe_upgrade: con.upgrade_system(True) elif options.full_upgrade: con.upgrade_system(False) elif options.refresh: con.update_cache() elif options.reconfigure: con.reconfigure(options.reconfigure.split(), options.priority) elif options.clean: con.clean() elif options.fix_install: con.fix_incomplete_install() elif options.fix_depends: con.fix_broken_depends() elif options.install and options.install.endswith(".deb"): con.install_file(options.install) elif (options.install or options.reinstall or options.remove or options.purge or options.upgrade or options.downgrade): con.commit_packages(options.install.split(), options.reinstall.split(), options.remove.split(), options.purge.split(), options.upgrade.split(), options.downgrade.split()) elif options.add_repository: con.add_repository(options.add_repository, options.sources_file) elif options.add_vendor_key: #FIXME: Should detect if from stdin or file con.add_vendor_key_from_file(options.add_vendor_key) elif options.add_vendor_key_from_keyserver and options.keyserver: con.add_vendor_key_from_keyserver( options.add_vendor_key_from_keyserver, options.keyserver) elif options.remove_vendor_key: con.remove_vendor_key(options.remove_vendor_key) elif options.list_trusted_vendor_keys: con.list_trusted_vendor_keys() else: parser.print_help() sys.exit(1) con.run() if __name__ == "__main__": main() aptdaemon-1.1.1/aptdaemon/progress.py0000644000175000017500000010373412201760417020436 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Progress handlers for APT operations""" # Copyright (C) 2008-2009 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. __author__ = "Sebastian Heinlein " __all__ = ("DaemonAcquireProgress", "DaemonOpenProgress", "DaemonInstallProgress", "DaemonDpkgInstallProgress", "DaemonForkProgress", "DaemonDpkgRecoverProgress", "DaemonLintianProgress") import locale import logging import os import platform import re import signal import sys import termios import time import traceback import tty import apt_pkg import apt.progress.base import apt.debfile from gi.repository import GLib from . import enums from . import lock from .loop import mainloop from .utils import IsoCodes # Required to get translatable strings extraced by xgettext _ = lambda s: s log = logging.getLogger("AptDaemon.Worker") log_terminal = logging.getLogger("AptDaemon.Worker.Terminal") INSTALL_TIMEOUT = 10 * 60 MAP_DPKG_STAGE = {"install": enums.PKG_INSTALLING, "configure": enums.PKG_CONFIGURING, "remove": enums.PKG_REMOVING, "trigproc": enums.PKG_RUNNING_TRIGGER, "purge": enums.PKG_PURGING, "disappear": enums.PKG_DISAPPEARING, "upgrade": enums.PKG_UPGRADING} REGEX_ANSI_ESCAPE_CODE = chr(27) + "\[[;?0-9]*[A-Za-z]" class DaemonOpenProgress(apt.progress.base.OpProgress): """Handles the progress of the cache opening.""" def __init__(self, transaction, begin=0, end=100, quiet=False): """Initialize a new DaemonOpenProgress instance. Keyword arguments: transaction -- corresponding transaction D-Bus object begin -- begin of the progress range (defaults to 0) end -- end of the progress range (defaults to 100) quiet -- do not emit any progress information for the transaction """ apt.progress.base.OpProgress.__init__(self) self._transaction = transaction self.steps = [begin + (end - begin) * modifier # the final 1.00 will not be used but we still # need it here for the final pop() for modifier in [0.25, 0.50, 0.75, 1.00, 1.00]] self.progress_begin = float(begin) self.progress_end = self.steps.pop(0) self.progress = 0 self.quiet = quiet def update(self, percent=None): """Callback for progress updates. Keyword argument: percent - current progress in percent """ # python-apt 0.8 does not include "percent" anymore in the call percent = percent or self.percent if percent < 101: progress = int(self.progress_begin + (percent / 100) * (self.progress_end - self.progress_begin)) if self.progress == progress: return else: progress = 101 self.progress = progress if not self.quiet: self._transaction.progress = progress def done(self): """Callback after completing a step. Sets the progress range to the next interval.""" # ensure that progress is updated self.progress = self.progress_end # switch to new progress_{begin, end} self.progress_begin = self.progress_end try: self.progress_end = self.steps.pop(0) except: log.warning("An additional step to open the cache is required") class DaemonAcquireProgress(apt.progress.base.AcquireProgress): ''' Handle the package download process ''' def __init__(self, transaction, begin=0, end=100): apt.progress.base.AcquireProgress.__init__(self) self.transaction = transaction self.progress_end = end self.progress_begin = begin self.progress = 0 def _emit_acquire_item(self, item, total_size=0, current_size=0): if item.owner.status == apt_pkg.AcquireItem.STAT_DONE: status = enums.DOWNLOAD_DONE # Workaround for a bug in python-apt, see lp: #581886 current_size = item.owner.filesize elif item.owner.status == apt_pkg.AcquireItem.STAT_AUTH_ERROR: status = enums.DOWNLOAD_AUTH_ERROR elif item.owner.status == apt_pkg.AcquireItem.STAT_FETCHING: status = enums.DOWNLOAD_FETCHING elif item.owner.status == apt_pkg.AcquireItem.STAT_ERROR: status = enums.DOWNLOAD_ERROR elif item.owner.status == apt_pkg.AcquireItem.STAT_IDLE: status = enums.DOWNLOAD_IDLE else: # Workaround: The StatTransientNetworkError status isn't mapped # by python-apt, see LP #602578 status = enums.DOWNLOAD_NETWORK_ERROR if (item.owner.status != apt_pkg.AcquireItem.STAT_DONE and item.owner.error_text): msg = item.owner.error_text elif item.owner.mode: msg = item.owner.mode else: msg = "" self.transaction.progress_download = ( item.uri, status, item.shortdesc, total_size | item.owner.filesize, current_size | item.owner.partialsize, msg) def _emit_status_details(self, items): """Emit the transaction status details.""" names = set() for item in items: if item.owner.id: names.add(item.owner.id) else: names.add(item.shortdesc) if names: #TRANSLATORS: %s is a list of package names msg = self.transaction.ngettext("Downloading %(files)s", "Downloading %(files)s", len(items)) % {"files": " ".join(names)} self.transaction.status_details = msg def done(self, item): """Invoked when an item is successfully and completely fetched.""" self._emit_acquire_item(item) def fail(self, item): """Invoked when an item could not be fetched.""" self._emit_acquire_item(item) def fetch(self, item): """Invoked when some of the item's data is fetched.""" self._emit_acquire_item(item) def ims_hit(self, item): """Invoked when an item is confirmed to be up-to-date. Invoked when an item is confirmed to be up-to-date. For instance, when an HTTP download is informed that the file on the server was not modified. """ self._emit_acquire_item(item) def pulse(self, owner): """Callback to update progress information""" if self.transaction.cancelled: return False self.transaction.progress_details = (self.current_items, self.total_items, self.current_bytes, self.total_bytes, self.current_cps, self.elapsed_time) percent = (((self.current_bytes + self.current_items) * 100.0) / float(self.total_bytes + self.total_items)) progress = int(self.progress_begin + percent / 100 * (self.progress_end - self.progress_begin)) # If the progress runs backwards emit an illegal progress value # e.g. during cache updates. if self.progress > progress: self.transaction.progress = 101 else: self.transaction.progress = progress self.progress = progress # Show all currently downloaded files items = [] for worker in owner.workers: if not worker.current_item: continue self._emit_acquire_item(worker.current_item, worker.total_size, worker.current_size) items.append(worker.current_item) self._emit_status_details(items) while GLib.main_context_default().pending(): GLib.main_context_default().iteration() return True def start(self): """Callback at the beginning of the operation""" self.transaction.status = enums.STATUS_DOWNLOADING self.transaction.cancellable = True def stop(self): """Callback at the end of the operation""" self.transaction.progress_details = (0, 0, 0, 0, 0.0, 0) self.transaction.progress = self.progress_end self.transaction.cancellable = False def media_change(self, medium, drive): """Callback for media changes""" self.transaction.required_medium = medium, drive self.transaction.paused = True self.transaction.status = enums.STATUS_WAITING_MEDIUM while self.transaction.paused: GLib.main_context_default().iteration() self.transaction.status = enums.STATUS_DOWNLOADING if self.transaction.cancelled: return False return True class DaemonAcquireRepoProgress(DaemonAcquireProgress): """Handle the repository information download""" def __init__(self, transaction, begin=0, end=100): DaemonAcquireProgress.__init__(self, transaction, begin, end) self.languages = IsoCodes("iso_639", tag="iso_639_1_code", fallback_tag="iso_639_2T_code") self.regions = IsoCodes("iso_3166", "alpha_2_code") self.progress = 101 def start(self): """Callback at the beginning of the operation""" self.transaction.status = enums.STATUS_DOWNLOADING_REPO self.transaction.cancellable = True def _emit_status_details(self, items): """Emit the transaction status details.""" repos = set() for item in items: # We are only interested in the hostname currently try: repos.add(item.description.split()[0].split("://")[-1]) except IndexError: #TRANSLATORS: the string is used as a fallback if we cannot # get the URI of a local repository repos.add(self.transaction.gettext("local repository")) if repos: #TRANSLATORS: %s is a list of repository names msg = self.transaction.ngettext("Downloading from %s", "Downloading from %s", len(repos)) % " ".join(repos) self.transaction.status_details = msg def _emit_acquire_item(self, item, total_size=0, current_size=0): if item.owner.status == apt_pkg.AcquireItem.STAT_DONE: status = enums.DOWNLOAD_DONE # Workaround for a bug in python-apt, see lp: #581886 current_size = item.owner.filesize elif item.owner.status == apt_pkg.AcquireItem.STAT_AUTH_ERROR: status = enums.DOWNLOAD_AUTH_ERROR elif item.owner.status == apt_pkg.AcquireItem.STAT_FETCHING: status = enums.DOWNLOAD_FETCHING elif item.owner.status == apt_pkg.AcquireItem.STAT_ERROR: status = enums.DOWNLOAD_ERROR elif item.owner.status == apt_pkg.AcquireItem.STAT_IDLE: status = enums.DOWNLOAD_IDLE else: # Workaround: The StatTransientNetworkError status isn't mapped # by python-apt, see LP #602578 status = enums.DOWNLOAD_NETWORK_ERROR if (item.owner.status != apt_pkg.AcquireItem.STAT_DONE and item.owner.error_text): msg = item.owner.error_text elif item.owner.mode: msg = item.owner.mode else: msg = "" # Get a better description than e.g. Packages or Sources host, dist = item.description.split()[0:2] try: host = host.split("://")[1] except IndexError: #TRANSLATORS: the string is used as a fallback if we cannot # get the URI of a local repository desc = self.transaction.gettext("local repository") repo = "%s %s" % (host, dist) if item.shortdesc == "InRelease": #TRANSLATORS: repo is the name of a repository desc = self.transaction.gettext("Structure of %s") % repo elif item.shortdesc == "Release": #TRANSLATORS: repo is the name of a repository desc = self.transaction.gettext("Description of %s") % repo elif item.shortdesc == "Release.gpg": #TRANSLATORS: repo is the name of a repository desc = self.transaction.gettext("Description signature " "of %s") % repo elif item.shortdesc.startswith("Packages"): #TRANSLATORS: repo is the name of a repository desc = self.transaction.gettext( "Available packages from %s") % repo elif item.shortdesc.startswith("Sources"): #TRANSLATORS: repo is the name of a repository desc = self.transaction.gettext( "Available sources from %s") % repo elif item.shortdesc == "TranslationIndex": #TRANSLATORS: repo is the name of a repository desc = self.transaction.gettext("Available translations from " "%s") % repo elif item.shortdesc.startswith("Translation-"): lang_code = item.shortdesc.split("-", 1)[-1] try: lang_code, region_code = lang_code.split("_") except ValueError: region_code = None lang = self.languages.get_localised_name(lang_code, self.transaction.locale) region = self.regions.get_localised_name(region_code, self.transaction.locale) if lang and region: #TRANSLATORS: The first %s is the name of a language. The # second one the name of the region/country. Th # third %s is the name of the repository desc = self.transaction.gettext( "Translations for %s (%s) from %s") % (lang, region, repo) elif lang: #TRANSLATORS: %s is the name of a language. The second one is # the name of the repository desc = self.transaction.gettext("Translations for %s from " "%s") % (lang, repo) else: #TRANSLATORS: %s is the code of a language, e.g. ru_RU. # The second one is the name of the repository desc = self.transaction.gettext("Translations (%s) from " "%s") % (lang_code, repo) else: desc = item.shortdesc self.transaction.progress_download = ( item.uri, status, desc, total_size | item.owner.filesize, current_size | item.owner.partialsize, msg) class DaemonForkProgress(object): """Forks and executes a given method in the child process while monitoring the output and return state. During the run() call the mainloop will be iterated. Furthermore a status file descriptor is available to communicate with the child process. """ def __init__(self, transaction, begin=50, end=100): self.transaction = transaction self.status = "" self.progress = 0 self.progress_begin = begin self.progress_end = end self._child_exit = -1 self.last_activity = 0 self.child_pid = 0 self.status_parent_fd, self.status_child_fd = os.pipe() self.output = "" self._line_buffer = "" def __enter__(self): self.start_update() return self def __exit__(self, etype, evalue, etb): self.finish_update() def start_update(self): log.debug("Start update") self.transaction.status = enums.STATUS_COMMITTING self.transaction.term_attached = True self.last_activity = time.time() self.start_time = time.time() def finish_update(self): """Callback at the end of the operation""" self.transaction.term_attached = False def _child(self, method, *args): """Call the given method or function with the corrsponding arguments in the child process. This method should be replace in subclasses. """ method(*args) time.sleep(0.5) os._exit(0) def run(self, *args, **kwargs): """Setup monitoring, fork and call the self._child() method in the child process with the given arguments. """ log.debug("Run") terminal_fd = None if self.transaction.terminal: try: # Save the settings of the transaction terminal and set to # raw mode terminal_fd = os.open(self.transaction.terminal, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK) terminal_attr = termios.tcgetattr(terminal_fd) tty.setraw(terminal_fd, termios.TCSANOW) except (OSError, termios.error): # Switch to non-interactive self.transaction.terminal = "" pid = self._fork() if pid == 0: os.close(self.status_parent_fd) try: self._setup_child() self._child(*args, **kwargs) except Exception: traceback.print_exc() finally: # Give the parent process enough time to catch the output time.sleep(1) # Abort the subprocess immediatelly on any unhandled # failure - otherwise the atexit methods would # be called, e.g. the frozen status decorator os._exit(apt_pkg.PackageManager.RESULT_FAILED) else: self.child_pid = pid os.close(self.status_child_fd) log.debug("Child pid: %s", pid) watchers = [] flags = GLib.IO_IN | GLib.IO_ERR | GLib.IO_HUP if self.transaction.terminal: # Setup copying of i/o between the controlling terminals watchers.append(GLib.io_add_watch(terminal_fd, GLib.PRIORITY_HIGH_IDLE, flags, self._copy_io)) watchers.append(GLib.io_add_watch(self.master_fd, GLib.PRIORITY_HIGH_IDLE, flags, self._copy_io_master, terminal_fd)) # Monitor the child process watchers.append( GLib.child_watch_add(GLib.PRIORITY_HIGH_IDLE, pid, self._on_child_exit)) # Watch for status updates watchers.append(GLib.io_add_watch(self.status_parent_fd, GLib.PRIORITY_HIGH_IDLE, GLib.IO_IN, self._on_status_update)) while self._child_exit == -1: GLib.main_context_default().iteration() for id in watchers: GLib.source_remove(id) # Restore the settings of the transaction terminal if terminal_fd: try: termios.tcsetattr(terminal_fd, termios.TCSADRAIN, terminal_attr) except termios.error: pass # Make sure all file descriptors are closed for fd in [self.master_fd, self.status_parent_fd, terminal_fd]: try: os.close(fd) except (OSError, TypeError): pass return os.WEXITSTATUS(self._child_exit) def _on_child_exit(self, pid, condition): log.debug("Child exited: %s", condition) self._child_exit = condition return False def _on_status_update(self, source, condition): """Callback for changes on the status file descriptor. The method has to return True to keep the monitoring alive. If it returns False the monitoring will stop. Replace this method in your subclass if you use the status fd. """ return False def _fork(self): """Fork and create a master/slave pty pair by which the forked process can be controlled. """ pid, self.master_fd = os.forkpty() return pid def _setup_child(self): """Setup the environemnt of the child process.""" def interrupt_handler(signum, frame): # Exit the child immediately if we receive the interrupt # signal or a Ctrl+C - otherwise the atexit methods would # be called, e.g. the frozen status decorator os._exit(apt_pkg.PackageManager.RESULT_FAILED) signal.signal(signal.SIGINT, interrupt_handler) # Make sure that exceptions of the child are not catched by apport sys.excepthook = sys.__excepthook__ mainloop.quit() # force terminal messages in dpkg to be untranslated, the # status-fd or debconf prompts will not be affected os.environ["DPKG_UNTRANSLATED_MESSAGES"] = "1" # We also want untranslated status messages from apt locale.setlocale(locale.LC_ALL, "C") # Switch to the language of the user if self.transaction.locale: os.putenv("LANG", self.transaction.locale) # Either connect to the controllong terminal or switch to # non-interactive mode if not self.transaction.terminal: # FIXME: we should check for "mail" or "gnome" here # and not unset in this case os.putenv("APT_LISTCHANGES_FRONTEND", "none") os.putenv("APT_LISTBUGS_FRONTEND", "none") else: os.putenv("TERM", "linux") # Run debconf through a proxy if available if self.transaction.debconf: os.putenv("DEBCONF_PIPE", self.transaction.debconf) os.putenv("DEBIAN_FRONTEND", "passthrough") if log.level == logging.DEBUG: os.putenv("DEBCONF_DEBUG", ".") elif not self.transaction.terminal: os.putenv("DEBIAN_FRONTEND", "noninteractive") # Proxy configuration if self.transaction.http_proxy: apt_pkg.config.set("Acquire::http::Proxy", self.transaction.http_proxy) # Mark changes as being make by aptdaemon cmd = "aptdaemon role='%s' sender='%s'" % (self.transaction.role, self.transaction.sender) apt_pkg.config.set("CommandLine::AsString", cmd) def _copy_io_master(self, source, condition, target): if condition == GLib.IO_IN: self.last_activity = time.time() try: char_byte = os.read(source, 1) except OSError: log.debug("Faild to read from master") return True # Write all the output from dpkg to a log char = char_byte.decode("UTF-8", "ignore") if char == "\n": # Skip ANSI characters from the console output line = re.sub(REGEX_ANSI_ESCAPE_CODE, "", self._line_buffer) if line: log_terminal.debug(line) self.output += line + "\n" self._line_buffer = "" else: self._line_buffer += char if target: try: os.write(target, char_byte) except OSError: log.debug("Failed to write to controlling terminal") return True try: os.close(source) except OSError: # Could already be closed by the clean up in run() pass return False def _copy_io(self, source, condition): if condition == GLib.IO_IN: try: char = os.read(source, 1) os.write(self.master_fd, char) except OSError: pass else: # Detect config file prompt answers on the console if (self.transaction.paused and self.transaction.config_file_conflict): self.transaction.config_file_conflict_resolution = None self.transaction.paused = False return True os.close(source) return False class DaemonLintianProgress(DaemonForkProgress): """Performs a lintian call.""" def _child(self, path): # Avoid running lintian as root os.setuid(self.transaction.uid) if platform.dist()[1] == "debian": profile = "debian/aptdaemon" else: profile = "ubuntu/aptdaemon" # If HOME isn't set lintian won't try to load user profiles os.unsetenv("HOME") lintian_path = apt_pkg.config.find_file("Dir::Bin::Lintian", "/usr/bin/lintian") os.execlp(lintian_path, lintian_path, "--no-cfg", "--fail-on-warnings", "--profile", profile, path) os._exit(1) class DaemonInstallProgress(DaemonForkProgress): """Progress to execute APT package operations in a child process.""" def start_update(self): DaemonForkProgress.start_update(self) lock.status_lock.release() def finish_update(self): """Callback at the end of the operation""" DaemonForkProgress.finish_update(self) lock.wait_for_lock(self.transaction, lock.status_lock) def _child(self, pm): try: res = pm.do_install(self.status_child_fd) except: os._exit(apt_pkg.PackageManager.RESULT_FAILED) else: os._exit(res) def _on_status_update(self, source, condition): """Parse messages from APT on the status fd.""" log.debug("UpdateInterface") status_msg = "" try: while not status_msg.endswith("\n"): self.last_activity = time.time() status_msg += os.read(source, 1).decode("UTF-8", "ignore") except: return False try: (status, pkg, percent, message_raw) = status_msg.split(":", 3) except ValueError: # silently ignore lines that can't be parsed return True message = message_raw.strip() #print "percent: %s %s" % (pkg, float(percent)/100.0) if status == "pmerror": self._error(pkg, message) elif status == "pmconffile": # we get a string like this: # 'current-conffile' 'new-conffile' useredited distedited match = re.match("\s*\'(.*)\'\s*\'(.*)\'.*", message_raw) if match: new, old = match.group(1), match.group(2) self._conffile(new, old) elif status == "pmstatus": if message.startswith("Installing"): status_enum = enums.PKG_INSTALLING elif message.startswith("Installed"): status_enum = enums.PKG_INSTALLED elif message.startswith("Configuring"): status_enum = enums.PKG_CONFIGURING elif message.startswith("Preparing to configure"): status_enum = enums.PKG_PREPARING_CONFIGURE elif message.startswith("Preparing for removal of"): status_enum = enums.PKG_PREPARING_REMOVE elif message.startswith("Removing"): status_enum = enums.PKG_REMOVING elif message.startswith("Removed"): status_enum = enums.PKG_REMOVED elif message.startswith("Preparing to completely remove"): status_enum = enums.PKG_PREPARING_PURGE elif message.startswith("Completely removing"): status_enum = enums.PKG_PURGING elif message.startswith("Completely removed"): status_enum = enums.PKG_PURGED elif message.startswith("Unpacking"): status_enum = enums.PKG_UNPACKING elif message.startswith("Preparing"): status_enum = enums.PKG_PREPARING_INSTALL elif message.startswith("Noting disappearance of"): status_enum = enums.PKG_DISAPPEARING elif message.startswith("Running"): status_enum = enums.PKG_RUNNING_TRIGGER else: status_enum = enums.PKG_UNKNOWN self._status_changed(pkg, float(percent), status_enum) # catch a time out by sending crtl+c if (self.last_activity + INSTALL_TIMEOUT < time.time() and self.child_pid): log.critical("Killing child since timeout of %s s", INSTALL_TIMEOUT) os.kill(self.child_pid, 15) return True def _status_changed(self, pkg, percent, status_enum): """Callback to update status information""" log.debug("APT status: %s, %s, %s", pkg, percent, status_enum) progress = self.progress_begin + percent / 100 * (self.progress_end - self.progress_begin) if self.progress < progress: self.transaction.progress = int(progress) self.progress = progress # We use untranslated messages from apt. # So convert them to an enum to allow translations, see LP #641262 # The strings are taken from apt-pkg/deb/dpkgpm.cc desc = enums.get_package_status_from_enum(status_enum) msg = self.transaction.gettext(desc) % pkg self.transaction.status_details = msg self.transaction.progress_package = (pkg, status_enum) def _conffile(self, current, new): """Callback for a config file conflict""" log.warning("Config file prompt: '%s' (%s)" % (current, new)) self.transaction.config_file_conflict = (current, new) self.transaction.paused = True self.transaction.status = enums.STATUS_WAITING_CONFIG_FILE_PROMPT while self.transaction.paused: GLib.main_context_default().iteration() log.debug("Sending config file answer: %s", self.transaction.config_file_conflict_resolution) if self.transaction.config_file_conflict_resolution == "replace": os.write(self.master_fd, b"y\n") elif self.transaction.config_file_conflict_resolution == "keep": os.write(self.master_fd, b"n\n") self.transaction.config_file_conflict_resolution = None self.transaction.config_file_conflict = None self.transaction.status = enums.STATUS_COMMITTING return True def _error(self, pkg, msg): """Callback for an error""" log.critical("%s: %s" % (pkg, msg)) class DaemonDpkgInstallProgress(DaemonInstallProgress): """Progress handler for a local Debian package installation.""" def __init__(self, transaction, begin=101, end=101): DaemonInstallProgress.__init__(self, transaction, begin, end) def _child(self, debfile): args = [apt_pkg.config["Dir::Bin::DPkg"], "--status-fd", str(self.status_child_fd)] args.extend(apt_pkg.config.value_list("DPkg::Options")) if not self.transaction.terminal: args.extend(["--force-confdef", "--force-confold"]) args.extend(["-i", debfile]) os.execlp(apt_pkg.config["Dir::Bin::DPkg"], *args) def _on_status_update(self, source, condition): log.debug("UpdateInterface") status_raw = "" try: while not status_raw.endswith("\n"): status_raw += os.read(source, 1).decode("UTF-8", "ignore") except: return False try: status = [s.strip() for s in status_raw.split(":", 3)] except ValueError: # silently ignore lines that can't be parsed return True # Parse the status message. It can be of the following types: # - "status: PACKAGE: STATUS" # - "status: PACKAGE: error: MESSAGE" # - "status: FILE: conffile: 'OLD' 'NEW' useredited distedited" # - "processing: STAGE: PACKAGE" with STAGE is one of upgrade, # install, configure, trigproc, remove, purge if status[0] == "status": #FIXME: Handle STATUS if status[2] == "error": self._error(status[1], status[3]) elif status[2] == "conffile": match = re.match("\s*\'(.*)\'\s*\'(.*)\'.*", status[3]) if match: new, old = match.group(1), match.group(2) self._conffile(new, old) elif status[0] == "processing": try: status_enum = MAP_DPKG_STAGE[status[1]] except KeyError: status_enum = enums.PKG_UNKONWN self._status_changed(status[2], 101, status_enum) return True class DaemonDpkgRecoverProgress(DaemonDpkgInstallProgress): """Progress handler for dpkg --confiure -a call.""" def _child(self): args = [apt_pkg.config["Dir::Bin::Dpkg"], "--status-fd", str(self.status_child_fd), "--configure", "-a"] args.extend(apt_pkg.config.value_list("Dpkg::Options")) if not self.transaction.terminal: args.extend(["--force-confdef", "--force-confold"]) os.execlp(apt_pkg.config["Dir::Bin::DPkg"], *args) class DaemonDpkgReconfigureProgress(DaemonDpkgInstallProgress): """Progress handler for dpkg-reconfigure call.""" def _child(self, packages, priority, ): args = ["/usr/sbin/dpkg-reconfigure"] if priority != "default": args.extend(["--priority", priority]) args.extend(packages) os.execlp("/usr/sbin/dpkg-reconfigure", *args) # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/test.py0000644000175000017500000002760712201760213017547 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Small helpers for the test suite.""" # Copyright (C) 2011 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Licensed under the GNU General Public License Version 2 __author__ = "Sebastian Heinlein " __all__ = ("get_tests_dir", "Chroot", "AptDaemonTestCase") import inspect import os import shutil import subprocess import sys import time import tempfile import unittest if sys.version_info.major > 2: from http.server import HTTPServer from http.server import SimpleHTTPRequestHandler as HTTPRequestHandler else: from BaseHTTPServer import HTTPServer from SimpleHTTPServer import SimpleHTTPRequestHandler as HTTPRequestHandler import apt_pkg import apt.auth PY3K = sys.version_info.major > 2 class MockQueue(object): """A fake TransactionQueue which only provides a limbo attribute.""" def __init__(self): self.limbo = {} class Chroot(object): """Provides a chroot which can be used by APT.""" def __init__(self, prefix="tmp"): self.path = tempfile.mkdtemp(prefix) def setup(self): """Setup the chroot and modify the apt configuration.""" for subdir in ["alternatives", "info", "parts", "updates", "triggers"]: path = os.path.join(self.path, "var", "lib", "dpkg", subdir) os.makedirs(path) for fname in ["status", "available"]: with open(os.path.join(self.path, "var", "lib", "dpkg", fname), "w"): pass os.makedirs(os.path.join(self.path, "var/cache/apt/archives/partial")) os.makedirs(os.path.join(self.path, "var/lib/apt/lists")) os.makedirs(os.path.join(self.path, "var/lib/apt/lists/partial")) os.makedirs(os.path.join(self.path, "etc/apt/apt.conf.d")) os.makedirs(os.path.join(self.path, "etc/apt/sources.list.d")) os.makedirs(os.path.join(self.path, "etc/apt/preferences.d")) os.makedirs(os.path.join(self.path, "var/log")) os.makedirs(os.path.join(self.path, "media")) # Make apt use the new chroot dpkg_wrapper = os.path.join(get_tests_dir(), "dpkg-wrapper.sh") apt_key_wrapper = os.path.join(get_tests_dir(), "fakeroot-apt-key") config_path = os.path.join(self.path, "etc/apt/apt.conf.d/10chroot") with open(config_path, "w") as cnf: cnf.write("Dir::Bin::DPkg %s;" % dpkg_wrapper) cnf.write("Dir::Bin::Apt-Key %s;" % apt_key_wrapper) apt_pkg.read_config_file(apt_pkg.config, config_path) apt_pkg.init_system() apt_pkg.config["Dir"] = self.path def remove(self): """Remove the files of the chroot.""" apt_pkg.config.clear("Dir") apt_pkg.config.clear("Dir::State::Status") apt_pkg.init() shutil.rmtree(self.path) def add_trusted_key(self): """Add glatzor's key to the trusted ones.""" apt.auth.add_key_from_file(os.path.join(get_tests_dir(), "repo/glatzor.gpg")) def install_debfile(self, path, force_depends=False): """Install a package file into the chroot.""" cmd_list = ["fakeroot", "dpkg", "--root", self.path, "--log=%s/var/log/dpkg.log" % self.path] if force_depends: cmd_list.append("--force-depends") cmd_list.extend(["--install", path]) cmd = subprocess.Popen(cmd_list, env={"PATH": "/sbin:/bin:/usr/bin:/usr/sbin"}) cmd.communicate() def add_test_repository(self, copy_list=True, copy_sig=True): """Add the test repository to the to the chroot.""" return self.add_repository(os.path.join(get_tests_dir(), "repo"), copy_list, copy_sig) def add_cdrom_repository(self): """Emulate a repository on removable device.""" # Create the content of a fake cdrom media_path = os.path.join(self.path, "tmp/fake-cdrom") # The cdom gets identified by the info file os.makedirs(os.path.join(media_path, ".disk")) with open(os.path.join(media_path, ".disk/info"), "w") as info: info.write("This is a fake CDROM") # Copy the test repository "on" the cdrom shutil.copytree(os.path.join(get_tests_dir(), "repo"), os.path.join(media_path, "repo")) # Call apt-cdrom add mount_point = self.mount_cdrom() os.system("apt-cdrom add -m -d %s " "-o 'Debug::Acquire::cdrom'=True " "-o 'Acquire::cdrom::AutoDetect'=False " "-o 'Dir'=%s" % (mount_point, self.path)) self.unmount_cdrom() config_path = os.path.join(self.path, "etc/apt/apt.conf.d/11cdrom") with open(config_path, "w") as cnf: cnf.write('Debug::Acquire::cdrom True;\n' 'Acquire::cdrom::AutoDetect False;\n' 'Acquire::cdrom::NoMount True;\n' 'Acquire::cdrom::mount "%s";' % mount_point) def mount_cdrom(self): """Copy the repo information to the CDROM mount point.""" mount_point = os.path.join(self.path, "media/cdrom") os.symlink(os.path.join(self.path, "tmp/fake-cdrom"), mount_point) return mount_point def unmount_cdrom(self): """Remove all files from the mount point.""" os.unlink(os.path.join(self.path, "media/cdrom")) def add_repository(self, path, copy_list=True, copy_sig=True): """Add a sources.list entry to the chroot.""" # Add a sources list lst_path = os.path.join(self.path, "etc/apt/sources.list") with open(lst_path, "w") as lst_file: lst_file.write("deb file://%s ./ # Test repository" % path) if copy_list: filename = apt_pkg.uri_to_filename("file://%s/." % path) shutil.copy(os.path.join(path, "Packages"), "%s/var/lib/apt/lists/%s_Packages" % (self.path, filename)) if os.path.exists(os.path.join(path, "Release")): shutil.copy(os.path.join(path, "Release"), "%s/var/lib/apt/lists/%s_Release" % (self.path, filename)) if copy_sig and os.path.exists(os.path.join(path, "Release.gpg")): shutil.copy(os.path.join(path, "Release.gpg"), "%s/var/lib/apt/lists/%s_Release.gpg" % (self.path, filename)) class AptDaemonTestCase(unittest.TestCase): @classmethod def setupClass(cls): # Start with a clean APT configuration to remove changes # of previous tests for key in set([key.split("::")[0] for key in apt_pkg.config.keys()]): apt_pkg.config.clear(key) apt_pkg.init_config() def start_fake_polkitd(self, options="all"): """Start a fake PolicyKit daemon. :param allowed_actions: comma separated list of allowed actions. Defaults to all """ try: env = os.environ.copy() env["DBUS_SYSTEM_BUS_ADDRESS"] = self.dbus_address except AttributeError: env = None dir = get_tests_dir() proc = subprocess.Popen([os.path.join(dir, "fake-polkitd.py"), "--allowed-actions", options], env=env) self.addCleanup(self._kill_process, proc) return proc def start_session_aptd(self, chroot="/", debug=True): """Start an aptdaemon which listens on the session D-Bus. :param chroot: path to the chroot """ env = os.environ.copy() try: env["DBUS_SYSTEM_BUS_ADDRESS"] = self.dbus_address except AttributeError: pass try: env.pop("http_proxy") # Unset a local proxy, see LP #1050799 except KeyError: pass dir = get_tests_dir() if dir == "/usr/share/aptdaemon/tests": path = "/usr/sbin/aptd" else: path = os.path.join(dir, "../aptd") cmd = ["python3", path, "--disable-timeout", "--disable-plugins", "--chroot", chroot] if debug: cmd.append("--debug") proc = subprocess.Popen(cmd, env=env) self.addCleanup(self._kill_process, proc) return proc def start_dbus_daemon(self): """Start a private D-Bus daemon and return its process and address.""" proc, dbus_address = start_dbus_daemon() self.addCleanup(self._kill_process, proc) self.dbus_address = dbus_address def start_keyserver(self, filename=None): """Start a fake keyserver on hkp://localhost:19191 Keyword arguments: filename -- Optional path to a GnuPG pulic key file which should be returned by lookups. By default the key of the test repo is used. """ dir = tempfile.mkdtemp(prefix="keyserver-test-") self.addCleanup(shutil.rmtree, dir) os.mkdir(os.path.join(dir, "pks")) if filename is None: filename = os.path.join(get_tests_dir(), "repo/glatzor.gpg") shutil.copy(filename, os.path.join(dir, "pks", "lookup")) pid = os.fork() if pid == 0: # quiesce server log os.dup2(os.open('/dev/null', os.O_WRONLY), sys.stderr.fileno()) os.chdir(dir) httpd = HTTPServer(('localhost', 19191), HTTPRequestHandler) httpd.serve_forever() os._exit(0) else: self.addCleanup(self._kill_pid, pid) # wait a bit until server is ready time.sleep(0.5) def _kill_pid(self, pid): os.kill(pid, 15) os.wait() def _kill_process(self, proc): proc.kill() proc.wait() def get_tests_dir(): """Return the absolute path to the tests directory.""" # Try to detect a relative tests dir if we are running from the source # directory try: path = inspect.getsourcefile(sys.modules["aptdaemon.test"]) except KeyError: path = inspect.getsourcefile(inspect.currentframe()) path = os.path.realpath(path) relative_path = os.path.join(os.path.dirname(path), "../tests") if os.path.exists(os.path.join(relative_path, "repo/Packages")): return os.path.normpath(relative_path) # Fallback to an absolute path elif os.path.exists("/usr/share/aptdaemon/tests/repo/Packages"): return "/usr/share/aptdaemon/tests" else: raise Exception("Could not find tests direcotry") def start_dbus_daemon(): """Start a private D-Bus daemon and return its process and address.""" config_path = os.path.join(get_tests_dir(), "dbus.conf") proc = subprocess.Popen(["dbus-daemon", "--nofork", "--print-address", "--config-file", config_path], stdout=subprocess.PIPE) output = proc.stdout.readline().strip() if PY3K: dbus_address = output.decode() else: dbus_address = output return proc, dbus_address # vim: ts=4 et sts=4 aptdaemon-1.1.1/aptdaemon/__init__.py0000644000175000017500000000222312202062652020315 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Transaction based daemon and clients for package management tasks.""" # Copyright (C) 2008-2009 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __state__ = "development" __version__ = '1.1.1' __all__ = ("client", "console", "core", "debconf", "defer", "enums", "errors", "gtkwidgets", "loop", "policykit1", "progress", "test", "utils", "worker") # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/enums.py0000644000175000017500000010051612201760213017706 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """enums - Enumerates for apt daemon dbus messages""" # Copyright (C) 2008-2009 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __all__ = ("PKGS_INSTALL", "PKGS_REINSTALL", "PKGS_REMOVE", "PKGS_PURGE", "PKGS_UPGRADE", "PKGS_DOWNGRADE", "PKGS_KEEP", "EXIT_SUCCESS", "EXIT_CANCELLED", "EXIT_FAILED", "EXIT_UNFINISHED", "ERROR_PACKAGE_DOWNLOAD_FAILED", "ERROR_REPO_DOWNLOAD_FAILED", "ERROR_DEP_RESOLUTION_FAILED", "ERROR_KEY_NOT_INSTALLED", "ERROR_KEY_NOT_REMOVED", "ERROR_NO_LOCK", "ERROR_NO_CACHE", "ERROR_NO_PACKAGE", "ERROR_PACKAGE_UPTODATE", "ERROR_PACKAGE_NOT_INSTALLED", "ERROR_PACKAGE_ALREADY_INSTALLED", "ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE", "ERROR_DAEMON_DIED", "ERROR_PACKAGE_MANAGER_FAILED", "ERROR_CACHE_BROKEN", "ERROR_PACKAGE_UNAUTHENTICATED", "ERROR_INCOMPLETE_INSTALL", "ERROR_UNREADABLE_PACKAGE_FILE", "ERROR_INVALID_PACKAGE_FILE", "ERROR_SYSTEM_ALREADY_UPTODATE", "ERROR_NOT_SUPPORTED", "ERROR_LICENSE_KEY_INSTALL_FAILED", "ERROR_LICENSE_KEY_DOWNLOAD_FAILED", "ERROR_AUTH_FAILED", "ERROR_NOT_AUTHORIZED", "ERROR_UNKNOWN", "STATUS_SETTING_UP", "STATUS_WAITING", "STATUS_WAITING_MEDIUM", "STATUS_WAITING_CONFIG_FILE_PROMPT", "STATUS_WAITING_LOCK", "STATUS_RUNNING", "STATUS_LOADING_CACHE", "STATUS_DOWNLOADING", "STATUS_COMMITTING", "STATUS_CLEANING_UP", "STATUS_RESOLVING_DEP", "STATUS_FINISHED", "STATUS_CANCELLING", "STATUS_QUERY", "STATUS_DOWNLOADING_REPO", "STATUS_AUTHENTICATING", "ROLE_UNSET", "ROLE_INSTALL_PACKAGES", "ROLE_INSTALL_FILE", "ROLE_UPGRADE_PACKAGES", "ROLE_UPGRADE_SYSTEM", "ROLE_UPDATE_CACHE", "ROLE_REMOVE_PACKAGES", "ROLE_COMMIT_PACKAGES", "ROLE_ADD_VENDOR_KEY_FILE", "ROLE_ADD_VENDOR_KEY_FROM_KEYSERVER", "ROLE_REMOVE_VENDOR_KEY", "ROLE_FIX_INCOMPLETE_INSTALL", "ROLE_FIX_BROKEN_DEPENDS", "ROLE_ADD_REPOSITORY", "ROLE_ENABLE_DISTRO_COMP", "ROLE_CLEAN", "ROLE_RECONFIGURE", "ROLE_PK_QUERY", "ROLE_ADD_LICENSE_KEY", "DOWNLOAD_DONE", "DOWNLOAD_AUTH_ERROR", "DOWNLOAD_ERROR", "DOWNLOAD_FETCHING", "DOWNLOAD_IDLE", "DOWNLOAD_NETWORK_ERROR", "PKG_INSTALLING", "PKG_CONFIGURING", "PKG_REMOVING", "PKG_PURGING", "PKG_UPGRADING", "PKG_RUNNING_TRIGGER", "PKG_DISAPPEARING", "PKG_PREPARING_REMOVE", "PKG_PREPARING_INSTALL", "PKG_PREPARING_PURGE", "PKG_PREPARING_PURGE", "PKG_INSTALLED", "PKG_REMOVED", "PKG_PURGED", "PKG_UNPACKING", "PKG_UNKNOWN", "get_status_icon_name_from_enum", "get_role_icon_name_from_enum", "get_status_animation_name_from_enum", "get_package_status_from_enum", "get_role_localised_past_from_enum", "get_exit_string_from_enum", "get_role_localised_present_from_enum", "get_role_error_from_enum", "get_error_description_from_enum", "get_error_string_from_enum", "get_status_string_from_enum", "get_download_status_from_enum") import gettext def _(msg): return gettext.dgettext("aptdaemon", msg) # PACKAGE GROUP INDEXES #: Index of the list of to be installed packages in the :attr:`dependencies` #: and :attr:`packages` property of :class:`~aptdaemon.client.AptTransaction`. PKGS_INSTALL = 0 #: Index of the list of to be re-installed packages in the :attr:`dependencies` #: and :attr:`packages` property of :class:`~aptdaemon.client.AptTransaction`. PKGS_REINSTALL = 1 #: Index of the list of to be removed packages in the :attr:`dependencies` #: and :attr:`packages` property of :class:`~aptdaemon.client.AptTransaction`. PKGS_REMOVE = 2 #: Index of the list of to be purged packages in the :attr:`dependencies` #: and :attr:`packages` property of :class:`~aptdaemon.client.AptTransaction`. PKGS_PURGE = 3 #: Index of the list of to be upgraded packages in the :attr:`dependencies` #: and :attr:`packages` property of :class:`~aptdaemon.client.AptTransaction`. PKGS_UPGRADE = 4 #: Index of the list of to be downgraded packages in the :attr:`dependencies` #: and :attr:`packages` property of :class:`~aptdaemon.client.AptTransaction`. PKGS_DOWNGRADE = 5 #: Index of the list of to be keept packages in the :attr:`dependencies` #: property of :class:`~aptdaemon.client.AptTransaction`. PKGS_KEEP = 6 # FINISH STATES #: The transaction was successful. EXIT_SUCCESS = "exit-success" #: The transaction has been cancelled by the user. EXIT_CANCELLED = "exit-cancelled" #: The transaction has failed. EXIT_FAILED = "exit-failed" #: The transaction failed since a previous one in a chain failed. EXIT_PREVIOUS_FAILED = "exit-previous-failed" #: The transaction is still being queued or processed. EXIT_UNFINISHED = "exit-unfinished" # ERROR CODES #: Failed to download package files which should be installed. ERROR_PACKAGE_DOWNLOAD_FAILED = "error-package-download-failed" #: Failed to download package information (index files) from the repositories ERROR_REPO_DOWNLOAD_FAILED = "error-repo-download-failed" #: Failed to satisfy the dependencies or conflicts of packages. ERROR_DEP_RESOLUTION_FAILED = "error-dep-resolution-failed" #: The requested vendor key is not installed. ERROR_KEY_NOT_INSTALLED = "error-key-not-installed" #: The requested vendor could not be removed. ERROR_KEY_NOT_REMOVED = "error-key-not-removed" #: The package management system could not be locked. Eventually another #: package manager is running. ERROR_NO_LOCK = "error-no-lock" #: The package cache could not be opened. This indicates a serious problem #: on the system. ERROR_NO_CACHE = "error-no-cache" #: The requested package is not available. ERROR_NO_PACKAGE = "error-no-package" #: The package could not be upgraded since it is already up-to-date. ERROR_PACKAGE_UPTODATE = "error-package-uptodate" #: The package which was requested to install is already installed. ERROR_PACKAGE_ALREADY_INSTALLED = "error-package-already-installed" #: The package could not be removed since it is not installed. ERROR_PACKAGE_NOT_INSTALLED = "error-package-not-installed" #: It is not allowed to remove an essential system package. ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE = "error-not-remove-essential" #: The aptdaemon crashed or could not be connected to on the D-Bus. ERROR_DAEMON_DIED = "error-daemon-died" #: On of the maintainer scripts during the dpkg call failed. ERROR_PACKAGE_MANAGER_FAILED = "error-package-manager-failed" #: There are packages with broken dependencies installed on the system. #: This has to fixed before performing another transaction. ERROR_CACHE_BROKEN = "error-cache-broken" #: It is not allowed to install an unauthenticated packages. Packages are #: authenticated by installing the vendor key. ERROR_PACKAGE_UNAUTHENTICATED = "error-package-unauthenticated" #: A previous installation has been aborted and is now incomplete. #: Should be fixed by `dpkg --configure -a` or the :func:`FixIncomplete()` #: transaction. ERROR_INCOMPLETE_INSTALL = "error-incomplete-install" #: Failed to open and read the package file ERROR_UNREADABLE_PACKAGE_FILE = "error-unreadable-package-file" #: The package file violates the Debian/Ubuntu policy ERROR_INVALID_PACKAGE_FILE = "error-invalid-package-file" #: The requested feature is not supported yet (mainly used by PackageKit ERROR_NOT_SUPPORTED = "error-not-supported" #: The license key download failed ERROR_LICENSE_KEY_DOWNLOAD_FAILED = "error-license-key-download-failed" #: The license key is invalid ERROR_LICENSE_KEY_INSTALL_FAILED = "error-license-key-install-failed" #: The system is already up-to-date and don't needs any upgrades ERROR_SYSTEM_ALREADY_UPTODATE = "error-system-already-uptodate" #: The user isn't allowed to perform the action at all ERROR_NOT_AUTHORIZED = "error-not-authorized" #: The user could not be authorized (e.g. wrong password) ERROR_AUTH_FAILED = "error-auth-failed" #: An unknown error occured. In most cases these are programming ones. ERROR_UNKNOWN = "error-unknown" # TRANSACTION STATES #: The transaction was created, but hasn't been queued. STATUS_SETTING_UP = "status-setting-up" #: The transaction performs a query STATUS_QUERY = "status-query" #: The transaction is waiting in the queue. STATUS_WAITING = "status-waiting" #: The transaction is paused and waits until a required medium is inserted. #: See :func:`ProvideMedium()`. STATUS_WAITING_MEDIUM = "status-waiting-medium" #: The transaction is paused and waits for the user to resolve a configuration #: file conflict. See :func:`ResolveConfigFileConflict()`. STATUS_WAITING_CONFIG_FILE_PROMPT = "status-waiting-config-file-prompt" #: Wait until the package management system can be locked. Most likely #: another package manager is running currently. STATUS_WAITING_LOCK = "status-waiting-lock" #: The processing of the transaction has started. STATUS_RUNNING = "status-running" #: The package cache is opened. STATUS_LOADING_CACHE = "status-loading-cache" #: The information about available packages is downloaded STATUS_DOWNLOADING_REPO = "status-downloading-repo" #: The required package files to install are getting downloaded. STATUS_DOWNLOADING = "status-downloading" #: The actual installation/removal takes place. STATUS_COMMITTING = "status-committing" #: The package management system is cleaned up. STATUS_CLEANING_UP = "status-cleaning-up" #: The dependecies and conflicts are now getting resolved. STATUS_RESOLVING_DEP = "status-resolving-dep" #: The transaction has been completed. STATUS_FINISHED = "status-finished" #: The transaction has been cancelled. STATUS_CANCELLING = "status-cancelling" #: The transaction waits for authentication STATUS_AUTHENTICATING = "status-authenticating" # PACKAGE STATES #: The package gets unpacked PKG_UNPACKING = "pkg-unpacking" #: The installation of the package gets prepared PKG_PREPARING_INSTALL = "pkg-preparing-install" #: The package is installed PKG_INSTALLED = "pkg-installed" #: The package gets installed PKG_INSTALLING = "pkg-installing" #: The configuration of the package gets prepared PKG_PREPARING_CONFIGURE = "pkg-preparing-configure" #: The package gets configured PKG_CONFIGURING = "pkg-configuring" #: The removal of the package gets prepared PKG_PREPARING_REMOVE = "pkg-preparing-removal" #: The package gets removed PKG_REMOVING = "pkg-removing" #: The package is removed PKG_REMOVED = "pkg-removed" #: The purging of the package gets prepared PKG_PREPARING_PURGE = "pkg-preparing-purge" #: The package gets purged PKG_PURGING = "pkg-purging" #: The package was completely removed PKG_PURGED = "pkg-purged" #: The post installation trigger of the package is processed PKG_RUNNING_TRIGGER = "pkg-running-trigger" #: The package disappered - very rare PKG_DISAPPEARING = "pkg-disappearing" #: The package gets upgraded PKG_UPGRADING = "pkg-upgrading" #: Failed to get a current status of the package PKG_UNKNOWN = "pkg-unknown" # TRANSACTION ROLES #: The role of the transaction has not been specified yet. ROLE_UNSET = "role-unset" #: The transaction performs a query compatible to the PackageKit interface ROLE_PK_QUERY = "role-pk-query" #: The transaction will install one or more packages. ROLE_INSTALL_PACKAGES = "role-install-packages" #: The transaction will install a local package file. ROLE_INSTALL_FILE = "role-install-file" #: The transaction will upgrade one or more packages. ROLE_UPGRADE_PACKAGES = "role-upgrade-packages" #: The transaction will perform a system upgrade. ROLE_UPGRADE_SYSTEM = "role-upgrade-system" #: The transaction will update the package cache. ROLE_UPDATE_CACHE = "role-update-cache" #: The transaction will remove one or more packages. ROLE_REMOVE_PACKAGES = "role-remove-packages" #: The transaction will perform a combined install, remove, upgrade or #: downgrade action. ROLE_COMMIT_PACKAGES = "role-commit-packages" #: The transaction will add a local vendor key file to authenticate packages. ROLE_ADD_VENDOR_KEY_FILE = "role-add-vendor-key-file" #: The transaction will download vendor key to authenticate packages from #: a keyserver. ROLE_ADD_VENDOR_KEY_FROM_KEYSERVER = "role-add-vendor-key-from-keyserver" #: The transaction will remove a vendor key which was used to authenticate #: packages. ROLE_REMOVE_VENDOR_KEY = "role-remove-vendor-key" #: The transaction will try to finish a previous aborted installation. ROLE_FIX_INCOMPLETE_INSTALL = "role-fix-incomplete-install" #: The transaction will to resolve broken dependencies of already installed #: packages. ROLE_FIX_BROKEN_DEPENDS = "role-fix-broken-depends" #: The transaction will enable a repository to download software from. ROLE_ADD_REPOSITORY = "role-add-repository" #: The transaction will enable a component in the distro repositories, #: e.g main or universe ROLE_ENABLE_DISTRO_COMP = "role-enable-distro-comp" #: The transaction will reconfigure the given already installed packages ROLE_RECONFIGURE = "role-reconfigure" #: The transaction will remove all downloaded package files. ROLE_CLEAN = "role-clean" #: The transaction will add a license key to the system ROLE_ADD_LICENSE_KEY = "role-add-license-key" # DOWNLOAD STATES #: The download has been completed. DOWNLOAD_DONE = "download-done" #: The file could not be downloaded since the authentication for the repository #: failed. DOWNLOAD_AUTH_ERROR = "download-auth-error" #: There file could not be downloaded, e.g. because it is not available (404). DOWNLOAD_ERROR = "download-error" #: The file is currently being downloaded. DOWNLOAD_FETCHING = "download-fetching" #: The download is currently idling. DOWNLOAD_IDLE = "download-idle" #: The download failed since there seem to be a networking problem. DOWNLOAD_NETWORK_ERROR = "download-network-error" _ICONS_STATUS = { STATUS_CANCELLING: 'aptdaemon-cleanup', STATUS_CLEANING_UP: 'aptdaemon-cleanup', STATUS_RESOLVING_DEP: 'aptdaemon-resolve', STATUS_COMMITTING: 'aptdaemon-working', STATUS_DOWNLOADING: 'aptdaemon-download', STATUS_DOWNLOADING_REPO: 'aptdaemon-download', STATUS_FINISHED: 'aptdaemon-cleanup', STATUS_LOADING_CACHE: 'aptdaemon-update-cache', STATUS_RUNNING: 'aptdaemon-working', STATUS_SETTING_UP: 'aptdaemon-working', STATUS_WAITING: 'aptdaemon-wait', STATUS_WAITING_LOCK: 'aptdaemon-wait', STATUS_WAITING_MEDIUM: 'aptdaemon-wait', STATUS_WAITING_CONFIG_FILE_PROMPT: 'aptdaemon-wait'} _ICONS_ROLE = { ROLE_INSTALL_FILE: 'aptdaemon-add', ROLE_INSTALL_PACKAGES: 'aptdaemon-add', ROLE_UPDATE_CACHE: 'aptdaemon-update-cache', ROLE_REMOVE_PACKAGES: 'aptdaemon-delete', ROLE_UPGRADE_PACKAGES: 'aptdaemon-upgrade', ROLE_UPGRADE_SYSTEM: 'system-software-update'} _ANIMATIONS_STATUS = { STATUS_CANCELLING: 'aptdaemon-action-cleaning-up', STATUS_CLEANING_UP: 'aptdaemon-action-cleaning-up', STATUS_RESOLVING_DEP: 'aptdaemon-action-resolving', STATUS_DOWNLOADING: 'aptdaemon-action-downloading', STATUS_DOWNLOADING_REPO: 'aptdaemon-action-downloading', STATUS_LOADING_CACHE: 'aptdaemon-action-updating-cache', STATUS_WAITING: 'aptdaemon-action-waiting', STATUS_WAITING_LOCK: 'aptdaemon-action-waiting', STATUS_WAITING_MEDIUM: 'aptdaemon-action-waiting', STATUS_WAITING_CONFIG_FILE_PROMPT: 'aptdaemon-action-waiting'} _PAST_ROLE = { ROLE_INSTALL_FILE: _("Installed file"), ROLE_INSTALL_PACKAGES: _("Installed packages"), ROLE_ADD_VENDOR_KEY_FILE: _("Added key from file"), ROLE_UPDATE_CACHE: _("Updated cache"), ROLE_PK_QUERY: _("Search done"), ROLE_REMOVE_VENDOR_KEY: _("Removed trusted key"), ROLE_REMOVE_PACKAGES: _("Removed packages"), ROLE_UPGRADE_PACKAGES: _("Updated packages"), ROLE_UPGRADE_SYSTEM: _("Upgraded system"), ROLE_COMMIT_PACKAGES: _("Applied changes"), ROLE_FIX_INCOMPLETE_INSTALL: _("Repaired incomplete installation"), ROLE_FIX_BROKEN_DEPENDS: _("Repaired broken dependencies"), ROLE_ADD_REPOSITORY: _("Added software source"), ROLE_ENABLE_DISTRO_COMP: _("Enabled component of the distribution"), ROLE_CLEAN: _("Removed downloaded package files"), ROLE_RECONFIGURE: _("Reconfigured installed packages"), ROLE_UNSET: ""} _STRING_EXIT = { EXIT_SUCCESS: _("Successful"), EXIT_CANCELLED: _("Canceled"), EXIT_FAILED: _("Failed")} _PRESENT_ROLE = { ROLE_INSTALL_FILE: _("Installing file"), ROLE_INSTALL_PACKAGES: _("Installing packages"), ROLE_ADD_VENDOR_KEY_FILE: _("Adding key from file"), ROLE_UPDATE_CACHE: _("Updating cache"), ROLE_REMOVE_VENDOR_KEY: _("Removing trusted key"), ROLE_REMOVE_PACKAGES: _("Removing packages"), ROLE_UPGRADE_PACKAGES: _("Updating packages"), ROLE_UPGRADE_SYSTEM: _("Upgrading system"), ROLE_COMMIT_PACKAGES: _("Applying changes"), ROLE_FIX_INCOMPLETE_INSTALL: _("Repairing incomplete installation"), ROLE_FIX_BROKEN_DEPENDS: _("Repairing installed software"), ROLE_ADD_REPOSITORY: _("Adding software source"), ROLE_ENABLE_DISTRO_COMP: _("Enabling component of the distribution"), ROLE_CLEAN: _("Removing downloaded package files"), ROLE_RECONFIGURE: _("Reconfiguring installed packages"), ROLE_PK_QUERY: _("Searching"), ROLE_UNSET: ""} _ERROR_ROLE = { ROLE_INSTALL_FILE: _("Installation of the package file failed"), ROLE_INSTALL_PACKAGES: _("Installation of software failed"), ROLE_ADD_VENDOR_KEY_FILE: _("Adding the key to the list of trusted " "software vendors failed"), ROLE_UPDATE_CACHE: _("Refreshing the software list failed"), ROLE_REMOVE_VENDOR_KEY: _("Removing the vendor from the list of trusted " "ones failed"), ROLE_REMOVE_PACKAGES: _("Removing software failed"), ROLE_UPGRADE_PACKAGES: _("Updating software failed"), ROLE_UPGRADE_SYSTEM: _("Upgrading the system failed"), ROLE_COMMIT_PACKAGES: _("Applying software changes failed"), ROLE_FIX_INCOMPLETE_INSTALL: _("Repairing incomplete installation " "failed"), ROLE_FIX_BROKEN_DEPENDS: _("Repairing broken dependencies failed"), ROLE_ADD_REPOSITORY: _("Adding software source failed"), ROLE_ENABLE_DISTRO_COMP: _("Enabling component of the distribution " "failed"), ROLE_CLEAN: _("Removing downloaded package files failed"), ROLE_RECONFIGURE: _("Removing downloaded package files failed"), ROLE_PK_QUERY: _("Search failed"), ROLE_ADD_LICENSE_KEY: _("Adding license key"), ROLE_UNSET: ""} _DESCS_ERROR = { ERROR_PACKAGE_DOWNLOAD_FAILED: _("Check your Internet connection."), ERROR_REPO_DOWNLOAD_FAILED: _("Check your Internet connection."), ERROR_CACHE_BROKEN: _("Check if you are using third party " "repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a " "Terminal: apt-get install -f"), ERROR_KEY_NOT_INSTALLED: _("The selected file may not be a GPG key file " "or it might be corrupt."), ERROR_KEY_NOT_REMOVED: _("The selected key couldn't be removed. " "Check that you provided a valid fingerprint."), ERROR_NO_LOCK: _("Check if you are currently running another " "software management tool, e.g. Synaptic or aptitude. " "Only one tool is allowed to make changes at a time."), ERROR_NO_CACHE: _("This is a serious problem. Try again later. If this " "problem appears again, please report an error to the " "developers."), ERROR_NO_PACKAGE: _("Check the spelling of the package name, and " "that the appropriate repository is enabled."), ERROR_PACKAGE_UPTODATE: _("There isn't any need for an update."), ERROR_PACKAGE_ALREADY_INSTALLED: _("There isn't any need for an " "installation"), ERROR_PACKAGE_NOT_INSTALLED: _("There isn't any need for a removal."), ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE: _("You requested to remove a " "package which is an essential " "part of your system."), ERROR_DAEMON_DIED: _("The connection to the daemon was lost. Most likely " "the background daemon crashed."), ERROR_PACKAGE_MANAGER_FAILED: _("The installation or removal of a " "software package failed."), ERROR_NOT_SUPPORTED: _("The requested feature is not supported."), ERROR_UNKNOWN: _("There seems to be a programming error in aptdaemon, " "the software that allows you to install/remove " "software and to perform other package management " "related tasks."), ERROR_DEP_RESOLUTION_FAILED: _("This error could be caused by required " "additional software packages which are " "missing or not installable. Furthermore " "there could be a conflict between " "software packages which are not allowed " "to be installed at the same time."), ERROR_PACKAGE_UNAUTHENTICATED: _("This requires installing packages " "from unauthenticated sources."), ERROR_INCOMPLETE_INSTALL: _("The installation could have failed because " "of an error in the corresponding software " "package or it was cancelled in an unfriendly " "way. " "You have to repair this before you can " "install or remove any further software."), ERROR_UNREADABLE_PACKAGE_FILE: _("Please copy the file to your local " "computer and check the file " "permissions."), ERROR_INVALID_PACKAGE_FILE: _("The installation of a package which " "violates the quality standards isn't " "allowed. This could cause serious " "problems on your computer. Please contact " "the person or organisation who provided " "this package file and include the details " "beneath."), ERROR_LICENSE_KEY_INSTALL_FAILED: _("The downloaded license key which is " "required to run this piece of " "software is not valid or could not " "be installed correctly.\n" "See the details for more " "information."), ERROR_SYSTEM_ALREADY_UPTODATE: _("All available upgrades have already " "been installed."), ERROR_LICENSE_KEY_DOWNLOAD_FAILED: _("The license key which allows you to " "use this piece of software could " "not be downloaded. Please check " "your network connection."), ERROR_NOT_AUTHORIZED: _("You don't have the required privileges to " "perform this action."), ERROR_AUTH_FAILED: _("You either provided a wrong password or " "cancelled the authorization.\n" "Furthermore there could also be a technical reason " "for this error if you haven't seen a password " "dialog: your desktop environment doesn't provide a " "PolicyKit session agent.")} _STRINGS_ERROR = { ERROR_PACKAGE_DOWNLOAD_FAILED: _("Failed to download package files"), ERROR_REPO_DOWNLOAD_FAILED: _("Failed to download repository " "information"), ERROR_DEP_RESOLUTION_FAILED: _("Package dependencies cannot be resolved"), ERROR_CACHE_BROKEN: _("The package system is broken"), ERROR_KEY_NOT_INSTALLED: _("Key was not installed"), ERROR_KEY_NOT_REMOVED: _("Key was not removed"), ERROR_NO_LOCK: _("Failed to lock the package manager"), ERROR_NO_CACHE: _("Failed to load the package list"), ERROR_NO_PACKAGE: _("Package does not exist"), ERROR_PACKAGE_UPTODATE: _("Package is already up to date"), ERROR_PACKAGE_ALREADY_INSTALLED: _("Package is already installed"), ERROR_PACKAGE_NOT_INSTALLED: _("Package isn't installed"), ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE: _("Failed to remove essential " "system package"), ERROR_DAEMON_DIED: _("Task cannot be monitored or controlled"), ERROR_PACKAGE_MANAGER_FAILED: _("Package operation failed"), ERROR_PACKAGE_UNAUTHENTICATED: _("Requires installation of untrusted " "packages"), ERROR_INCOMPLETE_INSTALL: _("Previous installation hasn't been completed"), ERROR_INVALID_PACKAGE_FILE: _("The package is of bad quality"), ERROR_UNREADABLE_PACKAGE_FILE: _("Package file could not be opened"), ERROR_NOT_SUPPORTED: _("Not supported feature"), ERROR_LICENSE_KEY_DOWNLOAD_FAILED: _("Failed to download the license key"), ERROR_LICENSE_KEY_INSTALL_FAILED: _("Failed to install the license key"), ERROR_SYSTEM_ALREADY_UPTODATE: _("The system is already up to date"), ERROR_AUTH_FAILED: _("You could not be authorized"), ERROR_NOT_AUTHORIZED: _("You are not allowed to perform this action"), ERROR_UNKNOWN: _("An unhandlable error occured")} _STRINGS_STATUS = { STATUS_SETTING_UP: _("Waiting for service to start"), STATUS_QUERY: _("Searching"), STATUS_WAITING: _("Waiting"), STATUS_WAITING_MEDIUM: _("Waiting for required medium"), STATUS_WAITING_LOCK: _("Waiting for other software managers to quit"), STATUS_WAITING_CONFIG_FILE_PROMPT: _("Waiting for configuration file " "prompt"), STATUS_RUNNING: _("Running task"), STATUS_DOWNLOADING: _("Downloading"), STATUS_DOWNLOADING_REPO: _("Querying software sources"), STATUS_CLEANING_UP: _("Cleaning up"), STATUS_RESOLVING_DEP: _("Resolving dependencies"), STATUS_COMMITTING: _("Applying changes"), STATUS_FINISHED: _("Finished"), STATUS_CANCELLING: _("Cancelling"), STATUS_LOADING_CACHE: _("Loading software list"), STATUS_AUTHENTICATING: _("Waiting for authentication")} STRINGS_PKG_STATUS = { #TRANSLATORS: %s is the name of a package PKG_INSTALLING: _("Installing %s"), #TRANSLATORS: %s is the name of a package PKG_CONFIGURING: _("Configuring %s"), #TRANSLATORS: %s is the name of a package PKG_REMOVING: _("Removing %s"), #TRANSLATORS: %s is the name of a package PKG_PURGING: _("Completely removing %s"), #TRANSLATORS: %s is the name of a package PKG_PURGING: _("Noting disappearance of %s"), #TRANSLATORS: %s is the name of a package PKG_RUNNING_TRIGGER: _("Running post-installation trigger %s"), #TRANSLATORS: %s is the name of a package PKG_UPGRADING: _("Upgrading %s"), #TRANSLATORS: %s is the name of a package PKG_UNPACKING: _("Unpacking %s"), #TRANSLATORS: %s is the name of a package PKG_PREPARING_INSTALL: _("Preparing installation of %s"), #TRANSLATORS: %s is the name of a package PKG_PREPARING_CONFIGURE: _("Preparing configuration of %s"), #TRANSLATORS: %s is the name of a package PKG_PREPARING_REMOVE: _("Preparing removal of %s"), #TRANSLATORS: %s is the name of a package PKG_PREPARING_PURGE: _("Preparing complete removal of %s"), #TRANSLATORS: %s is the name of a package PKG_INSTALLED: _("Installed %s"), #TRANSLATORS: %s is the name of a package PKG_PURGED: _("Completely removed %s"), #TRANSLATORS: %s is the name of a package PKG_REMOVED: _("Removed %s")} STRINGS_DOWNLOAD = { DOWNLOAD_DONE: _("Done"), DOWNLOAD_AUTH_ERROR: _("Authentication failed"), DOWNLOAD_ERROR: _("Failed"), DOWNLOAD_FETCHING: _("Fetching"), DOWNLOAD_IDLE: _("Idle"), DOWNLOAD_NETWORK_ERROR: _("Network isn't available")} def get_status_icon_name_from_enum(enum): """Get the icon name for a transaction status. :param enum: The transaction status enum, e.g. :data:`STATUS_WAITING`. :returns: The icon name string. """ try: return _ICONS_STATUS[enum] except KeyError: return "aptdaemon-working" def get_role_icon_name_from_enum(enum): """Get an icon to represent the role of a transaction. :param enum: The transaction role enum, e.g. :data:`ROLE_UPDATE_CACHE`. :returns: The icon name string. """ try: return _ICONS_ROLE[enum] except KeyError: return "aptdaemon-working" def get_status_animation_name_from_enum(enum): """Get an animation to represent a transaction status. :param enum: The transaction status enum, e.g. :data:`STATUS_WAITING`. :returns: The animation name string. """ try: return _ANIMATIONS_STATUS[enum] except KeyError: return None def get_role_localised_past_from_enum(enum): """Get the description of a completed transaction action. :param enum: The transaction role enum, e.g. :data:`ROLE_UPDATE_CACHE`. :returns: The description string. """ try: return _PAST_ROLE[enum] except KeyError: return None def get_exit_string_from_enum(enum): """Get the description of a transaction exit status. :param enum: The transaction exit status enum, e.g. :data:`EXIT_FAILED`. :returns: The description string. """ try: return _STRING_EXIT[enum] except: return None def get_role_localised_present_from_enum(enum): """Get the description of a present transaction action. :param enum: The transaction role enum, e.g. :data:`ROLE_UPDATE_CACHE`. :returns: The description string. """ try: return _PRESENT_ROLE[enum] except KeyError: return None def get_role_error_from_enum(enum): """Get the description of a failed transaction action. :param enum: The transaction role enum, e.g. :data:`ROLE_UPDATE_CACHE`. :returns: The description string. """ try: return _ERROR_ROLE[enum] except KeyError: return None def get_error_description_from_enum(enum): """Get a long description of an error. :param enum: The transaction error enum, e.g. :data:`ERROR_NO_LOCK`. :returns: The description string. """ try: return _DESCS_ERROR[enum] except KeyError: return None def get_error_string_from_enum(enum): """Get a short description of an error. :param enum: The transaction error enum, e.g. :data:`ERROR_NO_LOCK`. :returns: The description string. """ try: return _STRINGS_ERROR[enum] except KeyError: return None def get_status_string_from_enum(enum): """Get the description of a transaction status. :param enum: The transaction status enum, e.g. :data:`STATUS_WAITING`. :returns: The description string. """ try: return _STRINGS_STATUS[enum] except KeyError: return None def get_package_status_from_enum(enum): """Get the description of a package status. :param enum: The download status enum, e.g. :data:`PKG_INSTALLING`. :returns: The description string. """ try: return STRINGS_PKG_STATUS[enum] except KeyError: return _("Processing %s") def get_download_status_from_enum(enum): """Get the description of a download status. :param enum: The download status enum, e.g. :data:`DOWNLOAD_DONE`. :returns: The description string. """ try: return STRINGS_DOWNLOAD[enum] except KeyError: return None # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdaemon/crash.py0000644000175000017500000000507712117271433017674 0ustar renaterenate00000000000000"""Apport integration to provide better problem reports.""" #Copyright (C) 2010 Sebastian Heinlein # #Licensed under the GNU General Public License Version 2 # #This program is free software; you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation; either version 2 of the License, or #(at your option) any later version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with this program; if not, write to the Free Software #Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. __author__ = "Sebastian Heinlein " __all__ = ("create_report") import os import apport import apport.fileutils import apt_pkg from . import enums def create_report(error, traceback, trans=None): """Create an apport problem report for a given crash. :param error: The summary of the error. :param traceback: The traceback of the exception. :param trans: The optional transaction in which the crash occured. """ if not apport.packaging.enabled() or os.getcwd() != "/": return uid = 0 report = apport.Report("Crash") report["Title"] = error report["Package"] = "aptdaemon" report["SourcePackage"] = "aptdaemon" report["Traceback"] = traceback report["ExecutablePath"] = "/usr/sbin/aptd" report.add_os_info() # Attach information about the transaction if trans: report["Annotation"] = enums.get_role_error_from_enum(trans.role) report["TransactionRole"] = trans.role report["TransactionPackages"] = str([list(l) for l in trans.packages]) report["TransactionDepends"] = str([list(l) for l in trans.depends]) report["TransactionKwargs"] = str(trans.kwargs) report["TransactionLocale"] = trans.locale report["TransactionOutput"] = trans.output report["TransactionErrorCode"] = trans._error_property[0] report["TransactionErrorDetails"] = trans._error_property[1] uid = os.path.basename(trans.tid) # Write report report_path = apport.fileutils.make_report_path(report, uid) if not os.path.exists(report_path): report.write(open(report_path, 'wb')) if __name__ == "__main__": apt_pkg.init_config() create_report('test', 'testtrace') # vim:ts=4:sw=4:et aptdaemon-1.1.1/setup.py0000755000175000017500000000532212117271433015760 0ustar renaterenate00000000000000#!/usr/bin/env python # Work around "TypeError: 'NoneType' object is not callable" # during `python setup.py test` # http://www.eby-sarna.com/pipermail/peak/2010-May/003357.html import multiprocessing multiprocessing # pyflakes import glob import os import sys from setuptools import * import aptdaemon readme = open(os.path.join(os.path.dirname(__file__), "README")).read() # The transaction class has got it's own gettext translation # Don't set bug-contact in setup.cfg since p-d-u-e will overwrite # XGETTEXT_ARGS otherwise. os.environ["XGETTEXT_ARGS"] = "--keyword=self.trans.gettext" if sys.argv[1] == "build_sphinx": # The client allows to be used with the old gobject and the introspection # based one. We have to make sure that the old one isn't imported # by the client from gi.repository import GObject setup(name="aptdaemon", version=aptdaemon.__version__, description="DBus driven daemon for APT", long_description=readme, author="Sebastian Heinlein", author_email="devel@glatzor.de", packages=["aptdaemon"], scripts=["aptd", "aptdcon"], test_suite="nose.collector", license="GNU LGPL", keywords="apt package manager deb dbus d-bus debian ubuntu dpkg", classifiers=["Development Status :: 5 - Production/Stable", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU Library or Lesser General " \ "Public License (LGPL)", "Programming Language :: Python :: 2.6", "Topic :: System :: Systems Administration", "Topic :: System :: Software Distribution"], url="http://launchpad.net/sessioninstaller", data_files=[("../etc/dbus-1/system.d/", ["data/org.debian.apt.conf", "data/org.freedesktop.PackageKit-aptd.conf"]), ("../etc/apt/apt.conf.d/", ["data/20dbus"]), ("share/apport/package-hooks", ["apport/aptdaemon.py"]), ("share/dbus-1/system-services/", ["data/org.debian.apt.service", "data/org.freedesktop.PackageKit.service"]), ("share/lintian/profiles/ubuntu/", ["data/lintian/ubuntu/aptdaemon.profile"]), ("share/lintian/profiles/debian/", ["data/lintian/debian/aptdaemon.profile"]), ("share/man/man1", ["doc/aptd.1", "doc/aptdcon.1"]), ("share/man/man7", ["doc/org.debian.apt.7", "doc/org.debian.apt.transaction.7"]), ], platforms="posix", ) aptdaemon-1.1.1/data/0000755000175000017500000000000012202062656015152 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/org.debian.apt.conf0000644000175000017500000000066212117271433020620 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/org.debian.apt.service0000644000175000017500000000010312117271433021321 0ustar renaterenate00000000000000[D-BUS Service] Name=org.debian.apt Exec=/usr/sbin/aptd User=root aptdaemon-1.1.1/data/org.freedesktop.PackageKit.service0000644000175000017500000000011712117271433023636 0ustar renaterenate00000000000000[D-BUS Service] Name=org.freedesktop.PackageKit Exec=/usr/sbin/aptd User=root aptdaemon-1.1.1/data/lintian/0000755000175000017500000000000012202062656016610 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/lintian/ubuntu/0000755000175000017500000000000012202062656020132 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/lintian/ubuntu/aptdaemon.profile0000644000175000017500000000257412201760213023465 0ustar renaterenate00000000000000# The default profile installing local software packages used by aptdaemon Profile: ubuntu/aptdaemon Extends: debian/aptdaemon Disable-Tags: FSSTND-dir-in-usr, FSSTND-dir-in-var, arch-dependent-file-in-usr-share, binary-file-compressed-with-upx, binary-or-shlib-defines-rpath, control-interpreter-in-usr-local, copyright-contains-dh_make-todo-boilerplate, copyright-file-compressed, copyright-file-is-symlink, copyright-refers-to-incorrect-directory, copyright-refers-to-old-directory, debian-rules-missing-required-target, debian-rules-not-a-makefile, description-is-dh_make-template, description-synopsis-is-empty, dir-or-file-in-srv, dir-or-file-in-var-www, embedded-library, extended-description-is-empty, file-in-etc-not-marked-as-conffile, file-in-usr-marked-as-conffile, install-info-used-in-maintainer-script, library-in-debug-or-profile-should-not-be-stripped, magic-arch-in-arch-list, missing-build-dependency, mknod-in-maintainer-script, no-architecture-field, no-copyright-file, no-maintainer-field, no-shlibs-control-file, package-installs-python-bytecode, section-is-dh_make-template, statically-linked-binary, udeb-uses-unsupported-compression-for-data-tarball, uploader-address-is-on-localhost, uploader-address-malformed, uploader-name-missing, usr-share-doc-symlink-to-foreign-package, usr-share-doc-symlink-without-dependency, aptdaemon-1.1.1/data/lintian/debian/0000755000175000017500000000000012202062656020032 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/lintian/debian/aptdaemon.profile0000644000175000017500000000034612117271433023367 0ustar renaterenate00000000000000# The default profile installing local software packages used by aptdaemon Profile: debian/aptdaemon Extends: debian/ftp-master-auto-reject Disable-Tags: dir-or-file-in-opt, missing-dependency-on-libc, statically-linked-binary aptdaemon-1.1.1/data/org.freedesktop.PackageKit-aptd.conf0000644000175000017500000000211012117271433024044 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/org.debian.apt.policy.in0000644000175000017500000001521312117271433021575 0ustar renaterenate00000000000000 Apt Daemon http://launchpad.net/aptdaemon/ package-x-generic <_description> List keys of trusted vendors <_message> To view the list of trusted keys, you need to authenticate. auth_admin auth_admin auth_admin_keep <_description> Remove downloaded package files <_message> To clean downloaded package files, you need to authenticate. auth_admin auth_admin yes <_description> Change software configuration <_message> To change software settings, you need to authenticate. auth_admin auth_admin auth_admin_keep <_description> Change software repository <_message> To change software repository settings, you need to authenticate. auth_admin auth_admin auth_admin_keep <_description> Install package file <_message> To install this package, you need to authenticate. auth_admin auth_admin auth_admin_keep <_description> Update package information <_message> To update the software catalog, you need to authenticate. auth_admin auth_admin yes <_description> Install or remove packages <_message> To install or remove software, you need to authenticate. auth_admin auth_admin auth_admin_keep <_description> Install software from a high-trust whitelisted repository. <_message> To install software, you need to authenticate. auth_admin auth_admin auth_admin_keep <_description> Add a new repository and install packages from it <_message> To install software from a new source, you need to authenticate. auth_admin auth_admin auth_admin_keep <_description> Add a new repository of purchased software and install packages from it <_message> To install purchased software, you need to authenticate. auth_admin auth_admin auth_admin_keep <_description> Upgrade packages <_message>To install updated software, you need to authenticate. auth_admin auth_admin auth_admin_keep <_description> Cancel the task of another user <_message> To cancel someone else's software changes, you need to authenticate. auth_admin auth_admin auth_admin <_description> Set a proxy for software downloads <_message> To use a proxy server for downloading software, you need to authenticate. auth_admin auth_admin auth_admin aptdaemon-1.1.1/data/icons/0000755000175000017500000000000012202062656016265 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/generate_16x16_icons.sh0000755000175000017500000000044212117271433022456 0ustar renaterenate00000000000000# we need to generate the 24x24 icons from the 22x22 tango icons subdirs="categories status" for subdir in $subdirs; do cd 22x22/$subdir for icon in *.png; do target="../../16x16/$subdir/$icon" if [ ! -e $target ]; then convert -resize 16x16 $icon $target; fi done cd - done aptdaemon-1.1.1/data/icons/generate_24x24_icons.sh0000755000175000017500000000047112117271433022456 0ustar renaterenate00000000000000# we need to generate the 24x24 icons from the 22x22 tango icons subdirs="categories status" for subdir in $subdirs; do cd 22x22/$subdir for icon in *.png; do target="../../24x24/$subdir/$icon" if [ ! -e $target ]; then convert -bordercolor Transparent -border 1x1 $icon $target; fi done cd - done aptdaemon-1.1.1/data/icons/24x24/0000755000175000017500000000000012202062656017050 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/24x24/animations/0000755000175000017500000000000012202062656021212 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/24x24/animations/aptdaemon-action-downloading.png0000644000175000017500000000522512117271433027452 0ustar renaterenate00000000000000‰PNG  IHDRŔ¬±ňEtEXtSoftwareAdobe ImageReadyqÉe< 7IDATxÚě› TT×Ç˙ďÍĂ#‹ "`‚+j’ęV—¨µń"Q˛T9j49–¦&¦éIÚ4iÚíń4=­ & jŽŚHED ¤¸DqAˇ[E@fťfy˝÷ (Ă,ĚĚ1Ńůŕž7o–ßýćżű}÷-Ăp—ąěQ5ˇK‚ŽÍĂťSq:“ŻůyJ‘÷^+ăRÉ5ڥ쿼š ­^Ă·[]í¤)ř×ţą˙C×sM€‡;@©1 ˛¦ĂčÖŞĐ~» ßÉË‘0ů-‡°Ĺ 6`l[%L6ĺCäMIů\Waî ćřy#D0'Đüšv»řŞPÖěÓĎÚĂá› PGđű±ą =|öűěżłőJüMÁ×ýŁ ňÚR¨”ťd× 9Kć&Ë&¨€1d"†ě3nţ€®bď`ě{a9a ¤–řY‡7YĘ@vó-dP»ůćÔ|půמĽ˛b‡óťíżłő·5~„÷ĂפU@ÝRŽęÂŹ!o©7< HĂ "‘/$ÍŰ/ßJĽüüÔ«űE@Y“‡EÉiČßµŮä—°†o©Ä;‚on€Á7 ¶ňw**ĐMß{,=Ép:NË7e·âž×˛H†ĄŚ¬Í"’śpęÄVÍÓŇ˙ˇż­ń#ě…§đŐi2°BäőeĐöt÷u®ÓjŐ¤vŐJLK?ĎNŢWbŢ‹\‚¤Í;°7mí=ťXË·$˛ů’Ý|sl+?GÜy7@r‹ş&˙M~™AY9od_§j&›ăGkÝ … Ëß' GÄű­#|Ž!cŔęp[ב;K>Ă`ýóżĺĹÓhzp°ŕSp Eqżŕy ţ;[GÄŹ±\{yk9É"TIĹÄůŻ tÂbŢQVěŮŘš6Íl‰áD¸ŢÖŇ7Óč„´•oN [ůŻgo@5ůŇĽ©-đ/+3ÚČ Ó˘<Ĺ_u19—ľ´9@s‹÷"¬ţÚ¤~_Í$&áý©ŕ8vfâă–˘Şµ:VN@ôçî@Í( –p¸6•ôÍbÖ¨ »t^ˇżŇţáľű ýw¶ţŽźľ%PKíY~;g-ôňJňn}Ż t«ă÷-•ČéË +=`ň Ä˙×ÇRQ}˝Îęźr~{ßţ° )řóÂ&âŽFmó*ÚŤ‘ ­ý_8<j˝m ĐŠ‹ç¨wÇg‘Oý}kę2ĽxŕMŚ ŤF4 ťdÜ-ÚUµI>Đk™±s ¸)GSý·Řą2ň÷ ýw¶ţŽźľ p,cżMţ°ć® [8H‚¬(ÝäçLńçE<…;d‡RâG˙On‘˙ĚاQŢRmÓ—ËέµuŔ¦Ďoâ“m ĐşËĺXܢ·JŁ˝;{#Ţ&şľ¶ň÷đő˘YUŤnA'Äb–f$ąŹA$™‡¶ă‰¦nČęÓ­ć;Ógëďřátd-Ä„ńë9D†M§‚ š&řI°!3ŔŹ·¸†)QÔü}<”i|z0ţ˘)ĺÎ t«KŽÓŤ98}őK@ě˝®ý+”šëřFVĹmĹżíÔZäS˙ß~.˛ę4¶^ác{H: Üc`±„%[¦„Íĺ¸ţ[i%VůoÔçwĎĄ#»h'ÜYo>@UÜ C€ń©˙#˘ř-ţ:q×ôVëcäG?žeSV"«0Ł}'A˨ r3říăĺ‹ A p´8ËăV"„Í|gúďLý?L˙{Č9ĘÁGĆýR&äýN”Ň2ňçWľŔ‰úl˛RCqç*ę•ü(#ëŹä`äîuŚűĎBâí«OütŢzřI}ů ¤g4hRĘ Ňß4Î9>i:Ĺ(*Îé(IÓřršĚ$˙&™—ß„ůđ´Ą»ŠĎ ÍęKĐ—AÇJf!sßvD5voOß§Ű` źZ•7®q1HZşĄ­»pC×DčŤé+q0' Ţ5 Ur[Č€nµ•O­NęďřxDOŚÄ™{ůIđdŕó8J†Ć˛soă ‡Äw¦˙ÎÖßžřatÂ=“ř::jKpZĄ@™›Ű€sŞ1=:5;*ŃŃŐ†ĺă·đÁXb˛ ˙ĄşŮ)O9™¦ŮaâKôńŤv•¬3”׬¨­®{fU– %řÔ ”­¨őőµ8Ŕ;ŇµŚ… 1&ůÔJ{nŁsL¤ÉUÖ·âńKߡfł•OuÚˇ¨ĂÂ% @ŔM„¤ĽwřăHî~lŠ]+ů{ěâ;ÓgęoOü°¦:»yŔÓGŠź„DcX—ҦsębQwÇ-ůSÁ?ßŘb¤aăh±ÄGvôŔ\đƧmůXLĺÄ8~ţé/ž_ É:.x)ĘΞ„ŻFHł›U—»Mńi‹ő Ŕů %P´u`¬÷ ŚńEł˙­<‡„13­ľś>źę”cE˙F ĆAŞŹA^ţ!¬ŠÁŘ€‘vóťéż3ő·'~„¦;>†ő—ĎL¤TćY}T]SŃv"U“`ţ Üĺ-‘ěçË MŚ'¨Ń P čÔIřéÄgµ@ůÔ&¤•˙Ň`) |Ą|ůâlžö2dkěâ?Fž{IŔ"łř0’’Á%ឣ;ńҨ8D G•ŐdšOm6yžssGAa.żźY`És°“ďl˙ť©˙Pă‡íw“5_úX$ń„Ű–I‹¬>Hj)×o$ÖÄM\ňŤmrŕH”W.WU`Őc ŚéPů±Ă#‘ŹB2ŔĆ zäh.ÖDÇ#Jn7ź¶ą“4z źĄ Žĺ"iÔĚ źˇČÍ!|Ú–DNE$Y’ŇFÓçĹw¦˙ÎÖ(ń#ĽŻđ§qÄ>ˇĐ‹˝ú^ üL­áK ]Ă5ŞĎń%Ƹ†›°€_ĂŃSR¤?ßď¬á÷ďg­HŠŚŻľŔŞźŻć3ĐŢ‚O°~ę §ż`°˘ˇň©Í ž†ĎPäçńű/ŽłÇÎD'ĐĂ|j‹IueźÇ%őVIÇń©m"}Ü=1íXľ3ýw¦ţC‰źľ @b5df(!ôČřěëL9ď/ő´Äh›Ż!B®Ď$o“sÜŔ[ň¬á-Ę!™á áqsjŇŃ€tVŐÍ9„Ď[€AëgŻ`72ůjčHľoďvwéÝă-‡ú?Đ~Xţ;Q[â‡1ő“HŇť%dˇoŇčŐ.Z˙„áłŮń!“™m Ď® @ŔM¦÷,·˙ŕžvmłôôÇš2kFj0>=ÓÚűý…ďBĄ;ówíkdźŢčŃE|Ő:ŠOe©é-".ţĂÇ·6~kL`tűŁ_ %ŹO~‘¸NBo‡ţt_şş«Kµúdšf?ě0#żw¶;ü‡Ę.ľ‹oňsCńĺé͢µa!áŰřs°­ )ćNyşĚeßgc†:ĽE´‹nʤIvÉč˛Gn¸Ěeý_€OEk¤Ń4óIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/animations/aptdaemon-action-cleaning-up.png0000644000175000017500000000612212117271433027344 0ustar renaterenate00000000000000‰PNG  IHDRđÄBp}tEXtSoftwareAdobe ImageReadyqÉe< ôIDATxÚěś lTuÇżsOďc¦ť¶¶ô ´ĺ*(V» ˛u=IV]¤’ŐD1®&ęšl–ŐEŮMŚ‹°îF\Yµ1b]AQ‘…•‚´”––N™¶Ói§sµsuî7ű˙ż™–¶ôśÎ«ÓdţÉżoćÍ{ź÷˙}żóţç›ňü~?˘)š˘i~&~T‚hЦů›„cwüĺÁ2˛9"oůł}ő“ĺGůQ~řřĽ‘]č!xÍŰ]0(O`Đj&oźóy$Ó?$ ȆÇăGŢó$)€Ď q‚ţńŽIňŁü(?Ľüáxţ›Ýőđ;Qwh ˝Şt´eŠlYHrBr:»Ť‰ObőS'çĂÚvS?ľ|÷ůqňŁü(?ü|~žIáŹďn_(†Au^·křâ>°š ş˘„Rن>­&“úľ^¨›O@Űv‚ën‚Us[žßOO9,0¦Ëw Úa·ŰaµÚĐOŘQţÜňŁţÎOţиçŃ×Ď“&[„ _üKÖoGVĹFřý řâ8ö€ć“AÔôű:uŃ&”ýbËpŻ~—~Q,t䢿ܺ›Ö´źĎ›.ßëvâ»wk`·Ú‘ś”ÜóbdaăÓävŘŃŮüZŹďa߯˝í>$®¸{^đąÖ‡KV#Úż •Fʏř8ÜĽĺĹҰđ›>Ŕw_BnJnÝÜĹŐ&ČGu]#™?[}†'±z•uě¶ě–m` Hלa/ŕc·>h˙[îŢ §®§O†Â¬xr/prđŘ…«6ŁáÄ'㎾§âë##J‹‹ńÝWCq±5k®ąßŁN3á4YĂ×*~“Şk暴ËÔŻk˘5P8řv«gOĆĆM›a!b©ÚQyă3¬0óϵ>\ú+’HI™ílŮP=Ö”†ď‡¬h ľţöDó;PZ”/>?EÖŇ’ĹĎţěőao`2 ć}¸#s©¶OWďČĎ—/g›ţˇöźnmfÖ\_ósÖ]Ą'Â|n;»MIŚ<ş×:üÍťŠßÝR«©Ź}m1¨1 W#©üWaăÓíŃ÷źBÁ‚,7ŽDbś‚Üۇّ̟ }¸ô7I |°‹-{Zj‹ĆžśŇUłâóéy<«5ŐĽ¸¤ŚőŕŘçÇpďďŢšuůąć‡Cź±ËH/ÍkŐľkŞ×°Űďř~˛µŞI_ź`}\ľÓÎŕú–#'+˙;WŁQV>MtFŻjU%iizQ±‘ÎŮĎţ\čĂĄżCI&KĂęĘeP÷čpćÇóĆńĂÇg,+Ż€L‘‰Suçŕ°ő‡·ü\óCÔ‡7öQJr˙†źĂ€ňŰQű/·«™sőöéP\?ęóÄ‚[p´öM¶¶™b!{źŽÂmŇ0Z쌆îVŇŤ(…P( źív´v (#|±ŰT()ĘGBŚx^đçB.ýJ^Ż—ŚďZ Ď.Aß ~†ńÎdř˝áá[n´íˉöŚ[„6m'––ä…­ü\óCŐG8ŢEÄ’XÄ%ĘFí»á.)ä ý~C» îî¸Ńýx±dÚŹ“Śäë•Väç`Á h:ĄôT>’Rל*ßÂđŕ«•h9݇łź«°ććŞqωT>×úpíďČ”ťç‚˘J˛Ş\t´˘«Ç…´Â„°đă Ň:~ňVnZk*ŃtÄ„D~ęĽŕ‡ŞĎ7p ąĺSGí;ő˛91ÖZíp ęĹśQźó%Ňp•ßĺŇ ÷\ôţUÉíÉ(©^żóZÖLřBˇ˘x(Ż\‚K©héł {C>|U""\ę¸çDźk}ćŇß‘©$=ú/-řq‡ËŕX˘'z再Ď>áPUŠěÜl´üC‹„Kt.Rٰ`BQÄóCŃg¸“Í ¤$önʉC,ąŔPcŃł|TąŤÍôµ‡áŤ:F(’ qd$_ÓyËtyĐŇv+ÍEőń»±â@5Tu:ÄłFqCá›Í˝hlm@á/*PńŢ&¤ ‹Đ´S‹‚…eă˛#ŤĎµ>sáďxe¤e§1ĐXhL46#Ť5|š©Ô ę ő†zD˝˛ ôD”V/,' íu-ef`ĎvÁ˝^j‰§ëďß©¬Ť4ţLő^ť ÷{Čťm…0vß{;¨ -]µ±)Ůđ¸3o±)bcşńŻ7¶aÄ$Đĺ?@‡P~öɆ1_ł ź'Š;đŃ›Źýşdő=(¨ÔÂËŘÁ3ŞaŐvŔbôfÍ5k§Ó༼8ňrç@±0 ‘îA;ř¤kÓ~¦ZĂĽżű‰Éz6?'źk}ćĚßńřW[!>ňĘKŘXřä;Hc+¨”ĂdĚŔg{Šďôđ>ž ˙ęŠ@<ń$ É)`Ľ$Ęâ°d]y2¨›Őű jă>źÇ7r%'"řˇč##}@óIrˇ§i9INx覸ŠâëËżŚM„c0°Ŕ›*Ă+‡Îˇf×§ŃçhĹDÎ÷ľ4Iŕ”żçřîĹŐyXşV†}ýđ9ú‡Źxö —.~Ńo(ťsĐ ŔéđWoZLn*|$´µ±˛D8Í.$gˡnRáą¶ĘA3$hÄńąÖg®ü˧8’%ď#8´ËOIâ9ÁsXAb çŽv(ý~›7t>ÁĐŢËPť]ş~ ş &I0h´@BŽ*Y™ŤÂĄ ü÷ÓĆäĎ\ţByH¶¬YWł˝h±~äó¤ĺń‚îËOŢGŽé#ŮFÍťjđľ˙Ią(6QňRá ¬FwpŤÓCŠKĆ\ [˝öPl ať'ą‘dĺ4ů¦Î ÝčięÁ@—žÔŠN¨Ď¶/đ’šňüŚ˙'rsŃgG˘9ů\ë3'ţŽÇ'ąŤä‹tµŤ–ťĆŔĆBbbcŁ5‰•ĆLc§„ĘŇßîôťŁžPo¨GÔ+ęőŽzH˝¤žF?}¦ó9VJ’…đ8Ľ°ô:XsťfâÓŮAuf–6 |8ú=čh0@ßf]ç…®ŐJ çÂ@oź)9^‚ŇCÝíýz‹ĹFFlnô4ö’n Úö4źlĄµŢV˙|®ő™+'»éü´ě4 Ť‰ĆFc¤±ŇiěTPůcôßJ˝ˇQݍgÔ;ę!ő’ziüPô™ôţűö4:ŇNw xá˛záuĆ^b°MÇţ*>x̴Ҷw ź’rţľîŘgBšZ•.»—tčľlFźłŁfżÉ>Sóîß©sĺďT‰–ťĆ@cˇ1ŃŘhŚ4V3ŤťjŽk=ŮH=˘^QϨwÔCęeĐÓ⇢o˛G«jĄRŃ­™…ÉđŘcgQ‚š–~¸=Ţă4–'öęM3)čŢ­©KbDOÇHĹĹéů rÇ@ «Đ©4<÷Űöď™­yµŻŢŻś!BšĂÝdqÍçZ®ýť,˝ýxĘŽÜBů›ědP˛:•Őŕpş/»ž·¶żkú7^ŃĄ›ëérńęx¤ógŞo:=>b4ýńđť$/îę"ů16ä–gß6Y–ĎÇÜ,ň3y¤lař8řÄ^Ń4§úpáďÄ×’Ëý  ,€ůy>/ÓKş†'kö{˘®Ď\^ôßĘFS4Íßô8ćIőň‡Ľ/IEND®B`‚aptdaemon-1.1.1/data/icons/24x24/animations/aptdaemon-action-resolving.png0000644000175000017500000000562012117271433027154 0ustar renaterenate00000000000000‰PNG  IHDRĄt tEXtSoftwareAdobe ImageReadyqÉe< 2IDATxÚě› TTuÇżwŢoŢO"@ŔL{©`ÇG¦kŹc•'C±í¸Űi÷tÚ­¶‡ën·,Űö”YÖZfŮËłRńoD$¦Ŕ0 Ě 03 Ě™ýß‘A î m»-˙s.˙{gî|ľ˙űýýßĚP.— Ói:M6±¦-NÓh:MW éôż™8Ł_Ř~;ťd“äe<şw rĽ¦ůż,>5|íŻßŮ ]ă1XL=äňňű,Šô’Ř$Ł( ą¦řr`ŔžT‰÷źY4îCLóyüˇ äŻŰV {Ď%”|ütš.É@¨ —9äú»sˇDĺěđüc`jř:CľüÇŻńKĺ÷;y€,Üř¨9ß' Čśě Ç*±#ţ¦ŤSR~a@l‚pô)nˇ⏨¸kÁî8ńłřĂ„‡Ňđű·UĹáA÷ĂwpجCâN ĎŇ‹ŢŢ^Lftt0ŁS«AKí1´7ś;l.LęÜ»ĺďôG* Śź“O×"N†íşßŁČ0źuŢ€Ž ¨7Ѣíşj~{żçxËжŞřL¬˝ňď/€,dҰ»L†#‡>ľjÔ9ľíž­8çG:§Ď6ăůmŰQc¸*˙ F+Ô¶\ŻÁ»uqxó\ *ť7ŁřÄ7¨Ż8:fů=s ¶ü­¤Ëâ˘ú‹?ăşC•ş.—,žŘ}CŹŃڶÎ.Ô~qD ŕJU‰Ĺ`[upqEč AÉ{`]Séq–šoęwý›’čBáď'…ÓŃ—ŹüÖ |uř bĂăCLĎš˝äv­NŹşN#N5ÖcĺŇJMž4żőđißĘšzě˙â¸Ű«¤Ń^ť5âĐ™ăX±Č—ňM˘5Ť%îüš›‚SWM†F§[`€• Z||FŹŘ8"š=Bŕdy .`,ť)DÚ ËQulż×Ů—7~e};śî—»,S‚ëbdî˛Äe3ăWś*Âţ“mÄôÍšnWźň™ßu±ŠÎŁ`C!–v ­ß«ç«  ÂA4ηp¤Fs‰› ĹÎWw@5 gĚ÷řÓmęĂG_6ř¤#¶@Äg1âÓĎ\Nbű‰Żî¸%fM™÷UŘá××»óžűĂ÷¦«;qম‘ĺUGvy5h4żŞˇ\ËK?l* ˛»<đW>ńśŇřdzT°2›ź.ż¦Ç‰ě¬lŻVŁ­O†5×K ‘ň»(¸(!ä¬.ıęŃhN$ţu #- ÚŢvř3ä{ü×]>ëÔ•Ľ¶ľśżÇl%C§O^…hv‡ţ‘ű@dBD…(ÝcÚ¸.(2€ LÉ#ę-~X56ćĹc9ÍŠE­QŠż©‚ ČI4h¦Gd4ż‡—@zžvćÜĘ~ôĚ#ĄĺşyăńŐú>×ÓX3KĄŰô~÷ęÂcú%ł`ČôA8ŃyŚřtůk5N(Ââq¦“čˇTA†')ŕ“!O ˇËs:.B˘SPßíÇďń˙|;峎"#ź1żŃđŐ+v`ĘţčeüoIöâĐä*p&Ts ŃÇ‹Ŕ9#ݤK…ŕńyä!„P·6ˇĽ¦ŤŽDĚUőĂŇqÚšO>زőŕŻĆXFşů“áv\iYŹ“Âo‹ďëöòđa… ł"qm¤|.Ë˝Ňp‚ }WŽ~W‡.|ľ7D:ĐÖX†®#›=qůtůëÄćÍżÁ®&äĹő!@ĘŹí"t\Âś?ľVŹBÔ°sđëŰxţĹg‘hxßs=Yťť/ď˘đ‰WŚWůë6R^w˘=–»ú1ĚÎĚ@`ú}>·€ ¤…«ĆÚ…ňđ'ĂĄ[ÖpĆXüď*j±Ě˛vuM0uÔĂÔ^ sO'.ż‰P[â\Uč¶sŽ3ĺg±pŐcŚřtÎĺ°ŃpYNčôzôš{`·öÂŇ­EKc%Ä| >B‡LĐm°Z­ŕrŮŚů˙'ŁĂfłmLů“őjÜťh:ńř" t lÎɸÉ4(`€mX ¸PĽˇ¤Đ-ŔžCBp`ß[¤†Žżť9Yn"­ŇѦó)(ÖľnčÔínÓą.6i9ÄôľÁŕ’Ďpy|Ć۱3“ÂĐЬ?Ź…ô¤ĘŰÔ˛ű fő‘ąţ">,$ŻÖʡR°PSS‰ÄěZf|Ź˙iŃbźuŠ R¦üÉx5ş‚ŽQ„€,`J¦*Č<.‡‘ůáŇ~źMź.—/`\˘٨>[‚Ű,Çî“<„óu ě`q°“î2gëeŁ[µéxíŻ;ť‚n0­@—ýŹf[pÎGG\Ě”?3Ţ˙Ş+čĐF]N~î Ĺ줠A‡[ ­MŤ–Kߣ[wŽ^-¤D@( ŃHü. Čĺ•„óŁuäp~öµ1>s“˘•Nŕx|Vw ęhÓ3CˇçDÂĆK–,vQŕ—€^^1=yéÁ(:ô d,8\>#>}"碡¶ fS]#CU·ź7ář‘ý(-/Á[EM(ÖGŕÎTľ)úQ ¨h2»Lř˙U2§O:aqdÁęÚ°|ĹŇ0&ü¸‡Ď^µ´´”/?kToä^&đd*p•Y‹Pú,ĐÚÚZ:l Ţřń¤;÷•+ć­>ąăńşZź[z‰B/üśLřôI°*w/ž…}ďĽ Ë‚ ·†!ăú›Đź˛ýáKuc.ÖÍ ĆŢ·v"1>NŠ ľH„K˛X˛ôöô‰ř˙bŻ÷Il.$R‰H©T–o*,Hźësĺ°9k—,»]ĺőꩤfń_Z#هŽi`u  X‰»ÖmŮ)ÂżÎaj:0{)l’8h{Eđźq+V˛Ó_ĂÔÝĺjQ·™őýŚ}ď¨ńŇ Ü|«ÝąŢ7®¬Ěšˇčüđ§÷›î!evxëš=üż¤ő‘»×nBp°EUZ4l°9YHâ"'IŽW^zK—,GYYuéa!“F…ńŰĎž~Żĺމř´?´mNĹL4;“ź’ĺŢM ußG÷®űßŢŽ ţ ô.ÄâĽĹ¨®9‹śą9®wß{‡úŰŽW¨‰řž×&Ąsă|ç»{÷°FëxăÓ+b߼28ŤFŁŽÇĺ-"üJĘŰWZ‰]SÉ@ iáŁ×8ö?Ţ»¶€wEŔî˛9)ęŠŔłÎĄK–±Ľ Śa÷ɧ~÷Á`xéžüG¦Ś;Ü(Â@§Ó?™śś2Úô˝»_ëĐj:wĆ'Äţa"ÓÇ*˙ ?~ń ń Ýv‹BˇČ5ôsé÷ĄRiIOwϧEE_É™7˙.ˇ_ßZĹě|őeL¤1Ürčó¨čČŕÜÜ…ó”!ĘŰosčűüüüN9쎞(>ůyZjú,6g˘3Š/ydăĂ«śN禔”k‚G{őŢŰ»4s˙łÁJĹ+ŢĽ˘&úN4=Ţ˝°őOůÍÍ-Ď$%%‡ŤxĎëj»uŕ)ąě _‚ńSq‡óW­ľS™™93—\®"CkýzPPĐQ>ź˙NYYůˇ`EČ&ŠĺzÂ—ŕŽŁG]é5Fšú I¤˝>8t­&ű¦’µ:´W+V.ÉÎÎĘ%ç+}ńŠbňĄúź*˙é OĄé˙ŹÉ›WÔTţ*ă§ Ćt˙{5ýłžét5éß ďŘ—ÔľŽiIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/animations/aptdaemon-action-removing.png0000644000175000017500000000577312117271433027003 0ustar renaterenate00000000000000‰PNG  IHDRđÄBp}tEXtSoftwareAdobe ImageReadyqÉe< ťIDATxÚěś pTőÇżďÚ·÷nvs_QŠXŁ âŽ-¨u<°SuÄ:-SkˇĂ =†™2Si´ŁN§­ •zµ« Ѝ܂Ś„ÄŮáŘ {$»ŮëťŰ˙{9H8T’Ťhćývţóvßľ÷ůżüţż˙ďx£2™ 1Ä聆† é/s˙fYŔ°ÔOŁíâ¬MKäˇcň-•ë–3´§Řr©$Č—iĄ2µ ż$§ÖdĄm‘@đ!rHÝPű¸ń)îfšÁďhŠš PÉřŽeTĽĄŞ™ç6.–Ł04ˇzSčşş: (uł( ÓČGz,•7›v3ŕŻ]¸pˇpć—˙ŰĹŹ óçPĽ8ťvĐCöްpäąJ°·~*;çÁ ߏzwnBN9«‹EQŇ*baâ &wÂŹ1ľCŕ÷E`II?2eŇ”ÉW_=“ÖÍóf¤Ó©ó°2č-ťCˇĽ^}é?úŕŇćCÍšç~ţĚ3 ţ×çźę:ŠŤőŻBUý»ÚšŰŕ´x‘k/É WëŰXwä?(+ä §Ë"6Ą9s˝ń ÔθˇÖîľtá ôłĄĺu44?˛b7\¶\€ (qpf vŹÉG|k°pú?0®|Ša?ä÷M`ŢÄ__U5Ö,Ë’~2Ër_ŇşšĽ´c˘Ń(,3ĆTVYZ[}ןë©ü”JÎĄ]Yĺ»ÍE0Y$?öbËţ7[=z&Ď˙dG ŢŘ˙VŮÁPL¬ŞŞ@%y­¤$‰AĂR(ty.ŞÇűWaNÍĂtýźŮ€ç¶> G.ŹO‹Ä>T•M@yQ5Z»ö -§`¶łHĺwá•}żÇʍ_Ăk/ÂčŃŁ†4ľ‘¤+›íű|Cá/Phš6ĘŽXűě›Ŕ*Ô·;GËŞ ś˘Č:@O±38íťűöő|&źL%@3N‡–”O±…ĺ9`¸ dEÂF˙Óä8WąĆô17gŐ~ö¶m e [®'ÄË>ő ĽlŮ2ÚjçK­V›n©t’tCő3ôŔÉ‹ăL=ž" —ÓEΑGťyń#ŤKEp ľôç:»YÝŚËlwgŤ˙Îg/Ŕ˙ĹĹEı‰ Ť´CG<„IĹ·BĹAń}ÁOaµZŹĄŕ÷wŕ±™«‰łČĂúĎźÇ1Ó¤3QŁ'mo†ÚéÄâk^»ŕëż}Ę"äÚJúô_ě¸ĚX†Ĺ['"ĐŕC^‘›eś2 g®™%Á*u§šm>ľíťm$k)ŔŚŇŰńYl­~NŐJđÎÄ”ŠţżC8”Ŕě‰÷fÍ~Ü|š"›qTm@qŞŐĚUđ¸˝ß¸}ęnĎfcFŮ퉦)ÍA ťJ!™L@$’Ô˝»›¤ďűö)ŞLšBŢ  iłY]ţ§ĺeý;Iü¨Ŕöö•h‹6@držŚö„'ŤYá7úwŕ`ÇvxrP2"â©(˘©:SA„;0ËąđZJÍWˇ ‹#řEŹ\ů Ě´[g5Ąß(§ŃÚzáfňĺx¬vŐ ôoŁsčŃÖ}ňꫲ vłc†–H´¤ŕÔ" ‘gohÔřćŰ*0!ŻW”ĚĂ‚q/aNÁniS-Ëŕ-rŕăđËđ…>ÍšýxĚĄ0).X] R#öźřH×í7mźz–2Ě„’’U"0UU‰·gJ%ű…u=)Ç«÷âĂ=Çżęn™ĹaˇW-}łű řÂ?ŮŤúĐ:¤Ä8IŃänOŮsĚi#v¬ ůúü›asńH ¨Éx÷ čA Ö”ˇĄŮ‹X3hľÍä†Wń± `eÜşahüéî{°fÓAjëD˛cdÁ…đfVô9ěA~ŽÓ0ń ‰&Iđ<ŻG˘dL"-!©`ę}Ňřţrí\t%DýQˇa­ĺPl¤u Ô!âW˙\ óy:wçR,-Şý8 ‘[‡É ŘvKCMHwŁöÉöy‡Ęźŕ©E“;jŠż?@?ďż[„=ű2â˙wüW×˙»Ż-‡§ µ·T!.Fő’'µ·”p|ď$6+üd„EűÁH˘«÷ äUě$ˇ:y–~ŘžgN%v»]N˝l*<9Úýzş‰„Ń˙ç&›b"2 C˝éuuľgZ#†×Äß ?Ż@ç¨a°++ü‡®xę,~}Ăľ§E´!v|ę˙u‰ô6˝ĆĎ&Ë‹Ő(©ý7^’Az»}çxHÜí`y.+|WůXÝvRޡ&edŠ8 7™¬ăł¦!n!™I4©›mŢV(˛ ŃŔôs¬…¦@iĹőÔ)Óúľ¨¬8Ó“ě‹ď5âáć嚯=ű›ĎX°iđ ţĹŕ/<ýö‡#@?ZÂ2q _źŔm'üĎÔýąnCźím¶Óéáµ—W⍠ÝYŃÓUAďZjÍ{jź5oťoS0 ľÁ7řĂĂ×'đóO?»rň´é‹\N˘c ý`ÇÂdbÁ’ßÄ’ĂYú ů…ĹeŠšA´#xNGá°‹>|ođ‡‡ß»”’ďݡuB“†C3d“÷4­­;KLVw_}¤y Yëř9Äŕ|? |}Ź3F‘ey ń3Ď›ç'ˇýŠ‚Ą‡8}áw«Ezíqć9›4ŕTođ ţđđő |Äç;J6?&ÍŢă-¨žď¸žĺ–ôč[ćmV…Dv˝ő_·Ůűë‰Ţ5śgŠÁ7řxř˝)t’4íǧÚÚ=Ýťę…÷®™n<| ŐUĄ ”îgQŞLwŻńëq˘˘BT„Cgý'ođ ţ0đ{źË$TkĐtXíŢťÉP§έ޿·~>iřš˛»ßs0ođ ţ0đ)ăżRbČwWhC†ňÝ•˙ 0 ě1d*ó8ęIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/animations/aptdaemon-action-installing.png0000644000175000017500000000566112117271433027315 0ustar renaterenate00000000000000‰PNG  IHDRđÄBp}tEXtSoftwareAdobe ImageReadyqÉe< SIDATxÚěś tTĹÇ˙w߯Ľ6ŮÍ“<—„ $äARyXI•ZÔsęŽZ*R+VŽ=hzô(ˇřhU|Ő˘RMÄSA(P(Ę#@„„$B’M6ŮÍľnçŢ»Ů͆€d÷Ţ9g2űÝ™ű›Ůąß|óÍĚÝP4MCBÂŤ$×Ę\Ź8ź$KIĚżF±*ß\ńˇłj´• |/đăSW›Ýđ7Ü·&?*&™˝ÖT{É“g ńŰ=HL˙{­Ł­ďŻaŕËFó%ľŔřóEׂϙ˙pľ6*.‡ť­µ ÂĂAQR6edć:“Ď”cĘ»ď»îĆ |/đă‹®RÇš©3KóâĆŔeébckK˘“2A‰UlĘČyL9¦ü×Ŕú”ü]ňT´]îEżą˝=íhi¨†>s"LMl™şÚjXí4ˇz¨C´`ĘëSšJ®§ő#ńżnŘ‹$ĄÝS¦ąţ(Żü`·_ŕ ü˙˙Ş›Xa ‰P‚ňČępĄbŹś‘=™ył=˛ŁŰÍÎ?fkCnćdجlîčDÁŚEĽń·›NâtőżĽbÂPĘ#?Řý#đţŹîB—••¦kw´[¦]Ţ´2µĆGćňÝŤq•ŻĺĄýbČoYľ|ůŔđĘ®ÍwA"S Ůö=â•Y¬Ě'ßFÚ»`úbXmý¬Ľí«xĺo¨ý®ąG–»dŘ3Çţ v˙ ü‘ďł¶;­Ë2ŤĆěAŮĺ ]HrOdŕ.rť+cő0R“ 9[ß’‘¬ĹµřLĹR %RVć“Ďě¶‹ÄbÔôď‚H""˛‹Wľ•´÷ţŰWâ΢%lěµtóĘ_uü}”ľó;O|şîs~ű'ČĎWŕ‡ď3€ĺ2ů,a¬Âk¬`ewĂhšXŠŤĚp| —?¤‚´TR&‘Îé ço­©ÄL<]I$'gl(®FŢZł“ËŻ©ô‹?´ý¤»86kĐ?tŔí÷ĺs.ÎÁ®Âď'bŐý/áˇ_>ĹĆîľËĽňź<± %Ż/óÄ?Őoă• ýřĂ\h2'ŤŹđĘŚbŇś>ŇN;=&t›şÁĘśâÂÇ; aN—'Śô†ó'ÇQŐz IcŚRŞŃŘqćţ.śS@bbđx@Űl°ôőÂĄ°±ňĐüGf®5h˙'VÓ ‡Ť±¨V´|řîPŮ^†ŮúÇĽů<ń DŹĄ“Íűëćçxĺżzv\­{á$}#KČC‚—3'ńƆ~Ţ|Ď~ć™gD*Ťß‘Ďw/'ý"!ĎşşżŇgŚĚ'?XúůSç{f`;-6ĆÇÇ»ěvďÎK•pâś0`ávwíôŃ1Nsc]sś{=|Ť ČQĆâHĂqŚ9¨ýˇyÉÓÉ ©!nG`ü(çö¶Ł;1cJ).ŠĎ!NU€űwcŢřůĐ©‰»â'?>:K”Ńxűđ&Ě/zc#§ăs%1: §`×ţ-¸'ű^$D'ÁęÝm«±v×:”Ě^†đČ0|ŐĚÍř;/–ˇd~1ě&ěŰŽŐ·¬ô‹_˛ĺY0Ü@ Í˙ôîwü~ľśćÉŘHł©”ýĚĺ®?LxëĐ&؆Ľ¬’«ńŔÄRŢřÁÔ˙@řžLŃ´1ZŁhkk…RoÄ—›^Ŕh]¦ÇÉ'ˇ×ëĺ55§?˝r4|+řěčż‘H«ńí‘j^ůÚ†4¬EÁ´É(ßű:Ś´–ŚÍĽđ3h1ţţńłXtűo‰űlN‘†Ď?} t ę÷mC}üYt"ľ¨|żľűϨ/B•éč©Đ+ÓP±u#¦Zâqv×6śő—,_SM?j 6ěŞxeÔüÚj| BO×%6š¨K0›Ú±äŁŢĺiK Ď·ŢŃ„˘É‹`µsŠľçđ6lŻkăU?­˙ţđ=X.—ći#"w#…aöc ( Úđ(Íf´¶^@—©V«bD$O&“#,4”ťöĄ2 zÍ˝¬7Ż Ź$>ş]ŞT)ł}vŕ®/"ükŇĐ đ)S3öźÚ‰¬ô•Đjâxĺ+[OâӝÜŇEřęł/0ĹřG¤DyáëNďÁĆŹÇĂ<Ź3ÎČŇÎÁ¦w_ĂÂĽç0‘¬ßáâŐ­÷]Ő@ÜsS˛Ň üâ\ÝxoǸ)÷P†(±ż­D{q żÓç-mQŕô‰CX4ĺih$Qőżäđ‹ "łpŞc 2Co…(ęşó ńč BKřť~ńEcá”ŐŘrŕy,ű UsńCo%"dq—QąŁEVRa°Ůmőü…x$'Ą S“Š$MęZc‘f0Üpú9Zľg“ńŤM-ŤČÍË…6B‹¶‹­@gçeÖgzČ—0îԙ㌤ADDDŻťJôńäBüstKĐřĹéŹŕR‹ íčćťżôçď z÷7X:ómX»)śëjŕ…OÓr,›ő.ŽíŰ™yOŕÄŢcřÍĚŤÄ#RˇŰŇ_A‡ˇ$űIś<ň2Ó ět Ę•†3Ő'07ëPoËfđ‹˙ͱ ö>¦}zą]­(-‰0÷;Ł‹í‡?öägč oý _2ä ”rą\Čť8ÉűÖGĘXřúúűú'@‰IĺNĎż‹‚Ć/ĆB®ŽlţůE܉_Ŕţť›ĎŐwßńĄ?žÜtľő/eĘŮćön{Ď®úúú<×T*.]şäó™Ý]sąčÚšşŤĚf ‰˝_ŕ üŕđ=˙‘Śfcö¤ÂSaˇjzúŘE¶L*!‹i $dśË$Üg#™ĆĎś©#é8:|”¬ý&˘ŞŠŰ1ÎËÍĆĂGĐÜÔŇŢXwćAr©ŠđŰľŔřÁá}•ŇóS¦f'L,A,łďgŠE"6u7 5-•,˛­0ÁČúđĆg0®;¬Üshx„Ţý Ŕř?|OÉiiN‡Ă±‡X‡×ňż›Î·˙řy•Ýľź$ ěŃ®Ŕř?hüˇ.t(I™wÜÖbĐ‚HÝŻ\ŠÜ×(϶÷šÍýÔ‡ů9lîh&ŃĤ„oř_ŕ‡˙_K–ZâgIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/animations/aptdaemon-action-updating-cache.png0000644000175000017500000000477312117271433030030 0ustar renaterenate00000000000000‰PNG  IHDRŔ¬±ňEsRGB®ÎébKGD˙˙˙ ˝§“ pHYs  šśtIMEŘ  ĂŽÖ$ {IDATxÚí›{l[ŐÇ?÷ĺWśÄ±Ó&!IIŰĐҦkSQ ‚ŇM­ËV´2¨ZaÓş!ţXCЦi 11ń0aÚCĆxh"LlŁl ę@[`¬tm·¦ŚŤÉ %Ź:¶ÇöµŻď˝ű#nš¤vIÜ”dĂG:V|îÉçwîďţľ÷śó»×/3ZĽ>e‡×§äń?RÄĽ fĽ´yüŹá˙đ\îoÖú>;őŔR ¸(OĄŁađx, ¬züÍÚŮبtsđ*đ$đęŮđóeŔëS<ţfmpy›€;Ň_;ÓµhúÎV^źâî´9ĺV»Śl)(VeA€şŇýçeú»Gv×ä ^źŇh±IŹ{*Ď·a±I$Uťh8I¨7ÎH8ůĐt¶"đú”-@ý¸¦v`×gA\Â,˙Ő»´9×}ţfí˝ä>şęŇŵŐ+i?ľ-4IU'©ę[sB:ř÷y*őĄŐ!łűjëxíČ‹D‚‰kr $ŻOit•ŮwźçŔí, .'ô1 “ľ®ÁŢřŔÍąk:đ[ŞÍŻ‘-§VĂÁÁ0C'Ôŕ.ŕ‰™‚×§4«€ŁŔîô éł'ŻOq7y*őÎ Ľ~Ď߬ůf] Ü]˝¬¸üü˛%¸¤Ş Ç_Řó\źżYŰš#űqw…˝ŃSé8c?I©u¬ă…=Ďő¤—Bá©^hŻO©Q¬R·»ÂNlXC”E kmd0yŚ@˘gB˙c˙ ÖÖ§—H7ë§b+ü_™_în”K‰†Óe;Źh?ŽęĎ]`Yě>Tą´hŐH(ÉĐ€ú;ŕł)i‚ż¸eŢ‚‚Ą‹ ±:dÔhĘSýyóŁ®6Ło‚żĄlˇÓ˝¨ňBTsx¬í:@lHŰÝŐfĘeÍo±KĎ[P€aXJPD[ĆZb«@5‡‘Šă®pżjü]mĆ”ěÔzĄC7k˘áäĂɸ~o"šňŹ“ácťőź«Y‹ DÔ ¦ab&‚( §ĚFG‘˛%Ó{€'§b««Íččj3žëѻڟŤÜUZźü‘–0¸¨j#ÁÄq,Š…"wš¦Ő«#©ˇZŻt`Şçđ ç7"|ˇúBzĘ\Źhĺµ^éŻ3ÁžóY ŻOą ¸­˘¶°zŢ‚tÝD×MJĘě×Ď€‰;J«Îň˛2"jđ´:tBđçČŢbw*¤’•%µ)™ř`”ř`”cÝÇ)˛»Ç*€KŞ˘®´`Ç4íĽ–ž5šüÍÚ.łö„żY»9ŃÖű÷?ŹÇ˛€”fŚU»S¦|‘“á@‚ u76l¨»1§“ó7kB¨/Ϋíâçĺ†ɰR<ßFz#̖żY{c8Ŕ4MĘ9)©°og*kćő)W¤kîK –­b=p$Ç1¬nj5Ú3 ěúây¶/şĘl¸†§ěʎkgż©ŔeąĂ]aÇ1r.ôŻ™aţ>OĄŁaŮuĽ˙ĆVHŚŰż\dĺ—ÖHôĄőĆ ¨\ůO{b"hojÍ~ÇËć˙Žj‘Ň-+ŃIŠž@×N1>|g,ą“ĂO˙pÚ|=ÝUa˙•V®Z÷U’zśţh7‚ ŇŃń.k÷Ć(vł°ţÚw€ĺżý«iŹ˙d9¸TdÁrר͔AÇ0«ş $ăěü,-±’<‘¤¦ĎŔž<ýúŽç ŮŕŰyŚ@çëÄ"C€9:] ŠŁ˙" ‚( XK@Ob),ă™»˝ČëSnŞĎ”%˩מţÝ%ĺöužÎÚ˝#kÎź«ĚÖ ôk\t8Éxţý÷˛đ’ó8ę¤űhm=ÜîŃ™`éŠ5( 7źĆĎv‘3ů˙Öż|—ő›GőśŇ5’)5#"ĄčšÁŔQ~~Ĺ3ĽđŕצĹĺ©ďł§.Ćë6Lč§é ‚ńŹĂHŤµ˙m˙?Řx85­ńOö˙OßýUK‹8™CěŐ0c·]ň“śü3™ż»×OŇ5Dt@çËUWQZ´8«˙…Lđo<ĐŽ6ô‡vÝC ·{4`Dđ”UˇH˛$P蚏, Řť%”]z+×B"ď˙™@0ÄKŹÝž1Î%ßëSZŞdeÝŠęšsÄßW®( őoŞLć˙¦f4‹»­Ç«ÄMq‘sJüÉ9›’˘ÉAë U7¬EÓ4šŠf¨ GC¨±šŞÓxloÚž?â_%°yÓuc}S††¦'PS#‚€Mv˛{ď‹\×]L$08-ţd˙?#wRuˇAI’1ĺrb —ŮÎgqÁ˛iŹ2żSb ÂDV!‘[7tYF˙‹ăŕŔ‘›8Š([t$•<5wëÄcQ˘Ń(‘ȡ`€`0Ŕ‰ţ^>ü÷ëô˝˙&RĺĺDŽżÍ×oŕHzŔź ß©š+¨kÎż0nţ˝ţM•Lüm=¶őx(,.2¨oŮ*~˘,†Ŕşx)ýö †’i 64šEÉ•ďrąŮxÔäy˙ł§ kÄ"±0őc÷žŃŕ_µćęióÇűż3@¶ HЉ¤˛ARBH&K.Čiü“Ż/1Ťh$’ŽnIđňá_gó˙© e«hŢtß$ŮĘŰ»ďgĺ†ď`)LÓ@´śľ{–íľ©8¦ŁăŤ§q¸Ę‘-^zěvšZ !ĎĎ΄¦V#Ďź> Čă;ővŽfëÖ #đ¦i ›¦©iڵŤýmč'źĚ`š‹/ŢÂŃןqó’ççůsŤ?AmŹlŕ›÷ěKo+r+G_Ů™±=ĎĎóçLM­†ĐşŁ|U_˙@»ŽbŠĄ«…ńk¤S»esÜçřgóŁ-z2 @I‘CjÜ9bäůŮů€Ń¸s$Ďź=~Ć4č÷€{ĎöTS«q_–nž?ú˛Ţ}YŇ|yţ§ČĎö ĚÜtĂm„;÷M‹Z´h=mĎ>8¶q<ĂŚĎ4˙äĆ.Ďź}ľś­łĹę  Č3-ŠĹ:ĺľy~ž?řg€ŠÜÓ2 ZmÓ8ÜńH%Aź} B}ýđÎ+Ű2ľ„Ăwřúů$źKáßml"Hęřô¸š*Ü0˘‘pxúűBЇ×Őî.¸tň \9{řy_‚đ§ĂŰ~Gr,QapřßáŰÇOî/oxćNŮ"´˝ý,,ţĘŁPqk=X– D*šů”´Ľ©GÁRC`‰nčÁB×<ÜHG şÎçľĂwřöńSA¬®ö#,˝eĺf0Cm¸47YK –OęR÷¦1úㄾŞî>h=ř猻o‡ďđţôóS¸e÷–>Ľóň·Y­ű›QďđľĂź~>ëŔ¸!ćöýpî’+Ý=Ç -R¶ŚMýÉůźK=nŹÓ8‘Üi#>Âô¦‡[Wm†U›~ý(Gř˙&żĎ…OŃ5ŽEľ —*T×}ę°ďB„“yńy 8ĽŇ—(*Ű›Z ćŐ|îßŢrć/äĂç@×@i|ËĐŢÔ˘ŕźW ??r‹ ą{ňâs,nÜń=©QghPĽe°ˇń“€Ë[6ś˙ÚçذRíLĹWěć7Ľ6gbýí¶żÝţ“«˙Ź?Fú1&»&hýh ¦»­¤c‚îGŰžz“Ýă"q×ĺÓ žW¤éjĽ—ŻéDď§–X|ů;1÷f®|jŕ‹‘Ň4ÝwoJgąćüÇň,lEţ}/W>uZś¦+“‡R:Ë=÷Młly3ň)űT®|ęŕCNÓąy5Ął\e/ ×íA~'fCąň§ OˇC>“ĺä†×ßnűŰí?ąúÚPE ٵzÝVh?±€9• °ł˛ĘňĎ6î‚`]&™ ß_„Kgxxhý–ßóúkđyÔ]î,űľľćkŻÂ÷Îż b—ÜóUv¦Í-Ípóçü`·›«+čŐZ_ńˇŁŹĹ‹GmmÇ!č· ‹Ô€¨]…»ż÷Rs!|A)(@9Ëww_ĹÍ_'ţ…łË‡{ ág“âE+ˇĺŹM­óΔúŰm»ý'W˙2A$Ů EĹĄ ]4jĂ0 ˝ătgÎźĽ®3LĘWĽ¸L‰ł®K—/ཀ:7;Ř6 Nť=Q_q(élÉs5ÔŤ÷.Ô @ÂM§iqpÉJĆßM•?:Ť€ŽŁŤ I‰Č‹żďcÜ"­łž/_˘ âĎ9ë­ŕ˝Ě… G8 ÝtY–ĄćËĐ$…Ť/‚÷Ô<@Fć á"L#ůň‰ä—ťS4 ĆMÜWJŔ«ĐxĆÇ'NÎŇu=ś/?›č˘śäĐ©Łßbç3ŻţvŰßn˙ÉŐ˙…qť™M©RqR晎/®ÄĎ‹8rŞŔ%âgImWö‘zjü’Jŕ„!Đ8X„÷nÔUaˇGů’ĚĄîrä žĄż÷ˇqp)¤”ŕ» 8ńâuW¤ ú»J€ěđĚÎ(ĹĄs tÓh!G8Ž/¤ţ4J)ĂŔűü@Đ6¬čĂFď‹ĐEtM¨ŁćËź(¬Úh{žńŚ[»ío»˙äč˙µ“KĂA"Ś]|÷k?űö–ɢĐA°Đ8fbţ eÓ‚Ó˝+óbŞ|…ë W@oWŽBôvw»; ý¨“Ü«z=Żžů¤cjüdѧDŮžýlŰQPŰ˙Bu\đkëΔ•ÎŽ!'o~2 :_Ťö1ŕüąhŤ‚rK–ßýAeĺÂaB™/?Ĺőűý¬Aűűű“Q\2{~Í[+V¬čĽp!oţd«čjцYě/ffýí¶żÝţ“«˙ ă ˇS˙#XĐ÷©­iĐŤFůéĚžx–?ôŘúµpřĐvŠ KvŚt˙/˙č•Ý/đDŔ%Eö=ŔTřoظRm;¶IöUYś®šş\nÖ5üd×É=Ż>é/ݶ ĺżüňúe}çÖ¸+W™†Ąé‘Óšvű˝Ńń§?|«jY˝Y(˙é§×űc}KľP˝ĆyKëíy?vçÚüssÝňo<^0˙Ţ{——pwT-7dEROťąëΕgzÎź l~âIŁP~ňh3±L‹âE—łô8F§í“ÍŐ3 ţvŰßn˙ÉŐ˙…lł%&ô·†!o˙đ!(/ŻžŚ¶·ĎçSG#tJJ“7tV~}}}ĺ©ÓźD-Şf¬·˙ń6ŞMăĆŤEMĎ5Ö-]zc˝{ŕ=QüÚśţŽ;˘Ď˙˛ÉżzőĆÂ=ÔÖÖFţ}`˙´đ÷îÝ[öâo~µ`ëÖmŚEŹF05¦źřľ ”v#ëo·ýíöź\ý_ȡQ¬1›"hjjśđL&]|°™o9üëۺűż=ţĎĺŃnµ‰k¬͢;šÇ»|1qŤ•SYt§ňŕÓŰ‚qş‹YtťyđËđš=Nw5‹.”ßť¸ĆJ$‹.3O쮿Ýö·ŰrňÎů·˛Ž8ňŮ•˙ 0D E÷wę¸aIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/status/0000755000175000017500000000000012202062656020373 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/24x24/status/aptdaemon-download.png0000644000175000017500000000345512117271433024665 0ustar renaterenate00000000000000‰PNG  IHDR°çá»gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAgxLĄ¦oIDATXĂíV]lSe~ľďü”ÓŇmmÝĘ–!1gâ67˘ÄdKŚ, ˛41Pt‰ĂąAă_äĘ@–°uŃ aJ2 „żfÂF 5S٦[AşNě[»ž®ÝĄç|^|Ö˛•1Ł^Č{óôí9oű<çyß÷;Ŕý¸˙ď ÝđÉ'›7SZ^Îł—^EĹŰo9˘ë‹0—ř¶műöŤŚŞęńtw‘Čôôä$żĘXşŽRB8¦>ńžB!!ü:!ĹšŹ˛l6ŰíŔŃŁ»wŻ]»° s‰żţşÓ98$““^/Đ××ŢŢШęŘصk·¤l6»˝°$NY9šÍ99yyé\Q–.µX»ý©§věd9'硇€é顡Ž@U'&B!ŕĚ™Ţ}w~!d6ńü|žŤŽnŮâtşÝ€ ˘$7nô÷> őőutáp08:šéśŮśťm±ź}Ťţö‰0¦i÷Ţ499&“Í|üqQQM °bEIIe%př°Óąuk¦qvůččkŻ56 p‹% ¸t©łł© (+{öŮ7ß JKׯcL×JeŮdĘ$ŇŘčt>ńĐÜĽcG[Lęz"‘Ć©©h4ŕ ¦ë>˙üر†€1I2ńqżl xţůúz§3ĺHj çţńŘÇÓ×—Î{ě™g¶nt]U/]âŻëiš–Îů“ćů_˙Ůó˝˝##§O±X2‰ŔĚĚČ0<¬ŞŔĆŤĺĺ~®+*zňÉ^Üîîî“'çw,CŔŮł--۶Ąóúú†—kö .&ć«3DŃh\¸Ţí>wn˙ţ{Ŕ{Š#Gvî\¶ěńÇ}>ż||pPÓIbŚŇ¨¨Hď2güÉĽűŚ1ĆŇŽ1ĆsQ¤T–ďFť·p*,–¬,ŁQęęöďź™I{śáŔćÍź~ęóąÝ|¨?ř µőŁŹŞŞöîť{źË•›K Ş’t'ň‚@)c€®óÖŇ4Ć’É4NOÇb·÷ţÜ:‡cßľęj((ŕű F5­˛ň˝÷D±§çÂ…¦¦d˛˛RÄ<ÁiläBöî]·îĄ—Ţy‡=— "‘`čí5 `űö_Ü˝›ŻIIš=#š0FźJ5 ™Ń´@¤%K((EB€7Ţxůĺ]»ŇÍ—H$ń8ĐÖÖŐŐÚ‰„B““ŞÚÚ:Żó…, F#`2eeŮl@u5ÇááŃŃË—łg/^™ËtžĹí´YY€®ËňŇĄ™?l·@]cŠś8ŃŐŐŇĽúŞĂńÖ[€×{ëV? IĄ€ đáWQ4›ŇR«őąç€S§ÚŰOśJJ‚ÁX pąÚÚt}hhö]P@"ÁqzEٱĄĺ«ŻöěŮ´éöâîŹ[­„ß~űĂťť@qqYYUpńâÄ„× ˘,S ¬Z•›ëp˝˝==.€×űűďŔ˛eˇcň_SUŽ™/% ľNĎŽ”#ŠÂŃlć:’ †”&S^`6—•ŐÖ Âńă68ŻĽb·Vk(D "ß>á°ĹÂرcíí‡]ż{˝@YŮ•+ÇŹkZ8ĽŁ{âŮÎLMqĽqcĘâź~âčv߼9>|÷_¦k×vttu}ýu4š› <ú(`łézq1ĐŢŢŮyęT4Ę®RSsŻÄS!,NŔâăúőďżgĚďĎĎ_˝ZÓĆÇ}>żßç«®ţőWŹç矉‰‰p8Řą“é™3˙4źżUUďż/ФđżćóźÇ«ü|ĆţIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/status/aptdaemon-add.png0000644000175000017500000000254112117271433023601 0ustar renaterenate00000000000000‰PNG  IHDR°çá»gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAgxLĄ¦ŁIDATXĂíVKh]ţf2™Ň´ ‰S[AjéĘg¨A7Šbâ˘Z´Ö–JATŠA*…Ć.|Ą"ľ©.D]hEĄ…lkMRD)ÄZlúSë$)™dćţ‹ŰËؤéă/ü›żg‘3çžs'ßwĎă° ň˙n¦€+W*+y~Ý:jy˝˙-<»ýÔ©¶6MóůćL xmíŤ?~’ÔŰëń±,ŹŤQ/!ú>žç8ŞŮZÇqpős\V–Ő ŞŞ(€(ćĺŮlŔ“'MM;vĚL$Ť@*đŁG].źH$ĆĆúú€®®/š›I …‚Áżň<äçŰlË–F#…,TçĺY,K–čvvvn®Ő Řl7Öעh±˛ĽzHR8<: ´·ßąÓĐ™?řŇĄ xU•Ëĺ÷| †˘˘M›YţůóËŕŕÁ††Ű·Ůżx˝“&Ă8|ŘéôziŠŤF §çőëK—€5k¶oŻ« WŻŢµ „Mx^srf®fž„ěěĚ~MK&ÇÇBâqI1M&`xÝąłşÚĺba˝ČqBę‹BˇŢŢ®.Ý^ąrË–š@Ó$©§‡VĽ¦éTU·UU÷§ĆŐ×?nµŔŻ_FŁţţŇŇü|E®]Ű˝;ŇăKJĘË÷ěü~ŹçŮłĚÄÓĽ}ŰÚZ[«ŰŐŐÍÍťť“őßŢÔtüřÖ­úúąs7ovtdŢç÷żďvĎ‚mŽkk;y˛ `íÚÁÁˇˇáaźOUŁ‘ž_ĽŘn×ç —ŇţÜó,•ô·o™ Ë—ëS‡Î¤hT·­VłŮd2Žq»#šă)3PYyőęŕ ßO›Ą±ńŢ˝łg7oni™ßů@nî™˝wďž9łaC&occ*đŚ&gÄé¤DZZŽ}űNź~˙îííěLŹw:ż?pčďŹÇm¶ąÓ{üx:‚pčÓ9k©"ŠYY&“c6çç§űp—ëĉmŰ€DBÓŃK+‘PŐ©úő!ÔË4ŰwţĽŰÝŃQV– לĐ1h6/Z”9.‰ÇUčë‰Ĺt@šF Ń_ SBUĄÄ’Ić§e˛bEAÁtcwŚżŮĚVŚĆěěś@¦&PRb±D"Ŕ… n÷T%Ćdď^‡ŁĽ\·_ľ|÷îÓ§Ěń„hZ2é÷S‹ź¸x§iâ‰eÁÖ3`6š&Šąąé;®_ßżź=+Jşßá¸uK»˝¸8/đzAYÖýoŢÔŐ)  („ šöôéĺËUU(ÖĐTÁ¦5Ó·}c_Đ×0}ÎăĚăśűagR 4…›{ď—Ë˙Ë:ëě}öů˙÷ZkŻsŕ!â˙ŇzŞŞ^{M§+(^[Ű˙–ŢŽ'N|ű­Ş¶·?°€»‰;vîÜŘř|CCMM .--,QM[yN§“$aWz˝đ$I’$ $IŚK’ÉätÄ㑍6›Ű ß}WQqŕŔúBV ¸›ř‘#••ííŤ.,ŚŽBCCMÍ©SĐßß×××ŞŞŞšŹŰťś ŮŮŹ=–›  ,ËÂÚlGZÚŠo6'%9ťŕv?óLy9ŤGN,- ţôř|~˙ÜüňË—_ž<ą¶ýťÄ32„78ř曕• ×˲ŃÓÓ˙}é46Ö×_Ľ›6y š¦ŞńříoÖ4UM67·°°´::šš~řaí2_%ŕňĺęęcÇVü˛˛?ĽreĄPźzިhď^›óů¦¦ ąą««ą¶mËÍ•eHO/(PHMݰÁí‹eyŮd‚H$ „€űEGGCĂgź­=®K\â¤ôt·;--QÄŹÁ išşcH’Ű]Xű÷=ZUO?]Zúúë03ăr°ukaaq1äçěŰŞÚ҉€×[Uőý÷ĐŘŘŰűůç04ÜĽ ±XOŻĎĘ:pd9;»¤@¤pN§Ýn±čő ž‰űëŁďľ+ĽŹ>Z:ŮéÔ4°Xrrž}v׮Ç!5555#††Îžmm…ńń `ëÖsç^~RRňňözˇ··§§ąB!źOQ ž Ť®Đ|ď=Aüôé»yÜg#Ó´_}őí·a~~hčʛӴ[·`vV’&&ŔăIOüq€oľŃ4Çýţ@vďţę«çź“ÉĺŇé$ÉlĐëťNFc1«ş»»şDŃ˙ń(Ęěl8śµgŹ`ÓÔtôč;®YkÁh4™,°Zíö”°Z!%<M۸úú>ţřÚ50l6ł®­=qB4´ÉIAXŇńřô4@4ÚÓz},¶¸O<±iSNdeeg?ů$ŚŹŹŹwtŔČČőë]]uuss~˙Ťˇ`“–öo ;g·»\«Ç7l8r$?âq·[QDŤ‚čň˛HŠáaU<ź™p8ôűay9čî†@  ‡!-Íĺ**)ů IIżýV__] Š•nKĺ{ÓMdźÝž¸c0ÍV+Čň˝dfšÍ&47OLüřŁčĐâS!Çc4*[8 á°˘,/C( .,@0 ÎĎ‹yš:ť,Űl0662ň×_±¦¦56ŢýŢ5Čr‚öJěvŹTŐhLJZýDb¦Á09ŮĐcccc]]ŕpX­ D"Á`g'ÄbѨ˘Ž ˇ±ŘĘ:‹ÓYRÁ`(¤ÓA__oo{{$â÷ĎĎCâPYW@4*ěŇȲĹR]]SóţűŻĽr{‡¸7ôz›MÓD™ýú+ěŢ˝wďK/A ´´€ŞĆăKK+óu:YvąŔju:÷ďż~>––«WĎźŹFÁp8?tčäÉŠ ]•+ëş÷>‹j›-±ošL‰~ňÉ@MÍöíŰ·nŮ’›»qă–-˛/.ţů'ŤËć͢V˛˛ŕúőÁÁ«Wc±ţţţ~ŻwvVUUŠ‹Ĺ©30°Łű.â;#“°â»g5$IdňsĎ ô÷·¶z˝v{r˛Ç“™™śěpętŁŁŁŁ==Ńčŕŕŕŕĺ˱ŞĆăáp]ť ^^.ű|ë1zŔ<8ľřâĚČĘ^ݰ‰s¤¶V®¨„˙ůçżÍç!ţÓř6o@Ř ť]OIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/status/aptdaemon-working.png0000644000175000017500000000302112117271433024523 0ustar renaterenate00000000000000‰PNG  IHDR°çá»gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAgxLĄ¦SIDATXĂíV_HSm~ÎńlËM§6ۦVP ýĂŐś–V%QšBtQDQš^"A—–” ÝÎşčŞB¤Ŕ4@Eĺźć٦](Hʶ´ăÖVEQŢGÓ%YňKBZšäQEQ@QŇ:E©T99‹-.Jef¦Á<}ÚÜ|üxj!+$żt©­mdXZ ľ|_Ľhi8Îëťś\N¦@§36n ‰2ĂH633;[Ż—ýôôŚŚśŔ`(+kh”Ęěě-[žďé8ÎçóűWŻ=jlL.„Ž'ž—G_ĽŘÖƲM3ŚR pÜääŔŤ..F"+3‹ „áP0Á`0đ<Ď˙řřý>Ç>źdż}›™ńzéé±1› řúu|üý{ -­ ŕŕA€çÝn— 8ľ±±ŁÜb·Çż`€‰§áń\¸ĐÚj·K)V(‡Ł·÷Ţ=Ŕd:věęU ?ż¨¨Ş EQ€¦•JŤ&u5Ó4ä§'_„h4D1á8@ µť•„VVÖÖ¶µ‘Ś^¤(&ń ŻwbbpPöwď>räňe@8Îá*^d±ěÇbňzbÜĘç‚ ĹÄÇoŰVZzęŔ˛6[WWrá+Ľ~mµÖ×Ë~mmKK__|ŁţttĽ{' ŠG]]yůrźe߼io˙EfÉ©9(Ęh4ôząĆb1@ˇE 7×l€ ,€˘ôúŇR€˘ †ýűš6h:/ďĐ!ŔéôűŤFŔjíŐf‹D§s~~óf™@}}]Ý•+˛?: ĎźüD"fss3“ŁŐŞŐii„'‰O1F›š$ďîݵľar1!čp8đáĂŔŔű÷@~~^^A`6—”ěŮŘíCC, x<^ŻŰ ”•íŰW^L&“ÉX­¶·7n45ÝĽą ńBDńĉłgŻ_ľźčëK- ż_Nź–‰čt4ď×†ąą™ż_ž(€YíAJĄJĄVŤV«ÓĄŽ/,丷oĄ‹ŕäÉššŞ*Ŕížžv»—kddhĐh˛˛t:  ććłą´´ĽĐëŤF˝^&><<<üéSMMâ=k ŤA­výúäqťťSSEEŔ0€\*.ËѨÇ„BccŔěl4şnŕtÚíJ%PQQYYYą|żĹtw[,Kq±ś úç4HО˛Č…"=]ŁÔjI@2K@jźÔ8F#ĹmÝŞÓĹb@IÉöíąąŔ¦M:ťB¨TMf¦Oö'6{Š 0 ˇ-g@«ÍĎA©ĚČřU®\.ŻWnşÄfŤDÂa`vV«-*>ćůPś\XXZBˇht~^>Ť4wOŹ×ŰŰ»jKK’ĺy€aÔj«őńă[·ÎśYţńs¨T’őůDŃh<žâ↠şÚ`¨®věŘąs×.`tÔédY€çµZ …ff€Ă‡+*Ž•Ď#S‰ô@gçłg]]/_ţ]+©Ĺd„|d«ŐńôćÎťÖÖŰ·íöz Ńk;Žd†$Ůí–ěř¸d].ɲ,ŮAć8!ŇÓÓÝÝŰ+—\*Ň:‰'ű“aŐShmĹř7%ČăPš*¤´HŤÇŹËîîdož`Ť%ôű •ŘĘ/¬dD˙łř 5+ČXgąNIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/status/aptdaemon-delete.png0000644000175000017500000000320712117271433024313 0ustar renaterenate00000000000000‰PNG  IHDR°çá»gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAgxLĄ¦ÉIDATXĂíV[HT]ţΙ9ç̨3y)GI„ ¨$Sˇ3čňĐKşŕCË‚"($čĄ »P BHJ„ĄÖC™ Mć—óFŤá4©Ç3—sŮçŘF3ó·?zů[/ß^{í3k}{]öĺŻüż…™ď@YŮţý,»v-ŐÚÚţlx™™§O×ÔŇŢľ`ß^TtëÖđ0ŕóy<ÍÍ@ ŠÔŞë‘ďX–a(+*&Ő†a`jgA‹M“e€çm6‡¸ż¤dëÖů‰Ě"đ}ŕ‡—–¶·Š2114Ľyóřń•+€Ďçő Le !ÁáHI8ކl6S´Ůbc#şŐ8ąą'N<›–b_ßÓ§€Ďç÷ű<{vűvqńÜDŘ™'':TZúîŔ˛f3Ď>ßŔ€Ë¨Ş,‡Ăł3¦i„@0H I’$I€(ŠâÔđí›ßďó~?ű±/_Ľ^`d¤««ąíë{ő 0™śÎ Qüô©ł(((.®¬4Ľ´µÍĽŕi ]?pŕúő¶6Ŕd2›čěllĽqX˝zóćăÇ]'DU]×uB–ĺůčč‘ÖV·űŐ+ ĽĽŞŞ´ô?¶Ŕ4ٲ%++7$—«¦ ™`ó÷˝^ŹçÍ›ž‘‘źô(@Ď×ŃA+žMŁčrőôtu--CCŔŐ«—/?yňűÔŐŐ×߼ €ĹB÷`¦¦ŠŠ˘˘^XxĺĘ‹3őGRQŃĐĐĐ Ľ˛˛˛ňÎŕóç‘‘áa€ă8Žăhs›L€ÉD»f>=?Ó¦Ť]»vî<|X__VÔÖVW÷÷3Ěż|Čt}۶˝{ĎśĆÇ=ž/fźkj·űëWYňňňň˛łŻwtÔăT•Î)MSU]T•˘¦©*!€,Ë2!€˘(ЦŞŞ(şČ2Ő5MÓ4Ťöž®WVÖŐÝ»÷ńcQ‘y>†đĽ DEŃŃv{BÂlűŽ«V%$n÷Ë—ýý@VVvvz:ŕ÷ŹŹ‡B!„č:099>Ó-&†ľ ‹Ńs##€(NN@ IŞ X­Vkj*ŕr˝~írFŕ†ß°ZŔnŹŹ˙ůŮţţŮ{şNÇ@BB||J °l™ÓYX±K’$uuďß÷ö66’%Š€$‰˘É4·Ż9Ąe·;gµFGfóüú×çé Íó@jjrň‘#tĘŘl@w·ÇS^NKEÓč7‚8K–ddCCˇP[ŕt:ť‰‰sűaĽm6aG2`·/] pśĂ‘•57FÎsśÍFǧÝĂ^ďŘX]˝"†RSSR¶o§k“ p:““ssBhÎL&†ů… ( EQĚć¨¨ŠŠŞŞK—öě™ţBĚy'lZ­q–ĄĄŁiŔččŘX}=o·çć‘eY‡UőüůššŞ«/^ü=żËqˇP0¨(.Pýg9ů+Vţ·LŢSŚşĆ=IEND®B`‚aptdaemon-1.1.1/data/icons/24x24/status/aptdaemon-update-cache.png0000644000175000017500000000410412117271433025371 0ustar renaterenate00000000000000‰PNG  IHDR°çá»gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAgxLĄ¦†IDATXĂí–[lTUÇg.gi§ťé´3Óé}R±±iˇF$BŔK‰ń‚•h1 ŃŁiŚ/>©Ť@ى$`ŚÔ#Ń4 /Ú’TlĹ^lˇi‡–ŇNgÚ9Ě…éÜÎÜ|8cákŞ~ů’Ďő˛Î:űś˝˙˙ý_kí ˙Úżö˙mÂz|đÁ*Usł ˙wáµ´ĽöÚgźe2##›ŔťŔŹ9qâĆ $—«ż˘Ńp8RFłŮü*• (>÷¤Z­D‚ ‚‚ Ś ‚Ng6¤Ó˛ ˘h4Úlđůçoż˝wďúDî"p'đC‡zzFF ™ …ćć`hčÜąîn$ŹgvöĎU*‹Ĺf«¬­V¬Ń(Ţh4™¬Ö|¬×šÍ`łµ·żň ˘ÉTWáđôto/H’ßŔwß}üqW×ÚDT«——ç€wvöôŚŽ‚JĄŃ"HŇěěŕ ¤R˛śHÜ­X:ťÉÄbŃh$‘H$‰@8ݬ@ ŕ÷KřýŠ÷ů––<źżrĄżĽŢééź~µş˘â v»ÇÇˇŁŁ«ëŁŹr« ŻŢŕ?)  dłĎ=wěŘđ0¨ŐŤNăăßü846îŮóŇKÍf2©dłŮl&*•(¬ťĹ}}cc’ýýżýŔŇR($ËL¦ÓŮ,˘Z P[kµęőĐŢľiSa!””HŇ·ß‚Á`2Ůí Ń˘ÁWDQB4w.čń¸\CCů¸ˇa׮Ç!“‘¤±1%ă3™óĚŽ7o‚ÇŁäĽÝ^YY[ ąĄc±D"™Ir»gfŔl6Ôj¨ŞŞ¨p8@§ÓéD¦¦ü~řôÓŢŢË—annqŃď?tčěŮîîgźýäŐZŔ¦ÇŽĺâ}űžzęőס˝}Ë–––Ľ‡ÚÚG…ÖÖ††ęjI‚ĄĄDÂ`Pvş¶V©€L&—Ś‚ R d2˛ Źß‰Ŕąs}}ăăpáÂĹ‹—/Cq±N—ÍÂ=÷Ô×;94O<±f ¬e˘¨Ó PPPTd±äßKŇâ˘(BMŤÝn6Ăŕŕôôň28ťJîç wh˝˛ úý°ukssCCţ€ËfŞn·Çł´ńx,‹AyyYYqqîďÖÖ»jŕŻĐë%%yŹËr:ť—\ĄRŠ3\Y‰ÇÁç ‡e˘ŃD"ť†p8•e啟/üvN˙Űlee ŚŤMN^»:ťV«ą˝Ý%%ë(›˛¨(÷F«Őë @ŁQ€ßžŕŹ“5ŠDâq((ǡ°P9G–—#‘ŇR$­V!•RŽĽxÜďOĄ ą9™L&!‘H$dŚĆ‚FŁŃhjk+*ĘĘ`y9“ĺÜŞ~˙:r\µÚĽEEd2˘XX˙ŇlÖëfg$ ZZęëívp:«ŞĘËann~Ţ톋]®[·@ąď@,&ËĐÓóŐWŁŁ Ó B: /żĽcŁr‚‡Ă0<|ĺʵkFcMMnŐ_~Y‡@2©řp4áÔ©3gŢyçÉ'˙|Bä(––<ĂĂ““f3448ťJW¬¦¦ŞŞ˘ŠŠŚĆPNś8~vViĎj5D"‰„ @,‹e2ŕóů|>_žŔ† fsEŚŚLMy˝ąYżüňv®üŐX­^ŻxŁQńĂóĎżőÖŮł##Ű··µmÜh0ěÜŮŇR] ‡Ĺb4B˙Ď?ŹŚŔůó.—Z ˛śL¦ÓůvšóoľůĐCeeJí$“09éő¦R00đëŻ.ץKJűĽ˙ţuXËrĘäü­[ą‘PH’üţŽŽľľˇˇé鯿Îd”ËÝ}÷mÚdłAoďčh(€,‹"Čr*•NC"!Ë©”R¤‚7nŮ,\żľĽśLć€Jqżřâťţ¦ëŰ#Źtv=zŕ@uµÓYUuútQQq±É$Š›7;ťv;ŘíĄĄEEJ×Ňj!ŤÇ“Iđx|ľ`¦¦fg˝^XXX\”¤«WA­Öhž~ZŮyĺ6öŹČ™ÉTRRW'Š{÷<ŘŐuú´Z­Ó űö)÷\“ ”–©\ S©l6•J&gf˛YAP©Ţ˙‹/ŽďěŢľçűNżçůŢ÷ůľüŹ˙ńßńGjj{Ś$׬‘˛®®—^ZÚóĎ74Bw÷- O|۶şş‘€ă,–övŔëu»§§ĄQQś}Ź$ BŠ‘_(JĘ‚  iś ärťÂažF­Ž‹>ţřµ×ňó˙XČó‰oÝZ]ÝÝ ÓÓĂĂŔĄKź~ZY pśÍ64t3A’€Řظ¸„€¦%Ę2™Őj­vÉ’ŮśeŁ˘t: ..3s×.€a´Ú+·{` Ąŕ8‡cj řüóS§öěY\9—x||„řSOUW÷ô$)“1 ŔqCCß„B<,¬X8,ŕóy˝ŕńx<ŕv»Ý33ŔÔ”ĂÁq€Ă!Ĺ7&&l6ŔjýńÇöv`||`ŕŰoŠZştýzŔí3›-[öě9y2˛JW×Ü dsi\żţä“UU]]R‰ičímm}ë- 5őÁ·oL¦””ÂB@EQ’d•jˇ ¦¦ÖÖŻżĚćţ~‹…\.AAzO&“É( ČÎ6ôz ??5ő¶ŰQ 8EšV*ÉIIhAAEEuu¤"/„lţÂ6›ĹréŇl~×]6<ý4 ×Ű+uĽ Ě ‡Ą8<<9éń§O·µ [¶<ţxi)ťť›[Pđ<χB@8 Ŕ0R+ąÝÓÓđĘ+ž< lÝš—g0II÷ÜłiĐÓÓŢŢÔ„E±@@[ۉ۶Íć••çĎĎ5ęÍw:yx˙ý¶¶źvíÚąóŮgŻľşret°XśNż (…"*  €pŘëu:”Ł‘$Ý»wď~ńEŕí·kkvî4gf€žžsçŽ_\Ŕ74<÷śŃx÷Ýăă““ÝÝĺĺ••."IŇ´BA,ż˙áçO;vlßţĚ3@ssgçŤŔőë~?Ë%%YY&`2Ĺİ, Iúű­V‡8wÎl¶ŰeË”JżظqíÚ%K€şşwß­­–-łŮŽt:ŤF©¤¨ňňăÇgf$żý¦€ą¦Ţ»WĘś?îóétŔňĺ99;v>Ă$&}}.—F”•ed¨Ő€N§Vł,Ŕ0r9áŔ˛ŔŘŘččµkŔ•+fóO?K(´z5°~˝Éä÷^ďäd?`µvw77öŮľ}55ÍÍĹĹóy‹ Ž«ŞŞHţĐC%%/Ľdf¦§§ĄV+A¤¤ëÖ­[—‘ttŚŽ@vöęŐZ-Ŕ˛jµ^/™Q­–Ëĺ€ D< RĹĆ^/AÄĆ,+Š.Đ×Çq4 dddfć䣣źÓ pÜŘŘř8 RÉĺĐ´(R”´ ҆ř|<@ ‚ B0x‹"fŐh"OhšeU*@&“Üyçňĺ:ťÔËV+ Ő2 ĂCCv»Ô&źdb…Đj•JąđzĄĽ·wbB§L&˝ž$Ž›ś´Ů˝^Ż7._ţµămůY/"@&‹Đž­€Fc2‚Ŕ0QQ@JJ(äőííŔĆŤEEeeŔ|ó Ă r9Ç*•B J7z(AřđĂŹ>ŞŻ'IIAťş„—^Ú»wßľŢŢşş#GŽKH`YĄRˇ8p ŕyŻ×lnl<{¶ˇ˘Ş©©Ş’>MBˇÁÁ•+W®LJÚżżľľľľľţÔ)A‡7Ţhiimmiňňîż?/ŽŽŽŽŽ&đýŰ*đŰ,‰Î7c$ź=ď+*****žx‚e•JąüĉąóJJ¤ 46ţłü˙ü@i‹[ą]žIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/status/aptdaemon-upgrade.png0000644000175000017500000000417512117271433024505 0ustar renaterenate00000000000000‰PNG  IHDR°çá»gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAgxLĄ¦żIDATXĂíV{L•ő˙Ľ×s?ž GAˇa(8¬°"Ĺ2Ťą–™«ĆecnŮ\[­µ6›†ÚÍŮ=Z*ĹRXsR* ĹŃâ Á9Ŕ#‡śĂí\Ţ÷íŹďNGAfőŰ~TĎ?ĎűĽĎűý~?ź÷ą|ŕ?ůOţÝBÝę·ß޶Ť¦×­#Vkë˙^ZÚîÝ'N˘Ĺň— Ě^TT^~ő*ŕrŮl ŔĚŚ×;9IĽ’^GÓEtč‰Ă‹˘(Š˘Š"~Š’ÉôzżŕyŤ&* ¨¬Ü»÷á‡oMdůŔź}öĐ!‹&'€K—Ş«÷í\®ˇˇľľëŇ4ŤQQ11ÇČ,K´FŁÓ-]¶ µZŻ˘˘6l(-x^§‹ŹĽ^«őôiŔĺr»ÇÇ3g>ůdϞʼn077™eµ>ó̡Cmmð,Ď##ťťµµ€Ëĺptussłł^o€$‘8Đ4Ă0 06ćóÉĺŔéÓnwv6P]=<ś‘TU]˝šš ÔŐ]»¶bpńbg§Ë^ďđ0ź”´~=ŕtZ,§N÷Ý—ź_Z tt47űmII0x×]ű÷Ť}}­­uugÎP7¤‚‚Z[ p™ řő×ÚÚ””ÜÜ’@’D1$€E ižW©ÂDššşş<`˙ţ“'µkW­2™€U«V®4“É`P«Ă”GG'&ff€ööžžÁA ·×á<>ľ»ČĘJLä8 ˇÁá0€O?˝|Y«._ţčŁ;(ŠťźBCC6ŰĄKa;99;»°E—«˝ť,Ša‚@tżŰ-I@YYMÍ’%ŔćÍŮŮ))€^ŻÓ)Ë’ÜW« žT*ąśe„„ťxŕ´´Ŕéśť®¬T(€ ‡†€ńqQ4šüţ›Ô@(ó =÷Üľ}çÎ’49ił-$˛ßy§ˇA.śNŠŠ‹ärąśçłąŁĂá|ľ@ d2ŽŁi 116V«˛˛ÖŻOH22Ö¬1™H-QT¸ TUŐ×ww÷ßźžľb°gĎ»ď~÷ĐÔôţű;w^RuâÄóĎGG§¦ŹŚ8ť‹ 'I4‘–î+ÔĽň?Ţnďî(ŠaHN˘HŠvîĚĘZşxđÁ”­čďw:}>ŕłĎÎźżr¸xŃbŠ‹óóÓÓČHťN©ž~://))|Ž(R˲Ťľř"±ĘĘp 9~\ĄŞ¨xžă( ¸÷^ˇ« hiq:—-rr¦§÷î4Ir:®ďíeŮĚL ĄEˇ(*Ţ˝;7$Š˘i 66"B©¶n}őŐšš@ ąąĽü©§xž] ‰Č„HYY^ŢÖ­/ĽLLŘlçÎÝŚ@w·$Ź=f2µ¶©©jµŐ äĺét €L,_Nî‰ĺËĂëA’( 0›7m¶oĎĚLJâ⢢4`jjn. §Öüř/J`ľđĽL¦T*•Vk4.ô9’ž^Y (  ŢčS(nÔ×ËÇŰí÷ÜX­ÓÓ&ŕń´´ôöőőfłŐJR†ççćB ýţ@@ĺňżE€Đj †…ţÂÂúúG ˙Ń…˙*dS”$k×ęőcc@qńš5mm@AEőőĄ×'&µµ••'OŞTď˝ă.ě¸!:V« ˝á8…BĄXöć$‰Ż©yăŤ-[»Hé÷µµfóŔP]}öěO?/˝t÷Ýv; VóĽRŢ'T*YP($irŽE›ÍhĽí¶uëzH§knno·Ű/\Y„@č=Ç…# Ő.["Ď“‹h>e2J„f»}ddzŕ8ŇśŹ=uęçźŇŇĚLšôúŘŘ´´ů0áŮYżźaDń›oTŞ#GhzőęŰoOHصëÚµŃщ‰ädň%óDZP›ňz–U*?ü°˘âőןx˘¨hń$Óh**ÂÖĘ•‘‘J%!oľąkWNđÖ[ÇŽ56UUMM==@ZÚĚLE!Šv;ĐÓò994Í0jőŽ>ßč¨Ç ŹŽşÝ““’Ä0 CQ˘ŤŢ\B •ŁFC´RąaCIÉńăżýöů篼˛q#M˙đĂ/ż8’´qcFF\E IĄńń©)żhllk”¤ş:łą·wnÎéź™á82ě…2@’X–ĽY˛DĄ’É·Ű㙝ýę«ććňňmŰž|ň/X\22Š‹ŹĹ„„ŘXÁçłZ·»·7:ÚhT«ă⊊ňóÓÓUŞČH2Zx˝łł@¸MNLLOŔđđŘŘÔŕ÷űýÁ =8řúëďżďč™ A3ĚBťťĚ˙ťÉ”žľeËkŻŤŹ{˝ssGŹšÍ|°}ű¦MÍęŐŹ>ÚÓÓŘh±8ąąW®ô÷»\‚@îižR˘H´ßď÷ 04äry<‚pöěŹ?Úl>ź ˘(ŕőő3…—;î(,üňË/ľ VA9(<[(7oćyŽcŇRQ”$IJNAE˝ž$‘ÓIj§ąŮçóűáĺ—É~dűGÉ–í?ŮźWIEND®B`‚aptdaemon-1.1.1/data/icons/24x24/status/aptdaemon-wait.png0000644000175000017500000000305712117271433024020 0ustar renaterenate00000000000000‰PNG  IHDR°çá»gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAgxLĄ¦qIDATXĂíWMHT]~îąçÎ˙ŚócS)Y.!Z´~ tĄYA”d-2¤Úµ(„JpdE‘VF™P0-%tl'“gš4gĆëxďý‡ËŐ1żŃďăkóő.ćĚ{Îsç<ĎűsÎŕŹý±˙·q™ÍÍŐŐ„lßÎĽľľßKŻ´´ľľµU–űűW- ťxmíÍ›_ľŃh ŕń‰D,65ĹVE{ŽŽcŁúŤĎ3Źă8ŽăŽcë§×çä€$ÍÍ:ťŐęrmmW®ěÝ›YČéÄOžljęďR©©©ŃQ ··ŁŁ±FCˇ`p!AB /ĎĺZ·F™R6Z­ŮŮN§ćŤKNŕr••ŐŐ:]vvA‹ wvŃčÄÄä$ĐŐuçNCĂňBČbâkÖ¨ÄOśhjňzB(Őé€h4ěéćççćDqiĆ$I– ™L$âq ŹÇăq ‹Ĺff€Éɉ‰h`ă÷ďáp(ŚŤ z<Ŕřřđđű÷ĎŻ]»s'‹}ýęóGŹ64Üľ­îŇ×·8Ŕ]LăŰ·ăÇŻ_ďëc)``ŕŐ«7€’’={ÎśÜî­[EQd D§3›3W3!”ŤËŻËňü|2 (Š(FŁ€˘‚ÉD"Lčţý55MMjFÔ^ä8šţCˇP ĐŰ«ů[¶ěŢ}ę ËŃčŔ«xYÖH’ćK’¶žŽ[:/Ë ŻÚbü¦M;vTT^ŻÇóôéň—xýşĄĄ¶Vókj»»7ęď4Ż÷íŰ[·V €5ǵ¶ž;—źżmŰřx8‰ô÷K ŠBÝ^ZŞť+\Zű§űŔČČçĎ ă›‰Ş˘,ÄHŇččř8‰LO+ ĐÜüć P\,Š©Ŕr dźĎçóůý43f:ť^o2fłÍ–——oµ˛Dó<Ďó< I’$I@   ióVkV–ÝČ2“Ž÷űGFµy‡Ăáp8´}V%€6[nnfĽĹÂq %“łł‰ ” Ŕó”ň<`±deĺ㞠( »čxťĹd’=O©†w:W$@­>›MťŁŃl(]©BTBÉ$ Š˘(ŠJ1‹%+KŰ…N$€T*•š› 8-N§Ó™QĄ*m-6›Ű ȲNg±d ×›Í©۸§ĹTJYh8Ž˝zđ< ×»\%%ZŘ(Ą´§GËÁ × ~…HĄŘ‹”šL--÷î]˝ZYąđ†ČdĂđ<;UE–e™ŐúÂŢxůňîÝË—µśÂđ„0ÂÁ@)¦f`= Šőő÷ďĎĚś>Íüłg٨ľX­l4™Ô¸«,////++(Xż~ĂJŰŰŮAI$IŇü<+%Jeyt4+«şz×.—Ëĺr: ž…ĆĆ>|ŕyB(%„RA`= 5ń Jh9S3ŁŽÓÓżĆq\]]]]]]2ŮŮŮŐőâźźźďvkĄ «¨8x°˘"UsđěYGG{;`4šL¬ö5Ľ ¬¸„ţ­)ŠŰív»ÝŠÂ"§(/^ş¤˝3b„błŮl&“ͦ× Ëôt&ĽĹbłŤZŰgĽČţ©…Ă‘H8\X( k\íŤ*’ăا˘hÍ˝0‹ żĄßĘv»Ýn·űý˙˙ßfYSŚ}prŹIEND®B`‚aptdaemon-1.1.1/data/icons/48x48/0000755000175000017500000000000012202062656017064 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/48x48/animations/0000755000175000017500000000000012202062656021226 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/48x48/animations/aptdaemon-action-downloading.png0000644000175000017500000001273112117271433027466 0ustar renaterenate00000000000000‰PNG  IHDRŕ0Éť©tEXtSoftwareAdobe ImageReadyqÉe<{IDATxÚěť xU¶ÇOm˝¤;Ý!B‚@H€€Ä@P‡Q†Ň˛Ş "Łó`ttĐQ>ÜGýDů‚ŹFó@ť™7Š 0ěK@Y ˛(˛“…ě[/éîŞwou˛t7é¤z‹ç7Ő]Ý]ő«S·Î9÷ŢZI’…BˇP(TpŢ P( …ÂŚBˇP(` …BˇP€Q( …ÂŚBˇP( 0 …BˇP€Q( …BůŹ&@ˇPţhôÓV«Ő:˛%ßŐë G¶,¬VCˇ0ŁPŔÚ(Ęţć9PT}ę\vp¸l`wZÉkR6yJßwĐ'Ŕ'˙^žöGˇ0Ł0€aSI•¶bř>á´~÷6ÔŃB¸˘]ž×-&=,ë&¨ Ŕ«gG d2‘tóťN; 0ä=Ë0ŔJä5™ĘďĺyŚäţŚI˘oYň—ĄJĘwH!ËÓĂ’‹ůËĂK+sąÁČůüÖ(kb¨¨üş¦żKtř\˝Ĺ­C´…-$Ű?Ňë?úĎV`Çrüś {&ą×Ŕîý˛”u»˙Ę8`9 0É+8ĺ;týÜ»ëWżťĎ^ŮńrߋŵKŞYöuŹ›ß}(»ęhĂ#ż9˙J[üPSéą>čˇ/™®#żö˝yB›»°ÁO,(ţ`°€ń‹uőĚňTŮIŮa—$íŹőżÝů5ý˙u0ŻŃŻŚIčůűá“étĆX¸|řs©đü÷P[]Î4ü ¤črż–d`Ą!ßt*7ćiaä6>CÚőš˘­śÔc¸hL# 0n‹®¶8áÇüęůkf›â§<Ůę>väoĆO+°ş°b˙ :Đ€ń)€Îţu2źH Ýň?É˝=dîuÚ˙—[˙#Ţ˙¨č˙}^Ľî©NoD™ă'Üţđߢ(|EÁq˛~‘9wň Łvß<Ůt¨<˛„Ťë?8…8Đj8Híj2hxvĘÚ'ĚiÍ2‘ß»®va˝üR¶A^ţvRv@^Áv8V¸Ž톋'äď†#ż?4,ůý`áČďęvĄČ˙ÜSk]uý~@űcýoŹţG-˙ď5Ż}2öŤ>zÎČé‹ Ľ6ЦT`-:.ýtdÉD„x{˙ŁIź!×#ÚÄď‘m$‰Ćskg›fúł,ä÷-ş°Â‘ߎüţ°PňoqÖŔK–"XPSĎWÂł04}„lkjg`%`x XR€Á&UNŇň`€ç9Đ3˛Ł, ‡Í¤ú2_Ř„ö˙e×˙H÷?jůŹ]Đk7ý— 3.=ăC˝ÎĐAžWôÓŮ.F“zËWĂžm†ĺi–ä «ô‘+!žS¬Č1WOc”AoJI–C˛ĺÓŃČë’ď!*u S›@r’ń, É &ĂůÂŞ÷IsľdJvŐż®g@óŻ(? ÇĘŻx^ůĄŹÜ ‘˘  3~’ úŐ…•†üţ8ĐPňU}vVç7Z~VżŰ0†0‘öe‘ćT¤°” XňóůٲěyÂ2%ÝŢĽç-ÇťÁŕGŘö^Ţ ¦gĂ…ĘcňI>Ôy^®< G~Cę bu–CŤł $yşŁ©ý»ÄÁ€řÚ§şţV~ţŘŤÎ h˙_FýoŹţGM˙Ď4^=;z ŻŃ˙sôĚ%úνŔZU 'öä@ďAc€!ŮpâćÍpVKţđňYc/fžĚČ*Čóĺ)ëžŇůrGzł¦Ľ{ąUW~†o×MF­šk¬N(,­®%‘ú·—Víö1čpţ;ŢÉôg ŢŽM ;ţ§'/„Ľ‚ňŮ’ôěI=›R´ËÜ4»®­«„Ds/8´˙XHů—X Úč{ĂŚ~}2ŕä•ýŕ"ŽČ)ŮÉÁJ؉ݫlĹňöĐŁ«›ą?XóČ;s¤i%óę@Őć'‡2ܵt\łVë «śđ“úCJµ˝je×Z2äż–5‚QGâ›Ô8€E; ßľ$Y‚UěÄÁß“=žšôüTzTbsR$ĆŐŽR(·ç×︶HĄGT$AŤö‚ŠN úÇŹ‚Í›7ÁX›pď‹Xţ/Xő'Ňíéő?ŇýO ý?ß~0'h˙1bň›zÚlĎýçkÖ‹ÇţŁĎś°XŤ$µľ: Č‘fug3$)&G­;“f6ŇµŁłţ3h4Ď=e@×:g<Ç¶Ż€hÖfŠŇębÍCiEíĆUłŚĂ¦-­Éó`üŕđו[ÂŽßź.¬PňOés«ě€ÔlýÎ*,đrđÄţź?đ6LX9ŰŔŞŻ0†#ÜŽĘúFŻz“g‰‘w•¬Ż¬®¶>€Qö‡,ş}µD6‚V82]=ţšó"<öŔ|8S~ř/TÔ’’O|#÷T5ôirŕ%X$Á+-n0lŢ´ b€«µŻ výŹdű·‡úÉţ'Đţźm߇ŔÓoÄÔ¨ÓţQ»éĂ©ŐçóľŮšÜď6Hč9{‰ Ey‡Ë…vCIÔ´ČŻĽ'<ĚsGăß*óÜ˰XvR‡L„Ä^ˇŞÖ~řŇ•J‹ĹZg1čuF†e·ŻzĽC÷&ĆżżcáČďOV(ůYň˝Ďî{ j"­‘rkě0-bĄŰJ•Pl?(÷e{ –LYp°Ô^Q—ŮůĚÍR'ż)ö×§ľęžżŔâś—ˇ[l?âť$łvAĄŁđť'ɵSć­/ÚkŻ9> CäÖădŃh‹×é ˇ¨?qġ-űGřčß‚®1˝ˇĆUJř €XwąĘ]ĎN‚2aď“ '‹ra´Cc7ZĹÔ˙H¶{¨˙‘ěí˙ĺ.hźÄ şCĆ­Eçë‡cŃÔńČ]sÖFKµA´Wyi­Jő+l:ŻqK×s+Řăo•–1kě Ľąl\2Ĺj·TßK¶~$™;‡,1Š|\HŤŚé+Ş‹Í˙ŰĎ^€yżG.o©ď‚»Qä ȝٜµĐŮÔľŰ÷=Ě…„ńŻĚű>;ąłqÖŤŁ _ßA-ę²_ŃÂŃ4ú}’ČJw[5Á´‰µ¦ůF} LdPNZ_r ŚcÜ—xiĄ~[7톻ěŠnNţţPŐźł•0÷›Ĺ0őţYp˘l”ŘÎGZŹ2żĽ Vˇ°wŇĄŔą‚Su^YCŻ8 mýßs9ÖÚ>…ÔÄ ¸\{ X ę·u ÉÝĎ„ÝŔu„DÇ (Ý—ëL/(»;ÔÇo$Ű?Rë{ń?ň˙r4É>¤‹]Îąd#–MÍ®¶ýý©Nłî{Ńu•¤e^ÖÄC×±?AváÁ8xůT‹Î,KOě '-ŇoYýĚę:‹¦·“w˝®e\ šÇh!‡|eT°ůý˝ ŕ¶ňOé;R>ZÝ…Ő)Ä6îÂiÓ."‹˙C0í§‰‚÷G=sI 쪽Úóî@:E÷‚“ą0JÔW$Z´OŰx×CUşăŕŮ!aÝO+äĆ9ź̤ëťiĤB¬mËôş:.äő?+! ÎźąŞ­Qg(‡*WĚĎń,Ů źČBmĎKHá†Âî{á˝»ţʇĂńÉöŹÔúß^üO üż€]űŁdRNŔĺvőęÇŁßcŔżŽéśĘ:J“/8Ż3f 6Đ{AŻ?؆خ0`ÄäŽy;>^1㲉dݬťŇůoŁ%)üţŽa„’ź!Ż7Ś{&Ş4ć`ť]f-©*$üŻŰţ7:Ŕł'řç@ëzAw] j4„CýÉJH…ógG@ŤŐŘâö?˛á¬6őŇ ·ŔśĂĐ̡p–Ű uLĄlÚ]+ď©Ú‘°cóxwŕďÂęřŤdűGbýoOţ'ţżŮYĐË1ÇĚć3ż™łÎĚ ú€\/5ć˝,xaĆb8pţß×ÄŢ˝k/|ýô^ą/~ŰšąÖ˛ü“ŹMYRłÎ۲Ĺ?ëgáTQ®ÂnWÝŰPe-•3¤nŇĺłřÂż¸ć L^6ľM]X3Mivľđü#ˇ¶˙šË BW %şŁn*xr QĐ‹IęĎX>é“°Ş?T3s„ˇCłŕ¬k—Ŕ8mŔĆČ,űţ5 Đ+ÂŚ_ExtýdČ‘ §ť[Aâr  üiz|żřŢźM‚€YůÚ˙—\˙Ű“˙QÓ˙7 Ŕ«fî&ůÔ— =KÁ-ŽĽVĺ¶lWµÔ`禽ß]Üä5ÓľôDs äî9łjŁ\J7Ë üŽÉ‹Ë~ímŮjóçjpDh<ŕžŮw ¸1łEc–Ë ;ŰňËi˙RN„Ou¶VŤő=ŔŠ=í,lű{ÓĆ”N0dđ`8ű|:бgŠéĄć!«?>Îą„ŻČ6ř `#Ďνڰă—[Ś_÷ڇŁ‡Â ËfV„^¦ˇ°oă v®Ě"sµ…öÇú‘ţ'ĐţźńtźčUÓťňRÇjŁK†O|‘»¸oąj•çůŠÓ~ b?Zę¬Oe µŕ¸^růZľšüÔ$%ő†a: Ü“Dö…Nµ1¤@ň{u ČŹüČöü‘čÔô˙-î‚ÚAP3.&Ař©ťÄÔV~Oző†Lx>wżĎ1ŚWnž ą?żĄJŠŔ ş§7—YáĐá]đd÷,÷:y p,§Zä ň#?ňG$úµü˙ő0ŁNz<ůý›î?ű$&&pc‹z ‡vîö8†1żçpŃ›=>w2\řęÖÎir©Ż´rĐ 4Bř›tČŹüČŹţ'Ěý?ß’-`éiÜ*4áS4]`ŢMwŔ'~bź»Tµb׫g6Ŕ˘Öíµř=oAępX¸ewŁ1ŚiIý ŮO¶Ëm^†ačŤDę$É÷äÁć÷yÓł(‘ů‘ů‘?`ţßk&?Ň îć'Çş±9ŽWz8Ér.]˛AŤĄC ±ł`÷Á=°áą3%?Ť#źŃ'&×J-¸ŻX ř›µěŁbŕżS2áÓĽsеkŚŠĺaP\˛-<Č·@s_@ďW`G~ŻëG~äG~äGţ€úÖ<™D—TűN꒺Г’ŔŃGˇ›0 šÄ@îđŐ{k ôŽvßH|ěŮbúä8RčíÔ(ʉaözĆ$Su7v„!Ś ňra|ňŔźHJ'Hxó{ň#?ň#?ňĘ˙{K h“9ęR ĂVÔTĹiŤ]<Ô¸-&u[ăýAaîţ >±źONŻÉ'łb°Ňf<ýr­ŹŐśż©F$eČĺŞ8}G(/ľu"üM…üČŹüČŹüő˙Ľ‡ěžzF OšžÂ颺őżY1óĆa4Q&ĺ:ł†ĎUlF(]ś|‡¦og=óv.ń8=§űh8ą÷ űŢ–/¨1hzJ· đyË~‚Âď%[«ź––äá]ź"?ň#?ň#?ň{äç˝,‰ÚO-~°Ń˛ˇ˘:ŻöňĹź'h9č¤vóýVVdvnŮgl8Ý˙R±ő‡SëĎď=eů"gŻ}źďşĘDŠó:ýAă÷&›.#?ň#?ň#?ň{ă÷ř8B’EĐ­ÁYe!Ş«Űp.ő®ißIížnř$ç“Uß-s¬Q>Ň)ŔvRčÍ7jHˇýĺľâÍďCČŹüČŹüČŹüů=`e# <íO×*ŕé-3…{5fµ÷ÇÜłµJ6ăP6‚n@…ä :„ü^„üČŹüČŹüČńµ-ĘŮZ:Ą0×iúBe(Ľ•°úµ~äG~äG~äGţpĺgZL P( …RY,š…BˇP( Ŕ( …BaFˇP( ýż¦QiŠ~g3IEND®B`‚aptdaemon-1.1.1/data/icons/48x48/animations/aptdaemon-action-cleaning-up.png0000644000175000017500000002313012117271433027356 0ustar renaterenate00000000000000‰PNG  IHDRŕ0Éť©tEXtSoftwareAdobe ImageReadyqÉe<%úIDATxÚě}”\g}ďďÖé3»;Ű›´+YŐ’,Ü»M0¸%Ď15㺉9Ź’Ŕ9 ń;/!ď€ Č"–é|¶9`7‘ćÉ<;žăP¨ż“ěŽ+¬đ˛·ŰëĂOG˛{{łź}đăŃúŰ€Oť,<ü~ż‡ßĂďáź«řĹÉľxřÖÝŚŐßz͇ţ)ČŔŹôí¤ß·„C»_N{G4,¤·~[ŚźűJ>UÂ9-Ń*‹·=ôÉŘ—Nćť~ż‡ßĂďá÷đĎeü:ŕ‡>UsŹÜýÖ;ľ’}A lvÚű¶>MQ‚uF:Čĺň†vţ‡ ®ąÓf˝Ü,ĹďhŽ„)ĐřÂCŹŢu"ďňđ{ř=ü~ż‡®ăSđźľ_ń‡˙í»?Şnâ×ö<«Äîןf;mçŁ/,Ţ!-R, nąëŢť3ĄôBeČŕžm’]fć´ÇÓő†K˙†ŢřĚŢÍĐ ů˛‰îţLÁ¶ě÷ßöťĚLW~ż‡ßĂďá÷đĎüÇ9ŕ>y»¬~ů¶»ľ¨j\Žbf»ž{+Ď;#7ń›=ąčŁd>jĚ–&Ó5‚¤đëü,:gvť7¤ż)•wŢ›ěÂľŐa/Z®h ?‘ÍĂÄőúnćStşź2~A”Ţ„´ó˙|ŻO~Ľú?]řGqŹÁ/ĘŞW˙ţ9#?ŁŔ_$)ľ§Żţŕ˙ cőرůbĎO.ąőooî„Pś"îp˘ ~f˙Z˙lŹą>Ń Ł÷sücžĺgŠDâkqŕµÇńĆ3› ůJŃ Ď_ÔL$FňY˲.żý»ąíTţIă·mËŤŠXëýgŮ0M’$ń*­ŕž«ř+u_DuĂÔV‡Pżt,-?gëľă?›ňĂ0_Eŕ_Z{Ő‡Ł#ýűó˝{ź§ß67/9÷­7żĺ†{`¦÷ŃËÍI+y,pn„Č íŘö*¶Ľň •=w,¨řÇ;®g˙vődqÎĘ5üďb hYşµŤKćdýĎwüg[~„|,Ü*+ţ×č‡kAL[–ńŹş®˙$­ÝzĂÝEě|¬rf’hĹUÜqŔwlŰ‚D_Ö®XĘż˙Ďßţď»íŁđű”ĘHîăžťČŔŠáFȱĺxüŰ·Ë…ě˙  |+]˝›~)H_÷[eśwǦěUţ)ágQŽi9QNbŕ0úvüZW]ŤÄ`7öîŢ•ç]‰ŽsÖ“!’FűĆ—}6ń3bNŕńGľ¶ÎuH ćCă›ü)ěpă{îžRA<üžüĚgýŹ•-Ž`čěÝ‚=[źĹŠUkŻ_‚#»7Łiíő¨©©#~N˙ť€9…Ľ¬?öăoby­ŤľR5l €âuíč9°7ĽóŁ<›kő?ßńźmů)r¸Ź=b™Ć§ ˝ÔôˇűR÷ú|o]ö®/‡ Ąyç5,ťž×Ćô7żvěşeh0鬗KŘúę hŚq¸k;?.;vRDmh%F™~K;îŮ7ż—Ţ•î¦ßNŕę÷ý}@”¤ -đ%Kn…-~•8|Â#¬ §‚źc&<‚QD17‚Ż>ĂŤç®]Ű`dűxĹ3hT&S/ńű-ş|Ůg żˇŚm/ü†;/=}ĂGşFs”t˛ňě¸ç=üžü,ýŹÁâĺĐÉx–¨Î‹ŁĆ“ń‚ń„ńfÇ«OˇT.“ńť˛s˙D׸¸ÄtéÓ•m/=Íug.Ő˙|Ç?ň#›z™µńĄ>üť¬ÎÓůODŢٱţşk«Ďőá- _™¦ĎŁŃłI÷je…|ńx=ěB*•Áu×­Ăţm]Xµz5TYâŁË*)üTQ´>đ*BK߆őW} vűćnşó[ÉwÓĺŻ=t[ă?éáB+»çTđł!é†iBÓ ŢtXă/a ëEtčFÇym¨ôRčZ2ë W$gŢ–0ł,ěLâŻô;&‡ű0’ęÇĆ‹ŻĂ«/ćw°ě1)ťK6 8‚1M3‘‡ńÉĎBĐßńݬ¬5ŢěE׍QĂó[ز{jÔńHăĽ[ŕ#~˛8é{Ď6ţ‰˛ČK6,Á€Ö@:±Cl€Ź&âüekđÚ‹żĹđ@jâŤn¤‡>ĘĎqŁ ď˙ËXM(;pÓÝÇD%0ă9Pě&#M×Q,–đ“o~ 7]{>ž|ň7P"M¸ć’őx~gďř‹/Ŕď÷A‘ɱ•D„Ή¦¨âé?]LöîţčmßÎ=<Ům'‚ź÷Ű‘Ń)k …^ůéçqÎę· kß2 »p 3 J oFü“Ź|ˇPŞ˘śî3€ß¶Ź=Öěůú懠–ú±|Y;zv< YńńŃŻîMá–{DUĽĺÔ'ąyřŚü,ýťŠ'¬ů|żűŢ< éGńĚÖ,é\Ťeç¬Ĺľ]ŻáÂwÝ‹`0źŞN_–ł„"IĹ/żqÎ_QŤ@´Ž˛ł2ÚÖ^‹ý]‡ˇů±áęń~ú ţ ËááźłňsśţÁÇC7 Ńt/IôŮÉV¦Ăʎ馍Ĺ!YMÁ5—ť‡üČ˙>TŐ€ÍĎoAÔgPÔ@i·»Ćć¤+…q°™nĺ˛"oţŔ7“×NöŘLńWJĚ0k†Ť˘Îćp ¸ţ¦÷˘kďkKęÚđÂÖÝ8Ú;xX„źá–wáîič á·+–‹ťe_p5.Ľř FŠ.jHöváp6ŚE—!ßI.úâá_ňłPôwŞr°ź4Ür$rZšëqéy«0Dň”3U,[ńü×c?f†E ŚŢÝâcĘ3Kř'Ł|ŮćůÚ#9Ô4/D–\ŤW^úŠąÉ•tŚÂ'ćáźóňsÜZĐ·'˙řî®ń‹ľČđĺďú˘ÔóÂýÓDšElâqÉ„6č4ľµ/[ÇĎ‰Ä DIAc}Aźź,đ®' ”`˘íáµ˙ŢT˛ĘąęĘu5 }*3Ĺo»NŔ4™ń´.čČаŤ"V´×Ae5Ĺ94ŐŐˇˇJA@)ňŽM+™‚Î~{Ôq±A?Ž$2ÎÜ6ŃH#K‘&Ësv{őă‚ĺMđfá$|‡áÉĎBŇß©ĘÁže 5 ęÎy`é9´µÔ‘%TaŹţ ÂÁbAâ‹"B’ŽçËl៬L%*Ë÷˘ćÜFržEFâŽŐ„bGĂ<¸c H°lL%ü±%ţů ?oÚŚáöďŰ%MÜáĽMV}P|ţiA ̰˛E “2— Źž#˛c`ó#ykCT2˛˝Stxc¤¨~ȲĘCŠ ž™ŇLđs̬Íßdóş,Ę^0”ˇÓ°Ś ôBĂYť2á°ŞO&Ld@%§©aZzńKŠ ‰Ţç4Ź8Fß$Ěš›‡5Ö×"—č†N?ťUđF7sµ}\ g‚×Ăżpĺg!ęď”ea˙HNYÂa }) ýý¨Ť(dc0d¶%,eE‚Źo)'NŔ—ŮÂ?YydĄ™NĽq ‰őKĘ:צ;ý¤KÎÖx")ŚČ˛,`˛=üs^~äi[ĂD‰g&Ó)0Kk:,ÁqňÉTŐAĂý\pšě/ÉôżHŹ8©sđ‚ž:ŤÇ_ÁkÎ Ó6 Ó‘Ł żN!(Ś Ëbßś@€ď )ĘĚ€JSb>řmżDĚdQ™F¬ţĽ>¨!›2©^ĘFr ’Ą™~l9` ¦:ŠŞhŚ%IÖDkÂ𵋨nÎBuhyŻ7AaűŐŠrĄO•u3Úţą)?Ó:`I”ąGź6j`{#Ć”ÖĹć+¤Ŕ˛Ó7‰qeĆVšAoN?Ęćy™°`ę&Ę&NŤ0)69‰>d‹)ŘôűCY U5gů1É7-ć3‚źŻş"ÁÉQ¦•*ˇ˙ýR\rç%đů¬Ü¨ařč6ä’ýčz#yŔŹX$ ľL_9n®ÚĚÉĂż@ägęďL26ßT” >ZŰT0”ĚÂ$™ÍôĂ ”9ŻĎÂ¦Ś Í–K”xPQiVź-ü“90[´=&醌V@>^²së®iDmËzäŇ*Ęe/nzşbP€+Á‰+˝Ş°=üsS~¦uŔ˘$ń4~şJÖ5“ď©(müé'ÎCóŇËGď9źŽŢCĎaëÓyІdJÝ)Š&;™qĺÍ–Ňé‰@ÇâŻT°ĹšAÉŘ)# µd°juUUaÄU0tÖ¬ ĺ4̬[ sĚĚ)ĚÄ€ž*~ő}ĺO!.itŚ˝A‘VA×ѵ#ŹŐ˝Atu†ď: «D4oXŹúÖőÔíBCÇ J@,µ’(t'™A.nüó]~ŞţÎÔ€ęŮ”•Čá´7ĄŃlřěňH¦jZ#bddĺLĹT-|pËä6%ÎţI3HĄ#Ô8€+/ŃŃ´t=ęšVó{z_Ob`·…ň“:„ұćB—U#BY§á EÝAMöÉd’‹ ˙lČĎôX'Máť”Ýé ł ­ŤşN!©ˇŽWJźŤX“‚ěa‘GŇ‚äĆ›•@t×Ń=eßÉ^,ľäŮIä¬$.:WAíş›ˇ–k¨đ‡-+cÉŞč§ěě9 «Ôä6%R¤#Š32 '‚_8~ ;oÉčIBj©·Q,éČiŇi7´^Šäŕý˝Ú¤Ł› ´ä®s¸# uFʬđf_¶ú’(žś[Lřç»ü,ýť‰eüMÖ>AŮK8ŹĄkl4¶¬B4Ţ5b ”ZŚ84_ĂŰ_ŔË›sŮőNvĎłö{łBĆZ[({up݆üĐĐ;č8®îű÷ń­ďŞ)`Ť’`:¶3uˇz eť§ěÇ5ŢŔ'ŰË&gâĐţŮźdŔ,r÷OYÁ:U°A?Wę/ úrŢřV/¤Ććăî5űťkĄöAËŮÎĚČNl`Ů ťÓŐ3?o1ءŁlZč ăŔŻŞPzAAąˇJ±„pg-d_…Ţ8ä–äČĆÎ@"–ÁĚČ€ž~×yUŢ(ş‡´ŁÁ ť@*[D¦\FçşĐ•~XkQx© 5;†0¬iŘ˙˝=$Á Ý@ôü ˝őhŚ3¬Î€™“r`‹˙|—źĹ¤ż31 P‰|˛lą,[2Đ@âµ8ŠÍyĺr†ˇ đ Tˇwh ň#¨ędÝ$ ÇĚĆČł„R&P*¨‰¤ËoD˙«GŚôĘ0 ’<ŐóĘ®­˙â>čÁ§Đˇ—Đ—nA¶ÄýS”Ž‚ëÄXNiąGe)HŰĂ?{ň3Ł&he‚˘ŇĽŔëm]@™*Ó-ăĐÁ. ‘a­+Ź»żr-şZ…nŠn’Ä×ÔEł-źŘî§« áŤ1Üe]Cz Ün}R%žޟ‡oĂ ä”»V@".@jŽ@ «P“˘Č32 '_rť–<ćěëMˇŞHV1źy Ë–wˇuŐE¨m[ážťČ-9‚Ý{’ .ôd}Ąö>š‡ą?ŚĄ+TřŘČ?…á=9¶ČđĎwůYú;S*’UL˛s ĹtřŢâ‰.Ă6Śjĺ×G[‚?ăCÎ,!˝Ę@ą-Juál9Çć¤JŇěŕźĚYäw|ŞŔťÁS?Czmu 6ůý0Żó!SߍU+Ë×4“Ž]ËuLŢý$$éµjÇ+;´^zch™Ău`cĎţY’ź©°0yz%]7Ŕ˘gEJŰkÖqý=WMú:¶Ě×Ó?˙-Ś…2l/u4m?Ţ(éÔ´˛¶ĺwţŠ>?•Ć›Ú 26¦Í6P˘óĆę´Ý¨@d ínCăą)$KĐ IŐ„ŢIÁďę›ys‚ř÷P™ăşé*ý-×®[Ú,ÝRĹxK/jŰoA çŃ\CçF~T5îĆđáhĎ ęő„·ŃT0¬t°‹qÂ&ÂéiQáźďňłŕő÷DúđXŁ’1ôůmřÉf_25â# ‚­6jni€•¬†úÖaÄ‹ŤR: ś§,¨púňč/ř«[Î:ţI»Č¨†@şaŔG:ŇV„Ľ1iĂA47EIż.DĽuŐčsuKÖ9άu‡|á%{źÉZ/ę5ő˧‹O>ö{ľ/_ŮÍ(ő)Ř"Ă?ň#O'A"Ć=A o;+`şEJLF)‹LŰІM™Đ,gt¬DYźŇ Śż÷tŚBdĆ[äřťľ;“÷Ý• šYFóűĐxÉE×n„U˘č%fadOJ•}Ouˇď ŃjĆŚä2 3Ç˙ř}µ·VG…ĎŮÎNoÁ@Đż,ZŰŽšćĺĐ™‘QĘó!ń`sNťőZřŠ25Íťh/¤qtÉ‹xľAGT«A(âK¤©>…Ť—Ä“«ĂĹ‚ľËĎB×ßÉđOe@e–qŃ#Áę<Â7úŃԡ✷.>"ŁjeFZ„čoCb¸Ů·bdŕâi„x+Ă/:}őěwíłŚ"bUŃBę;Df<ÚPĆH[ —]l eŐÍđcüwlŰpäÎ|ZŐBűşkŮ!f‡_ŢŮ»˙ň Öľ÷‹Yb»ťXëm*c˙oúüďţŮ“y’~=ő˘Ä>őGé$éÍ·±ć+Á¨‚MÖYI-˘ľĄŤ˘dÝ­Č77Íł+Í->MŻ˘w|š ź€=NEw}ŻÝŚŘ‚@?gk3űqřŮ\0¶¤N§P¶+•ĐÜĽKÖŻC}['Ç+y×%eqţŽ–«2·A¶ZyÓ![˙–­Y:ÓQą3ĹOĽŞkZşf}Ľm5ááWńšbŰÂ%ŽîD(V5![Y:6ţ€ęśO {UF!=„T˘K›Ă}đůfŢÜąŘńĎwůY ú;ţI ¨hCˇr±:W}AXËöˇĺŠő47xç>µĆ™âÂx§•óжmG.F¨ě‡ź’%ŐG‡ł‰b9`‡•)4Ť„q¨·†tć×Ó,°Bóý=0ÚěIއ‚˝RnyŇ­j 7óëĄÜČ260Ńł Ů;ę<üł+?ňDŕéÎ"6Şu5-¸}HlIAÍ0ˇŞ:"UAg‹)Çů~űX‹Z:ĐőĆ>ŞHşańĚBfé;ĆMAtrq„+;%‹ß٦ĘYhľ¬“ń,éČćËÝěÁŇ•ťdL–‘Á)3vÓ’#‚Syp”gB*ţ 6…Îß°ůRóH?šW]˝”Cßľ—QČ$ř¶XKÖ]Á'yç’˝FŁîš¦öčÜÉ@&cŁ:ˇĂŹP@ââ=%Z$řç»ü,dýť ˙ÔĎ;sXťËdxMŃ伨€rvá˛čl˛0‘óP'#şoűâíyđ» ¦T'¬Ž†2¨:›ř'y'× ¦LGҤ+Lg»·!ŢŇÉĺ®ŇZS92ř#QDŞëĐőňc|PP0ç-Oj(Śé,Ó]˙ěĘĎDˇŰF"xdŠ-#ą‘¸/Ü4fScWŮş‚–Áŕ ôhĹB6ťF0ěwv\śyU,:[ˇpĂ96•C%ůŮĚež=U˘hŃĄ `KüŤ0 ŹŰÖ?“(´‚_Ą_É$űâ¶Z‡Ra9Ťđ Gѱ"„ÖĺťdX‹<‚XŰ˝ŕQvf•ŻhBÎĂď CVCĽP¦O˛b¶N˙‡ż”ÚňŇĂĘÖm˙ýđyüTŤËÖ˘ş©Z1‰l2‰hm-´B˘ÂęQwV·Ҏ˙něŮ€†ú8b±‚ˇŹ,'j´§‘ĆĹľËĎÖßIńO×çČF±Ę$C~zSÉpę۶4n0j:[0Ú7¤Ś—ĚÜ{”xĽ ţh ’C˝0‰˙G|lCčlŕź4‹d•/Y:b¦‚CÄžµÄł×#˝qO5I‚'¬EC6)K܇HM –¬ż©ľĂčďÚŰť¦aÓŢĘt÷¶/zřgS~äqŃgT«Lw*ű´GkźÜt׺ËoUŃöQ”Îb&tAˇć`ĘÄjB(ćłdtËđűS)¸M]©d±ÚÓĚ@#Ő şRGχ`ůUŢŚeËNgy6“Äöç6iě÷5g€Ă)1|6+ńä‘VżÂžŰÓ§ý4ňŰÜŃąńzµ,Ô˘`w#܇şÖŤnÓ[L b@%×€:Ć”5űUÄP#±3 ;ä#|2Üĺť&NW$ődđëşaßçľkhFĽµ éAŮůLĘ0jŰ)łĚ?Ô`Ń©8QXf8‰D¶•„x ŞkcEP‚~ľGĄí„rov\ŽÚ_Ôřç»ü,Dýť?&ImXPÁżVؤŞ2Ä2}9…ó‚µTTڦc@MţŮbpč¨k­Çŕ‘-ÄăL•pôůő]G˿Мy¨ ż|¦ńc’5–»w¶Bú”Ѝ ( Ő¤;ĂHőwS€[ă´ľđ–‚Ýů˛ü!}űvóUš‚UUXqé•Hé!ýěE)]¸ĎÄäáźEů9n;BÁ EXęÎrîX•ń^é»qÝŇŕ­> ucë™-VÔm!]°„ W. n¸¬]`JÍÖĽ•‰Oîwˇ—ů&ß*˝ “*"JĘ›,ŕŮßě3»ß8ZŠD;  ¶łđľóţ˛‰ˇí‡ ?řŮňă#%$čRš¤í)ö–źUQţü"őćĺM?«iVoP|í+[oŞĺkŤÚ–ČĎĽŹŔ5˘Ě€2ŁšËdńüăO[»^ŃŠażhű#f°ťÜ‰âgsi_ůaýýˇŕ[X“'ăH´¶ˇš(Ed(K"}¦Jg‚aA”î”ú÷öâ‰_dJZŢ6Ă~ad ŰSn7Zlřç»ü,@ýť˙”­önŮJT¶\ÉV_¨.»ńZ1ŤpcYÉZ@gÓ¤Ďɤhńs˘o‡÷Á[µäł/çöÄVý×9 }ôVV†vśIüÓ•ÍÝ2R ˛!W˛5$H7üyÔ߸˘™·ž°5—m°… dä“äGü¤kÄË|2CÁnŠËŰě ”/Ľváű/?‡v±ăź ů‘Ź`l¶ÚâÍFĚ(¤<·ž,˙ŚTęgǵ”9‹lCŐQĄé§×«˙ˇbÜťBc[ …LÁŮŘX“(ü33R˘¨!ť,““ekŠýĎĄżJŚh `ŢŤfěqˇ ›űUpń”íi6vtńkîýĹLéžŐžřŘ»Ôěĺ|źí\×pĚÇłŰp‚%¶äa6eń©"ËđóuIY_)˘ű Źd>C7ćÜwš'Ř«0#üL^}¤áúrˇđI‘ŻŽ5T‘S˘HĎBM{EŹŮˇ"urdŇýyôô÷|îűéżsńql˛ş}zzoţů.? L§Ă?ýĐc' bC_Ă?ż¸öźmłÔQĚSć#ă],±˝lP.•°ľ:ťłELTŐů «ŤôwtGż1ś{YŻđ­ěöYŔ?Uą*eSݦÖđą(§úWĆCĽĺ%;TD¤> …˛Çäáü1±ş0=˘ĚqzŮŘLŇ»'ZŔÂĂöĺGž wu#ŰUŞÜE·ő·_^»ĆaęčZ™ćH äČ I¤ČĚÉ|:Iąh#V°ë0Öl¬E8*‰oż¬¶úGŹ÷îd­V®ńµĆ4\%Î3\3ÉfçÝH[Čż¸!ŘůŢëźi[“!›÷ە鍆& RăG˙ˇ4âÍa ͢qI #Ăľ”lťm‡Ç*oŔ­ňř¦Łă?˙}Ctş†ŮMÉ#Ă?ϧT˝d!ަ2eČai|¬ëÜ× &RĺěÝ_ůkz&ĺ2Ysďt9ŻE…ľËĎŇßéđĎÄ€˛ň±¦ż<ăă™Y2Ďj@Éčďf<óďr¨mQ‘M–ČpÚđŘţ´6Żß |¦X¶·>řźůn€QśÉ҇§˙LśěňĎĎtč‡˙(>ę Y%Ȧľ¤kI„kU«(őęÉ!7LŽ«d2ţÜJzú‡îČŹ<…*şQ€2@ŮhÝ|uýŰâő¬y‘¸LQżQ@–íÚDrP#…V*8r0ŹÖĄAú^çÖŞÜk.ŞŮH üŰ<5Q†Ŕ*°4]ä<U žvÓUu5ŤŞ/TŢŽo"í԰⼽g~*Ůľ·™G˘Ż€ö•Őč=ĐŹáë×l ŻkDô“0 'Śź 9±v¸_I˛p‘®ĺˇ')uy‘©+ŚŽKÇ®1ŽË< |ţ&? A§Á?SĘžË2$úűV7w6bŕp pĺ/ś˘¤K¨Ş±wkç˛őÇ-0^3žßxĄąž č.˙ěł„¦ĺă}ť¤CýL—Â1üKj?†˛~§{”őŽ.ľL˙ŚtsŔĂ?·äGžŞ9Ĺm>:®ŻoĚsUťá`CÜwe8Vć“óŮň]¦QDf¤ĚŇgéy©hPT c¨ż€ş&¶Y±…îýi4µúŃÖ¸ş&¦|1™Ö+ lTš4OŁ™1Čüč‰Âż|şZĽ”>_]ßćC÷®—ĘĐ(ÚďŮ_ĆşKĂČĄr|ÉĂLŇ⑌eOg‘+ŘżŁç†*MŁ'aČOŠ\A»ŮúĚźlľžŽ¦ˇCjB)_´ď|˙’żp™:ę¸NS˝-züó]~‚ţN„ĆôX †Ęx@Ľř¬eF‰7ń(KĽ2geÄâ¶żC0ę#ž‚x[@çą {Ę8RŢüĐŻ ßtygźMü3(ź0Ö‘‘.}wó¦şÁRNŘ$©¶ß$ßEzÇżmt|Žôq›‡nĘĎÉΰćÍ„íM~I7¬ÁŁV‡(±ľ!*q¶ŔG¸šF‰ ‘ÖDÎć„*Š…ÜHµmo}Iç}J¶­hk—G”g_MžÎfGn¨ů:ˇŹýľ8Bě~×§Ţ‹{ÓĂĆťÁŚPT@÷îjŘ ,eôuh[îá]E,ߤ,&|¦t¤ë±ÇÖµgÁ‘1Á»ľň794¶^[˙Uw ŽŕÎă‡ŇÎ1ç5Żń/ů™Żú{šĘÇůÇx°îśŇâIkMŠýݰtµÂ§Îµ2ń8˛ż„%«řüömÉŁP07Ý÷ăÜç‰÷Ů ˙ć |V‚D>Ş–tęG¤_OP€ŰHz·sćţł&?‰ʕ˝T:ŇC—o¬nąçĂ˙7’/Ź×¤lF‡?` ©Ť"ĺ.‰č\iáĐ>ďžú ™ĽńÜ78řWĎmIqŰȵÓ)čc˘ýŃzţzüâşjń#Ş"ĽG”$ĄăÜEţ6RC&j›$¤¬źËĆđѢŢ;h^űżIĽRÉĐć˘óčĚŃB•źů˘ż§©śśo˙ţőř…ÍőŇÓµ-Ąxć2Üg˘şNB¤ZŔÁ7ŠlZ–®éöŁC)ë{ü›ÄK·óާ˙‹R˙ϸü'#WnŠ^éGbŁŮBźż«óŇĺíˇKęăę5>U\*‰BȲlľĄŠ( Ó˛óeÍ:4ĐžŮ8˙â˝÷xÁUÜŃ].ÎDÝŰĺ ď»!čżó–Đ×dI¸Ťď†ĺˇ•řO—- čî3î¸óËÉľ9Ú4ęŃŮWÄ%?óIOWS禯Ő4-i’żOüş‚•[ő‹ĐË›“4LűÁMżĚů‘' Ą1Ů<Ý÷t˙LËĎÉ:ŕ±銫ȕq¤1YÜŘc˘–’ëîQvĎg%K“Ő÷µ&p×W’Evn®“:ořäÍi_sOxćŹeŰS>ŹŞüĚWý=UC:†7Âß®[Ó;d¨đťQ™ ęé˝GgI~ţżĎpd)Vŕ)kIEND®B`‚aptdaemon-1.1.1/data/icons/48x48/animations/aptdaemon-action-resolving.png0000644000175000017500000003313512117271433027172 0ustar renaterenate00000000000000‰PNG  IHDR°0p‰/FtEXtSoftwareAdobe ImageReadyqÉe<5˙IDATxÚě}x”×™îűOŻęęH ! Q„(˘ccÜb'î‰Kę“{ł»ľ›Ä‰Sś»ŮÝçn˛qÖŮll'ĆöĆ6˝7A€čMÔë¨MŻ˙żsf$$!! ŇÖó=ĎĎŃhć=˙ůľď=_9gI’’„$$! ÉÝ&˛Đ-IHB’„,$! IHB’…$$! IHB"°„$$! IŔB’„$$! XHB’„$$·$ŠĐ-IHBŇ_~ýë_AXN?ÎŃëőă”JĄˇłłłśž;OĎmüÁ~p5t—B2Ú"„ö…$$!§ß-Ż˝öÚŁŃřó3f|#==Z­¶Ďď=Ş««QRRRf±Xž¦1}š›„,$!ąKĺŠÓ˙—ů—Ĺąąą;gÍš—Ë…š¦ŻčDS‡“˙~L¤…‘H"ś={GŽůg«ŐúňO~ň147! XHBrÉ˙§OĘ}ĹĹĹź0'_VÝŚu{kÜív©%iLT[l¤Ţîrů|Íť6Ť©˝+&B#D?˝0Őť>mmmضmŰGßűŢ÷ ÍMHîx{űEŁ’V(5çőşd Đ˙e‚˝Eäţ˙óçŘűű'@’ŘeôŻŚýR Ľ†aüŹ'%źđŁ'ţĐut$ÂÂ?\ř­šŚiŹü6­ŰéŻßsU˛ÚĚľäH…/Ú “ˇŐąNg=±(SÖíôwřoNcý»ć;áţ{Őc´k˙+#''űOŐ`{ÉďÔ±2ďŚülyLd¤ĚëőÂíőŔîpJŐu â…Šjńj»JąĽh˘ĽxjšššphĂ+ĺú–=OÜ)úăÔç§>úďń˝çĆf3‹I‘r±{nLVݬĹ"ţąÉ‚AČ·Ş˙’ ’;u´nMŠFeŚ—Ë•:™ŁłĆ§t·ú4öKą§ăÄ—Ń~ošŔx´L®ř¦ S|?%cjDZnQŕłý˙ň rČä* ý_ɆBEŹ ‚¨$ř*ČôȞأ’ŹŘ'Jpج8ôŢ÷˝ŽÎ†rźO|MŰnŰđđÉ=Ś7>„˙Ĺn“ENEŻLn™ĎŽH)q:„éUwţ茹h3ĚşťţľÓŤ(ʉÄä ©0ęAŕˇËéö˘©­ um8wŐŚ{ňâPÉt˛ěËä†$0.W¨tż“DďÓIćă îŐÉśM8¶űŻtó\ŚZ!I~ş•ąśbŮĎüQvíQ.“üĎ/ËŻaϱß{âřbĆÍZöż*«mµY,vŹHËŽ˙÷µ7Ě?Ămä9Cřď\üNŻ öČ"ä?wCă<őůvÄumF8šîü®°ęáç¸Ó˙ۡËX”ŽYÓ&AĄT“Ó'ér‘ôŔívĂE—ÍnĂą‹—pˇX5o 9ýqÜéÇ—˙Z™}ÔôÇ©LDŃ3&ç˘ŔĎŢ-Ĺ‚L ófM‡JĄ‚‚‘(zů<°‹ĄáX4ć˘čĺJm Zš[pşÉ€>9áF>Űů”Ró+a´őß6ţ%¬|č|n>9|KňĂQ8%źćF±ßܸ=ąąb’.5AXZÜ37¦]˙ű_źůmůߍ–ýÚ•ÉĐţľH ´ţđëP5ď űďţRřź!Űč*íź#ĆŚ{pîW~©Ń˘PňżĄ¦ę3°Y:„ŢŻc€D)úü?Kp ě˙ČIv <Ć$ tÓwËĄôą˘aüR)ß°×h±{QÖ`ů»u/†Ĺ= |ëV' „˙ÎÄßá Š‚ĺă¬jhŘ8ăăńŕ׾IĆyŞľŽTď!(ôhâżTYŤË~,Ú:đŢľ ĚLÉťŔ ŮG Ń%J4äüÉđ!Łź•DáaF¤;[°a÷9d%G`öěŮŘse&z·Śšţ¸b§#""ďď)C´ĘŠ ăsÉ©{IDřĽ˝~Aô@ňҢŘGdfí ×%"ŢŕŔ–#5xbE>ÜňhA›ľŚđď5ý·ÉS0kţ°ąů ÍMq¦€ü‰Ů`“ÓgnřĹćF¤HSH­[ČJ‰‘>Ř_.tĎÍÇ狿·îĹfíhŘŻY3™+ţ™/ě.^iŔ;{ŻŔi7#5Z1FĽ´hŞ÷á?/*µŹ/ĚBö„ ‰ů NoŹ6ć»>ýRřźnd~ç;±˙¤ Ź[»ŕ‰Ő1đťŤčóEˇęŇ1aŘ‹qd ]§~/‹Î{^e4Ô*92“Âô*…ěÉőß ˙Ń­Ľg˙ť‰˙bU›0éáGaa!7ÎW×Ăë—˘ˇˇ‘ňV} ¨©®Ŕď?>ŽWß>‚3—k1Śsú?ÁUíęQÇ_ďÓßvĽQ*r2ÇóôšŰM+{§n—|˝“śľ‹¬ÚMFMŹ>'ś¶.?9ëťÜéł ŕŁuä¨čŹ Ç Ĺ|qĽĽ©‘>hÔjx »ÇMăpÚŕqZÉYÚi<4&öčuŔë˛Âan…Bt"ÎŕFiY=śN'w¶Î¸eŁŞ˙îč9čž›XŤ 2Ćń¨‘ÍŤŰE‘®Ű?7’×ÉçFň±GúÍŤ§łR›‡-Gýs6n‘BˇTÝ~=Š($-úŇŇҰďd5Öm?Ź‚dľ»v2ž˝VΛĺ fâˇĹSń`ŃdGµá˝ĄŘSzQQQXü<ęwŚ˙ń *t(2QŁś‡*ăC¸ńĘdŨ&ð۲ßA lý·˘ľŻŇż˝đ™×+Ô:šd Žć Rů©˝d#Ó Łp5ŁőÂ'‚*çY‰UůX™žh4QżĽţŰçľČ{}™đK¤ mÚĂ 3ţQt&?Ť&ý"´k¦Â- »Łđź;}ËŻç[ŰÎ!?މď<ŹŻŻ™‹ŐĹ3°jŃL<şt‡qa&¬Űz˘Ç8§.} ŠiنżěÔ~ŚÉZĐăôS"ĽĐhNꤋľ›.öłŹ9|ş$rú—…ś~ 9}bÉéźčĺôŰ2*úă“éxꉧ]NhµjrđNîčÝDÄ>"1·•Ćb%Ço%ďę@K]’ťh×%ÜDŢnžb4 h¸R:zöK„“› "ä("dŤ&@ČŽBöYňŘ9ůhnś–V¨ĽťT¶ădeGĎÜD$ĺÝ˙xĆ=…)S¦ ôRöś¨Ŕ˛)F,›W„Äřx(U¬Ž$\.đ¨>aL< ňs15ŮC'Îá8ýÍرcáËx^Á0ŞţÓ+čж+˙‚{ž˙+Ö|ű Ü˙ě«Xýä˸˙›żĂ=_ šĹëpR÷:¤ř[Ň˙Së^ {\©1ürńłŻk5úHţ\sů~˙16ŤIžŔCňŢ™IAyANF\*Č9ÎEú)¤ş[N„@ŃŹˇ¤÷a…<ŢÎB?›Î@—ąT°Ť™©a?2RƄ髛̿ĄpŇôäćO†şq_üI…vő$d=zĂŇ飻ď:„YǨă·Ć®Ä=dś¬>±çd–ġprÔJÖ0@Čů„PĄR’S ĂĹr8qF­’×'Şrž§Ú …ŕ:~'9…n§Ďę'áQĽaC`iMÉźÓ—$ýHS2¶\5µ4ŃTô?5˝‹ ŻŘăôUéđ©|A×›Ák]˘(2M€  gĎŚBd3 qě2š ňôô”Ź˙ŤŐÜ«Ą ĄŽĆ¬‚$SCdt|PŇ:,íĐ…ĎűőĂÔuĎŤŰ cX$Ľ>˙}%%á©g>74.1NdoŇÚŇH¤  W© p›čÄőĚMťT˙cC,f,xŔź=p‹&ę19o'gQâÂăAŕ |ÉPÁ„EŤA†Ď„ö^@Vrx ==ă˝›GĹÚ„X¨rľŽŐ7Q"˙ŐoáěŮy¸Xş¦łţú]ÇŰ/—*TÚŹ?÷{mD|O\<ôWL(X ÁkíŤřú)3Yď:‘J®‚žSŇ˝WňçůŁĚ˙Čžç‰ĐëRAţ÷5·Tâř;O#Ň ć®Éę`Ý\éŢň'ţ`ţěEÇ[ĆďU¨mó ĄË—¤ŕü®ĽŽ0`lb4ÂĂ w ţ†/j\©_¨Ŕëě¬Ă¬)ăiŞQÁßĐŇÍŘĹĽaŕµ çpďŚä¤ń„L!知⼴ÚcuŻW‚‹}MK'Z;8r® /?’ËŽľ fO úýoíň˘YžäädĽňÎÜ;3ĆĆ’ˇ‘űŁU_řŃ ‚ßŔi(°Úťh4™áĺp‹\ô¸íh-^}<Ź;Ű«e§qĎŚĽ ëżŮ.âŞ;ăƍÏם’iŃ86ŽĆAÎ^)RÎĆ"çEwFÎ"S'E—’ nź NŤĹlýĽŻ<– ›Í†öĆ+1e¨Řo«E@32üsóîYÜW”Ь”h(hT6t˘Ăć!ł"‚C_[–‹;v ©âe"_Đđ3?_crÁeî- ďîŻ!›0>)±:Â.˘ĹěB]sľrO2ş·0”]8…Ą÷L˝iýQô?C®T˙mŢW­eaăŃŹĺ¨=·G;kíŹ!Sé!¶đ6łVä OWŔů´‘ÁwŇŠ˘Nn>˘ô2¤Ć l×ţ–i÷ŁUt.â§<†sűŢ„QŻv†éÔš¨p˝ľ­Ó¶ĺ­ sžţőě7˙–đŰ]"N×x™’‹ôÉéČ$’Ů»»ÓSÜ üăě!˙ŕâŻjqĂQ€Â|÷ÝýŐ|Ą9.Ţ´1jż‚tŮńćNw@ŹÍKă޶¶ěÜ· &ČF˙•ÖNMö7 ¤Ä¨1.)†płŐľ2Éë¶*ö"Ń ÁGşck‡DÎ3%ZŽ­%udśy0;DX*¶qçĚűŻQËásůČ™ČůŹ× Ebt›ý$E„‚ŹEą^É8ítZ Y”Â*Ýä@˝ô·¬.ĆĚ„r{ Wj®˙zµK›…GN*•ś°8ĐŃŐhŁ–đ‘“”±Ť=´đŘᲵŃďí46r9„ßG$&zô;9”‚›×Ś, Ô¶‹°WVŐ~»uX#÷ÂçĚ ýßĺč‚שfÁ < Ňw–YáîôŠćĆn7ĂÔÚBsB:Dăbs#ůŹrôĚŤ™ĆÔě¶żČ>WÇ?÷Ä•v,ʧ™é•× ¶Š™†ŔôC˘™EÍD°ěň‘m8ÚjIÇÄéd8zŮŽ‡)ĐÓǢŞ ŕgţżÓćC‡,9ÁţłÍ—ŤIÉ0踟ňĐĹ:Y›Zu¨¨kĹű*qO‡o/IËČAÉMČĎĎ»)ýQôźMŕwćÎ{JWQň7[CŮaQ”|űÇć-Ľw̸řşĘű: ˙R —#ĽöśÝ-âL­„ȱ3>mpB8xú¦%Ůgě~ßkÎTlż€Ě™Ł˝îę+JNš­ÎÉZµ z­Ć`u8÷˝őRdÁÓ˙ŃQu»řëŰ˝¨v§cÖ˘›uÇ?Ć#™ŞĘ#>V¬˛{;ΑÇßiőˇS5qyëv“©•ýd|~1ΖďD^úÎÝă÷t~]B/ăŚ$§© Ł$„?Ré6N~ůĽĽKLôyŕvXA1/â#ĺdś¦ă¬o­EjTpďżN)Ábęíôťäô»ĹśľČČK"bóň&—ÍÄťľ,ý#g đĹ?˝NEN·Ó×+\ä8eA×%q[[x±(›Ü\s;ôĘ6X»|0P€®–yyťKMĄ&r 3ÇĎćG&*xTvĄŐ‹™Ů‰ü~TUUឍE šýöÖa-‘Ô5BVôšŤnd,ÍEřÜ6¸¬&8]¶^s#ňŽ8–1í=7‘áF«\AÁosŠ=éiviHżĽ´@bQą@äĢ|‘°źŔŃOÄť¦fZD¸x€ RôĎţ¶;Ş‹ź sĺĺ ŕgrşQ‡ůKü%‚Ď.6cőědäg¦đzťŹżDä©PE“qŃá0čŐĐ*ëqäB] DNz” kăů›ŇžB$đÉ Ą¦T’ÄAu‰˘÷˙Ň řŔsjĹ·×%[-D—yŐşÔÖ˛źÚ)ęłżPjËZs)®ş—3’âˇĎŔ–ß?épŮ-÷“e,¤gżM·LGżn]ňĚ›–Ö[Ĺ_MĆçŽ.şęîc‘ŚéńzƳ¼­f7jMR›źÖę^8şó3\}Ćiäń¸Âä~® [O6`eaRńR4ŔR ,Ç.;9űËWęqňŠK Ňz6ťN5ž‡N% żą«—‘‘Ż?‰űgĹ#+5žp3GĘŚ“›ŻO0ăôŃ<°:Qcs3L]"e" r4űÎÚń‹gfŔjµ˘ĺܧ”$őţł÷ßuI…âekđéˇ T5µcb[ýű §ű©ÓwB#óůn'żͰ±¨ĺ¨‘‘ă÷‘ăaăaăpů”°S¶ý<đŁ'fđ÷ÚőÉ۸*‚Šżż˙Ů]®§ąyŔ?7Ťm47>#d‰˛\˘ą!gĎ憥tť˘ŽŔܸřÜČhn’°ŞČ?7 iˇµ÷Íç‚‚żŐ,˘YUHOźÂ˝…q˝ŇÓ¬©A tˇ{ý6B!™ŐbF}cc =-#QbÇ~ţT!'˛Ęs‡ĐůŮ‚żľôfÜę@‰ŕ,‚ĽńP)Řg9Ż?2źę ,°Y¦ČE«ZŃÚމŁevüźÇ¦ńÁ‘íë0'Ç0¤ţđe1ďë|ńáó~×ëq&<ńzÇ?©ŐÚß=ôŠî.Š Űý{@|î^ýź?wíy–Ú˛GÍíiŹţů»ĄřÓö2m6ŚŤ•#)BB{—™ž»Ś_Ľ{˘§=:mÚý8X©ę÷ľnbýjúě6Ě˙Ę/µtŢöşµŻ9EE2$Ů«Ł ţz«ř;-tj§ôtĂýe_E2řŢCSńäň©X2cĎĚĆÚůŮxd^&§)ńţţrě)­âÝpS—ŕ\=úÝ“‘Ĺ_gr"gJ/đn8TůąQD¨‰ţŽ2^TőrEň­ý…x%)Ź‘˘‰É|t°­míĽŔ{Ş^ŐgîFżÝéąÖ0Ŕrř)účsŘ “ĄHĽ¬+Ěë \ôłĎ§µ K+”’‡¨›ÁËÖo= 6§/¨÷żű3ⵝ袕ý’‚d2Z/ŻCpÂe­Út±źŮř\‰/Dľ÷ČËÇÎ>ŞZ%,¦że <{k‘…'¨ř{΄x 'ŽAŃgŤÇ‰*şĂ˘ÄO«`Ňă•x}ČáČŮyŮü×áJO-͆‘Vú‡´dGĐń÷×áxMǵąéôĎŤčóoq`‹čŮŘ\öłT›+Iôs¨U&`ńôŔÜ´\‚Z2 żŠH•évwzÚív]fZ”˛NJf'˘ÇÎ/°´®ąÍWÉ.Üübik9é™\zR *Á4ü•&Eφä(Ň“c{˘A6źÇăż×>7ŻË±ć ŢĂă´‘O‘­ÄÖŁu<úe›¸]CëO!ú<®oĐCÇSoWgáäKĆÓó—GÄgĘ<¦“ţtÎ k&@—0f_KmťiÄĽÜLĘLE„Aß+÷éFcK;*j›ńţľ˛žÔVĆ´ĺ8ţoȉł÷y_Oó čÓ#ŢWcÎîďÍg×ţ0=ýłőOĆ˙«Ç`OľUügZb0Y Ô˝ĐDˇn"&eŤ źă'¶1Ź…şcX¨«SCŁ¬Ĺ‘óµ˝BÝ<Ř%É  'ţJ“s¦ůkH\A’‚°z‘ąčőw±î*z˝_AĽ<ÍĐGA5$¦ Ďľş»Q6\řŐô9}ŚÓEĆIEFĎ{ĺ¬Räź+Hţ´ËÖ‰ŽÖ&2LDAݤY`ąqŇß0cţŢú“MNď±Ď±lĹjîô?8PąăYŰ0;i@äĹuÖ‹á‘ůŹ€ó!°ĆF^‡®Hx:ŕô·mۆiIví%ř{;Ŕnś¶çÎťC^n.śn>ú¬3Ó€h­ŔzX)Ź×ĺŘźŃě Í&ŕHµ÷ĎÍB^f2Z[[ŃŇŇBÂŚĽé#Xř{§ŽŮď'ÄIŘ×3747ĺ3Nâ]Ş>Ö$äo®$˝x*‹8‹w^rBľ*ĐÜLĽ67‰Ö âׂ[ş)PşxM˛ł§§YjZůx TtYŕ˛4Ăé°˛63‡‚ĆĄŕu2É'@­”÷¤@µ®*裌8~Ö#˛ü%‚Ęv,ĚŐŃ|<ďÁý”ÄË"'>VăiëvtAIv>&BŽc-=%‚†ÚłHĹŤď˙u]úzx”><üĘŞoż.SjozßŔžăÁ/ĺ„°í´ «f§#/=އŹ,µĹX­Ţ<ü`P‘Vän”Ő¶ádY3ĺÇő¤¶ffGBŻU_˙ÄÔ{×}×ŃŢpéů'o}g07ż®©ňqţP÷ X]4ť>P—0zůyi—Vr5-]hí´ăČنžn¸c‡va^ÁřˇoĐmâg ˛÷d đĘúÓX4=Ó28f…ÜoţČ |í ,ŘY|—iY馱PŔBŘń˧ P[[ ­h"Śąą ľMül%|đ\+¦OźNřObv^Ň⌼>Á»Ţäţš #_·ËF¸Ý|Ĺď"Űa¸]ŘÝöślÄŹź‚şş:¨<-žüýĄ˛¦VD —śţńó5řď#uť…9rD —łßéÓe2{qčB'鹩ÜéoŢĽ±F«ĎâóLüýĺ`i%Ćú;ÇjZńîľ*´[]´čŃ *LÉ_òµ­ND†©đřüt¤$ĆňÎC“É„“'OňŐvMĺE|ç™5ĐhTAĹ?âs$üŰ—cÁ˘e<ZÝćBNŞZ%kx“AM6˘ Ó($¨)ôđ}8YtĚ:(™ťĐ˙ĎV[0†ljŐě4ž]L~BËćb„ń[lNśŻsűKďśÁšyČJŠäţIIA€żD߀č?…uR6¶uˇÍě _E¶N>j÷‰üâ‰ÉĽDĐ^S˛Sn¨?×í“+Ľł\¶ŽđżýzµŻű)¶ç€3ç`»ßµiXđÍŹĐs´Nşc#ÇÁeź§ć ¤Wzăehë?¸Ö¦é'X_`•­Q(UlCŰ p3řťiOaísŻđH&LjA¬:–Î?Éü«y­ ؉Őěn—‹ś)…ń5ç/“Q;ˇ÷ޱůO® ‹K†_[Î#‡ľ=ĄĂ‹ß+7 uÍ[ÜI8ěftŐźBG?$ŰŰ%}-^ÂNaą—…í>TT\FS›‰˘n|r Ť3¶§Ŕ»˙íˇ´ëČ ›B‡˙ţűňţŞ˘"eGăÔ©“h–×B!Úˇ•{ óÚxŞBF«xÖ©*Ę´¤;ÂĚ.=˙ąŢť€Âüą= ŽßĹ9É4üýĹ6f5ôúżCa^:âŁtX·ó2š) E'˙‡dD§řř8<ż|rŹÓw8ŚŚ$§ăĹ?üă?˘@‚\ *ţ~=и· íóźă›h_~<íťfś¸Ü‚ĆvW^VR[‡¨0M—”” 11ĺĺĺ|ăŻÝnÇŘŚĽň«ß _±—ĎkĐđŹěÜřŘÜż=l:ş¦Ďâ)ĐľyЦóPJiů¬ÜFd>öłüŤ "oÚ »Vč)7Ŕ+3â‚3_}a±ż˙ŕÜ.lŮ˙APîżGť¬˙“§É] ĘJ-Kc-2P˛=b,v—ü–¶őQÖÖÚLţé"ŤCË}‡˝+±§Dpjß»¨üh× ń_G`OżaŰňÖ3‚6—idjŁiÎC?”×~ţ§AÁ×—őś§Żs"?'‡w•±đŃ+ůS[ŕgÂy‰‰EěăŹđş ÓjH€»ĎS‹ĚZŠFgDXę ”îzÓ)ş¬‘ÝźĄj‡çF7r(ü…Şć‰‹»őM‘(‡AŻäxý'Ł DěâůdÉMŕ…G$Gé± L­¤Ť@†ÝGŠ'řCÝŠBDŐ}p(uĂŠ˙â‘Oűl:U*”|^i±}- /ßt*şy :S›Ą>{ ˘txYNNşěÚ¦S}xÓ©ÎÎNĚYŽ gb±<ׇ†ď˙ČĚÍÁ©U®Ö ‹—ÄmiüšQňů¬\˝ĎŻČĹ»;ÜdĽ…¤";Ń@.Č'ąx‰€ĄÖÉjČ>ÔüÔ‹Ň®tĽ¸¦°':}śu&1(÷ß)„÷””ěôyÉηŔČXç'a• ^yţZvWW#,Í•6ŞůQSÜÎ5E–ňžARZ̦7Ä?ŕIO˙Yâ-4˙‹Tj(ŐšAn¸ aés{af2řń->"'ž |Ę.~(Ë}zpŮÚˇ” “áDY#.Îâ„Đ\ťŁŠV ő»ńܬÜ?QfO«*;6G§ÓňÎ=ƸŚkůI b`·>˝†\J3SĂUZ!{řW°\4‹pş#·2ŠÔ¨ąŻUi†żV%ô(ŰŰĺv±3꜌miňý "ă{§ÜčöQ` Cnx ”,=¤$ÜĚé‹|DţÓę5ŕ\çX<´xň2Szj’]V´4Ö`č#ÔN‹ż~§Ńjáö´ˇ­˝Ńa˙ÖâFĽ« ćÖJŘmťPÉ´ükUܬVL YV“TkT˝¶—ř`B˙73 ¦B©yĄŢ„ŕęCä9ÉŮö,0§äc!Ž›‡9­ UŮř Ś<סF ąŇ™B‰áŢříRÔH†ŐŠXšmFeŘX$#ńăsčyÉĂë1ěyk‡ –ŽzÂKΔ0łýü•H†E yßű#§ĎNüZ…¦n!Gáň´Ł­Í„čp=W°… E‹nR«é*l¤ JRžęg Â(™DCd·‚h¶Hx^‡÷ý7´l$ăĚäĆą–'YŹp9Ű%Ĺ Ň*˙×్›tźÍ=Îv¦ŕˇESűg‹9 q îQüI"!š×Łůł=(;2˛Č¬>NßŃz:Çeh› OńÉĆ?#·čţś~J*Ťä;„¬°ŕálL‰R#ĐvĐżóH’Ń"Éçď˘ »ć:ČŞÇćo#mćc< âŰďÔꑉÝóŞ+V<˝uëÖ·‚‰¸çfňäÉäçJi,+i,»G<šPYňň«_ďI®ßÓ­&ŚQ›aTZy“™ĹŁE‹3ś0Fá;Źć]—ő qôbąę­âbĂŢ˝{­#y˙™6Xš/CĄ*Âśś8\Şč‚®Ą-Ä ä»”˘‚§ J–…|“†“–DQ¤‚E’dČőf-ŠrÇö”rĂ%š= ůąCŠśť·Ąíľ°žÔk4E·FóóÔzkąr¶Ž6Ř:‰U|§?…ű‚ §G5Ź6€Ű?x˝7~­$çÍ =‘ E1>Ţ Gë~Éřü祉ţ–O[g LőW)’áýp=«7Eŕ&ɨáí{ĂŚźʵĄ¬GA.WšˇomD—ÉÝKAĚPJ6Š[śPËٲϗs%aĘRߥĹě^ ’FĆ ”<ŻŠş˙‰0ˇěř2Îgzg9N·qj,´Ę´ń”łĹŁAłĂ2ÎGr0εřččF¬Ííŕí`áż‘$Ł…_°éëôŮźň?÷ŇĂą­řôđ;HťţČN* pÔ—`^jpń-ę“=8xţ=ŘÓ× ))‰ŕSRRĐĐĐ€„„D,Y˛äĎ÷Ţ{oú¦M›~2Zř‡cn233UDb;Äžű"„|+řłq—öż‰öö5<úŹOĚą.:áćR 2çÁ'—/_>Ź˘ÇĆ‘Ľ˙ŰŮžÁÁsők Ăüő.ÖíŞ¤÷‘É´ţĚ ŰÔ8TÖđŁFŁ#/¦pźÚQ}ş|ÍúSĆ6ˇ±0r ŃŠ28zAĆ÷.ř<öčŢ„ ůSqö.FUśŘŽrŢť+Iüś˛BP˛´ŠŢsxV ˝ńëhĺR×ɨ)Ô5Łť"¬č0=ߩυ7Ľ6"Ůöj~Ü sňţpťďׇ—…ş˝"ö…„ýďĎHŕ7:.ôR¤»“żK’ťbáż§–(„˙Č^˙fTöČRs ¶0<ߣ %ČŤöÜŔĚČÜ&9ŞK¸H«öööŐă,şÎ83oÂ8'ÎşŽíĹ9ÍÓ˙“MěÁiö_Ú{ę˝×9ýxrú]ĹŘvě2ŚŁŽ˙ć¤x"p¦n.™ç!{âDÍf>.-łć¬ÔÔÔWČń—“ăçÎÁ?řܨřöÄ%r‚ě‹ň­âgvRá-l®.BVÎÔ!S íµ§1sáCĄ@3Nť:uHě¦R ·Š¬ŞÇŽ|†÷®ÁsKłń—ÝÄ6oÂNaß—Gä%±­laÍΛeBKjślŽÁs«&÷”˛ĂęÉ~łoqű€i°RG‘VKŻÔ–Űc#Bh'BĐńŠłÂťÇŢA„PĂ;čT,:ŕ)"˙JąÚŢ©-ťÜAź§â7n8ľřŞ7~6`›©’G2EÉ”_µAgj†ąŤE2"Ź^d^+TɨŕâQ"uĄ@¨Kxë:ÔɤôD2ŮzŰ)ÄáÇź®lĂńŁźaů*¦ đWRécZxĘÍ˙ͨ/ęJ<ç,ăűC‚€¤´1Š$żGA&knŹĐýď–IĘ Ô•˝KĆYNĆ9eHăě¨;Ĺ^gśyÓŕ㳥X™^Ťřp!hř‡Cĺ§k·‘Ó/Đé××§âBůnůťŠżżLK"M‡qřX¦MźÉ[Ó¦MăóĹćwóćÍ/ápŁŤż·,É7ŕ|{%.^ěÂĉ9·EČ·¬˛ÉŇV4ž<†˝'!Ó!Sęü)P—nÂî«Âüđ.(rEüeŰzd®ÖčÁkÝŹsç2x‰ŕ·ě0%®J_Xűřa×J].-J[ă°¶xRźąSŽôLŮö{“‚X3čŘŰ®ř ab,Ę«ěĐ+ @»z"F¬őS%١X《„9W˙&<jŰU•sŤň Nú<ý°Őú㏴VôD2źťo@z¸K!ŠNŢë 瑌ÖOś^Y#’Â`Â.ŞPg5ŕąéţH¦«®ú$ĺué9}ŢHŕŹsîQ5LAö 6¦*?—)§‡łUN—K´şy`AQ!!B†Á¶ŤţŢ’¦2#EÚú3'±ďdGlŃÁJ 97ßéř{ëan®ľőw‰ĺI_aaˇöV ůvń3ËŇýi`Ç9]⛕}>¶w’„ŘîWů÷Ý=1Ó‹K>BBţęaK~ü)* ΞÝČű"şKďě)ÇńĆ$ęíW;yýÎěRŁŃ¦CtT8ľő`Î%‚büqËaŚeĂ“BTŢ€ŁW{B#ĆGĘyáĎ'zůx˙W2hȡúS[2IÉ öě>"łĎÁR †±Jţ•ěď†+Ôf„™"™CÉÜŹg—LŔű{/`fb˝P ěod«›:?‰µŠżűçxCž]1©'’ÉŹjđŢŚţ4Ą §Îoé§ 050q Băâ ŇĺRˇŃŞE)Č7×N@AăíĎwâ©"9ÔJ!hřŞŞŚWY1ôSŹ"ŮĆw…FbŐě>ĆůĚŕýĎ˙†1y«¨eáTćŞÓť© ţá IDb†|xĐŚýśľŕ±Hw:ţţ’Ms5ۇu‡vÂ`Đ#::FÚµk—Ł˝˝ý•»oýŹŐXÄm'NL¦ě`qqń[!ä`ă˙ę\5v]Ř…{ѰĄ@żţ©Ńő8U˛íí‹y‰ŕ˙|íúA~”Ď Q"Č4Ç?3«7,_ž0Xýnh†ÎfEŰp¤„a%#„,Ľżď"f'›ů×đt Ŕ+(y„?µĺo‘fŃLIťĎô"„Éqíüłdü›G•´ÍěfeüÉîRŠdĆ÷źóáËždF”ZÎÉ•µž *Y$ÓéPăX}îźźÓçř‡M U_ÉŚ$ţ‚1Í(=ţ)Hq@Af_§ “HAžBA2§-Ĺ$b®“ ˙Prُé‰jl?µŚs4vé°őL î/=ü·"´ľŔłłťxëŔ&މŤ}{wą_ôŢ řűK­Řż˙đx¬űă‹î=M9_Q*•·oßnş[đ÷Ö˙;v”ßwß}y7nÜEs“Ďć㦠y”𯜡Gi}ÎÜn ôń’ŹşZ·[j*‘91Čąń" ćÝ7ĐžBA~úťâf4} ÜP!äXçą>„đŃÁ2&ŰĄ‘űżŘ’ÂŘ»ŕ#Bčp¨p´Ö5ó&ö!§SBrŚĆßE¦đĂŁAłÖ·$Iľ[±ŕđŹ‹öŕXŮ.Tő‹dÚj»dt!RëńG2NęÍjDE†áŲdîÁ÷îÁs Ă Q] we#ŚfR;®4mĂ–Ť¤ ŮC+Ąů¦Í]}ť‚äLť‹·ŹťÂŁÓśDÄŞ áżY5CcĺÇqî˘yĐÚQIůÜ3ëÎÄ?¸Óľ·¸T÷LUJ<23ŞěŇÝ‚ż0ýQ*ŘÁÇâ6¶2eťQ·ČŔنżŻţwüô§?ťöŰßţvÍCřÍňčáźťźŚ˛˙xÍ]byâ6R ·Ž?3ÖŤqŇiTW–ăłsü´ö­ßĽDŔšý,uQ´ŕţq^(2äřăî Ȳč Őď%0š4ŐŚt„k™żÇęB7’qQ.-ß}=!Tw!9Ě  ťŚşTDFĽ¸fBđÎĆěŘ‹Včˇř›3ŹĚěs&^ؤ›8—ĺfđĎLę@É©O)’™;h$““¦ĹCD2ă&/Âë»áůb "ôĄgu´ĆźăÂ8ń<Ş®VâĐůp¸U ˝Ä ŃZ‡XĄ k3}PLPá»>ŔřÉ ŻS 9“ń· X<® ą©ş áż™•č†jl=nÁÔ‚ÂëjGüÍNĚ»ńßHňĆ!°B˝^sWâżôçVđ1üűî&ü1‹ô_ź|˛śěăĂ… ĆŢl t¸đË~*“ôĐě?ˇIň·âúŇĐKKñnĎVDg-´~G‘Ř×i=ôçOF“áţĺüÍť‘Ř>4!Ś˝ BČ_ßl>Ś—ÖÄ‚X°3bśđ™o¤D7‹źĄg&¶ˇ˛e¶R$“qS‘ĚeŠdî˝.’™8ąxÄđs!EĺŕĐ4‚řĺĹ%a*ȸń™8Ô G»Ą÷ä† ˙íHf˘FmŢůl7 ‹ŠűÔŽŘ0Ţéř‡–ţţŰÇńâE3É}‹ĺOaâP)Đ‘Ä/ăç¶JţîéE±Řr|ě3¬ß-]şôÍU«VĄSôřĘŤ"02ëęLPJ‚¬ÓÚŮ­6$ôúRłÁeöX'*Lű‰®!L’¬-ĺ:gĺ„@‘ئÓă4¶ć^XÇNŕFßoý…đgގR¬ÂŐš:şČŽ†ŠŁŚúZ$ckDśŞM Ď ÇŰţăóçÉ|x¶K˛¬ČĎŽAGk ܢĽe‡F%âwĎ,×aóŃä S¬!UuéĐVr-NüC›d_ĺOÓáĄ%>üaǶkµŁ=;±röXtŢř]hcîŠűÂwŕŻŻŻ·nذáˇĘĘĘ<­V« hfç R ŁŠŐlŽ_©ĹÉAJ©©©?^±bE«ß)`ßîÝ­ 7 ¬hvoŮůćs“ć¬UéÂR(¤Ţ ß!Eô˛4Ń…«ÍGp¨¬nY8‚*@.ŽVÄęśX;ŤÁ”…?|˛ ăóf_ßť“ŹŠrm|vö'E—.]ÚOďÎÎÄRb°Ý··ź9÷ńFşřď¬ĹXůQS 9#^˝R-’Y›€u[!:­pŔHćłşÔµ^‚Ň´Çuř˘}S†€ŇŹţŢ÷(ĹYą %çqć)HöŔ5¤m‡vB޲űŽÄß˙5z2·ď?šŚ‹UGĐÖäÁC3˘ŕł›q|˙‡wţľďĺl35 ô`˙đáw»ÝN ŽŇĎťHďdücP~ň=O‰y•P8c¦b°úťbwâ_ĐÉ®ßm±Đi9k«Ż­\«–_ŰuđĹ™WĆŐÉË6.&c)J?şé¸fęŇ”×ĺ>ł˛äŹ?ţř/6nÜřËcÇŽý%€Ë;DÜ<ěřű ËÎ]¬8¨J.zAť””Ü7’‰O@3E2‡N––n:Tą7 üľnLw~&J§A~¬ëQÝôłŻ«!˝¶ĺ]‡Ą˘îőżv}~§âLšŹ˛ďFBýáËöMw#~&!ü!ü_vüÇ ˙žĘuUť]ćź/Z´(r úÝu_h`aĆŘĆŔĄ0¸,pFLhő˙U"«oQ4 0B`)!F,*cvË–-żÝ˝{÷ĎčĄCä †źśţÂ|đç'N”±H&<<śG2“&M˘H¦żúŐŻ~YZZş‘^jçˇřnÄ;?…ă)+W®|$ް°+Z­ĆwľóťýüńOŠěşSń!šţţţ»\\śvÉ’%żůÚ׾–Ő]żŰ·oßĚíŰ·ź°Fł ţ˘•`oG`ž‘DKáíżŃĂĺ{ď˝÷7Ý„Đ/÷ů]…Bq|۶mëoí?‘Óű´"(_ľ|ů:"M˙H&''g%˝ć­€Yá»t§ŕŻ©©iĄ…Á2‹Ĺ˛Ž ŮLAvîÜé,++ű'úuK/ w$ţ!DÂÂÂwă'˙ďů裏–‘Żš˘Óéä*•ę@wýNqAŘmŻÝç5 C„žĂEbëésËȡ~2!lŢĽůEzŮú!S–AÄęÔ©rą|îÖâââ¸Ţˇ®ËĺbETî:ÓM~0ń“b6mÚ4§®®n.}fX[[Űç.\hżëJ (˙‹˙ÂÂÂ˙?żÓét8p ş˙ C B „žö ß±téŇüŰ9ľeđ—Ţwß}ąýwëżL8,·ň†Łp˙7盍˘ţ„đ‡đ‡đ đ CD“Ł*D1yízě±Çňűç>ďTĚŻľúŞěčŃŁ=»ő?ýôSB’„$$_. BHB’„ä®%°„$$! IH’˙/ŔňŠg¬Ďľ„IEND®B`‚aptdaemon-1.1.1/data/icons/48x48/animations/aptdaemon-action-removing.png0000644000175000017500000001673012117271433027012 0ustar renaterenate00000000000000‰PNG  IHDRŕ0Éť©tEXtSoftwareAdobe ImageReadyqÉe<zIDATxÚě}”ÇuííîÉ9íĚě.6G¤E @›¤lEš©óeŮß¶üýýEKâ—Ď!%[–I}Q_¤lť#[˘ŹäJŚ’ Đ$@&śvÍ9‡ÉąĂŻę™],6€¸fzdaf»{şoÝ~]ェWŐś˘(`„ &LÜ\áf„ &Lf„ &Lf„ *<§­%kŢ|<ó Ć&K#<Ł€ &&Š,?é´ą_ş˙Yľś±Á„ 3ŔL0ąIb0ď_[ß˝N˙c “ĄÖÍ„ Uv?ĂÝ+)hTdÔ“VÁ$ÉZ˝!ňé-./ŘłşˇĆŇ~ˇÇ.śü˝÷ľˇĽĎuyđ9Ý]äc)ôł)·ë)çI9ý»Ů]g 0&Ln™Ü˙,˙%łŃúT±E©ËîěV´ d˛ODcQ8eÁ}•ʎÎŰt[µ?ׂ?źŰźky~5WŰ)č4˙{]Ă:3=u(P+-K˛ #‰f=bŤ†-)ž‡V«ť©Dł˘ţNQ¦áç°çŔOĂϢzłŃőŤë-ďľwčkdóGj€~†©ńď(ůÎtżŠňŞ"Čć V3tĽuĺ+AĽlÄ“1Ň@¦0™jĹ{g^‚^˛Áo©Ě+ţ˙ńô¨®ŻD@ęĹ@ Dµzµ1’ÔQß«Çd4Ň D'ŕÖŹĂí3ă_ŽŐţÉ-ÓźńT^˝řîż÷!‚!tڇ’±ÂnôŁĚćD03„Pz„ĺĐ‚×菝G©}*ŞVŕŐó?ÄoúęÖTXö}đü äôŻÓ.í›­˙g†÷ă@×O°˛f¶×íB\™DL"QpáYŕ4Ś:čŤzTT Śág'źĆ¶ŇĎc{ĺöü.#ü‹NCÚ»wŻ@Ŕîöűü\,C[G'†G&Ô5 :˝F“ ZťŽ|'Ż,#M€ń˘ń‰bŇŹ«ŰâÉ8É„ZTďŤ|J¤<©4%Ą˝˝—ZŰÉoâ(,,$•ă¶}˙űß7Ţ(ůűöí»ĺřź{îąĆĎřĎOţ#©´Ľ–`M!’žŔD˛CńVô$N`H<ʍv’%ź§Ž ÂÄyňŠ˙–ń÷ ŘHÔdL˘ź_ŠQ‘IR Š)â¬"‘í2Á§Ě*4q„GÇÄyŘÝ&t¤ˇ{ňÜ-Ó˙cŁ/ce}:zZńţŃcí$ÜĐŢe‚‹cN5Co6®kB[ü ´ý~żď¶h> ţ|h®ĺů]4îęjŰěőűdę!(ä -.ňC˛]T`+Š‹Éß<ć÷Ě É•…˝č™o¤Ň<ń8( ^Ż©TŠAźp%%%™îľîä°_ßČ `řó˙ŔD'ş¤C(¶Őă.ßËφ·{ ŢĂ 9BbŹj¦;¬Dť(H#‰8|ĆJ ŚöŁÁ» ZŤ>Żřßßü*WŐ 7prš˘‘É5Eň)Á ł@§%xĺ¬k.f2j%5‰)ë«Ëôx)Łţ.śGăš xóÔń;eßą%úß:y¦° ŰK˙ JÖ®÷B'MOa">€ö©cřŐŰ˙†m÷lG±y5úÂć]K"÷m*9„O˙ćĂî×`& °<7(˘@Śn¶Z&ŤK,AZ#L"Ž#űĹćɧ‹ëł—BĎ™115Jś‘á[¦˙őž-¸Żě‹đ[ŞŻř˝Ăč'zĺC•ënř­•xíä÷±ˇqJ­«Ń8?ďz}fŚ]°ťpŮKđź'ŢC)¶ÝpvŁĎďÖŇG!đš+ô-qäîň?€·şLîŮ(ŠŠë1żMŽË©_ä~bX·¦;~އJ˙ڵ?Ë?żx„ß!ˇ´N§f.GÁ_jm…ÍfSrŚúIűÎů…ŠíWźż_P GĂwâťĚl#ÚDżK’H»Q8ž“?}ăĂźoř/ŚÄ+ÍĎŁ~U5<~ĘKËĐ<ţNŢăoťS§PM"Ś3}ď"’ ’k [DůŠbśEâ0*XËňN´™ŚbYaĐر®ä^ńUa°;€ˇö0RVd†íčkC:.©ošD´+şĐQŐĹ›ŕŃW żk­-˝0‡kńĺĆÝ2ýlÍ7Ql«˝ŞţÜ]ř^ů$Žź>«ÖCN${ĄĚ+‰Tˇř$Räš6EX·úf?żZŤnAý÷Y*đ©şÇť11€W_MÎGĎ©¨Yů´ŚĆ;a±!'+* ±ögŕçÎ~{¦H«Óřív;’©”jŮ᎟8+_W_7ŚŔ ‹Vâjű˘@IBR:ťVżŐţxҲMX¬6ÇwżűWUן}řlŢŕöŮżĽnü·˙9Ăť{Ń2uMŤŰŕ*°«]~ĄE•Şq›Hôç-˙áxGű‰mv˘g¬ ˘”NŁW¨ĹËăŁt •`uŤOŤˇĆł1/őßm-/ë`Ő`µw 1Ľ“÷jń™’oâ×ý]ó-ěYő4¶”x˝7€áĎü±Lďvý1a›¶3d0†”†úđ­®iıˇWóÇÔ1¸ śÄ‰H`"Ö«ŽéҤĄ™†o&ú•Ôä$‡Ń‹ŽŢ6”8VĺĄţ¸Ě~xVnĹÄP+Íá ßBsÔfř޵˘˘´FíľŐŠV|pě$GLx¸ęiüŹŤ?FmÁFőř|×˙ńx/öü~rć+pZ qiôŤvdť§yE!F·‡ŽľŤ•ľ¦Ľ|~˝–2Ôyš069‡ľč˘2S¨F’“(pzpqä}ÔÔVćţpj—&ŢCOüÚŁGđnď?ăčŔ/0mWłďÄösÁ1`A---5ĐđťÄŘjCłvíZrb~NOxvŽÔô0ätş`4Ôônş‹¦ÍÓ ˛ŔÔ¤:®tĹoçt©› „ÂQ¸]NuJGÉŠRÝ1ářçÉ®ż˝®ôs†?/đÚpfřM8\vŐb,ÖŁ¦ëë9»šř3Cµ§Gúˇ7tUîőy…?•J sę4Ę+jÎL¨¸łS$r[d5†ŠĹh#ÎDŤ ŃDµ…ë±­áÁĽÔ­bB±˝ńx%úMŘZţąËŢxN#‘Ć0Ů;Ž` Žďnüa㟢ČR»¬ôźN89ňţĎq!ö*ęŞŕ´»0ę§Ë%¨ú7/!ç§I4^‡uE»±Â’Ď/ÍZŻp®Ăk­?Ŕî-`8Ü5s/čiâb<›@§¤ŕó{u˛€Çřž–N‡‰ľů•ĚĐ­Ä_d«Á®Ęßlj±_BŇFŕ*ń  ăđđ‹đŚWbSÉg †Ą;Şýś7 űůçź×'S±ŕ—~÷÷ Łc$R!×ÔéµD)…ŇŁséb>oˇş0Í2Ł•çťC8vµ,łË“ŞsŐR.Ož=áÚ`4žJ&şwďŢ#‹Uč…^Č{üűöí;˛ŘDřŰ˙D*üŤOo3śě|Oh"đd|@/‘Ѣ†KR2匚¤$Râ±ÍO"“Ěä ˙C#}xőŇ ¸ç®Mhé?F0gÇD)~šTâ©‚ŰćĂ`  6ł )%†É‰ L±R4=ś—ú|äexÝčîëÂŽňßÍ6sôgËOŃ9y†Cm!d"²Ő˙ł-'3ö!ék‡d cGÓ.Ř,vLDFĐ9ܬ)L‹QoĆš’&ě?đ¬g SIň¦ý±¬mAş Cś<#Bă1DÄ1Üżí!\>‚ąiDĄÎ•č¸ĐŠO¶kŇ2śă†ň˘ýQ8 ©˘6řjLđ@Ç1<:ŚžÎčV‚OŻYnuűźv Ş›„ ĽHÜá®ëůť'‘-eeĺ4ŽVçú} ­λrK0T=:Yappm­í(żű·—ô—ÖiäĘĺßI˛2łŹž^§äň*$ x­5ŇúŢzé_÷ěŮSJ*±ŕXřyä‘R,’|w;đo-â‘PB(óÖÂĺvb*:#ç‚ĚŃČ1ŁF"—†„ ‘0Ę}őčŔŮžwQéhĚţc©(V–®‡ ™`׫ёD /ť˛c6Xá1ůqćÜIµ>g#g±cëNn?Ś/ŢőhŢężS_9)˘ÔľVíR[HVz¶Â–¨ÁţöwPąö‘e­˙•ëVńS§)Ăřŕč~¤Đ‡¦»ďÁĆš]ŠŚ˘o¬±dNSÚµkŐ4Áżţ yŐţL)oĂëkE‰ż„8|ÝđZ7!ś \ćy牏 nýX NuĄ¬łçÚ`ńüOܳғ7íŹL"ôÁŘߣÜXŚ<„ŠZíEčvގ@ů,4Š'ďŰOęŚ'ŃÁŢHP ĐČ×őüÎ3Ŕ‚FřlMm­‘XjőnÁ$WIĂľě Đě/ÚĹČó´4_ÂÖí÷á?ÜŤëşÇŃç‰ÇKđŤ«ŕrşěĂĂCź$›^]°űáżĺř×Ô¬×éŇb!(N-ś?Ä41·2ť'—Qç]¬`I¦âi4ToD/‰H ŞGś/üŻđÔ@+čŕ(öçVE–˛…“1<>íŐ{Ô,Üw:~ŽľÁ‹p‹ŕłTâŘŰoäĄţxÍŤvĚ•WL‘š­?6‡.ż őßú˘$«·&O‘˙8Ö7¬Fcő˝ «É6=˝˝¸ŘĽÇĆ.ĺ~?<ť±ůľ>dř$†'O« r,,)¤S=XáĐâ|kÚĎmŔ€ AŘčΫöÇę+‚`h‡ŰkGOâ,üćjXF?˙/čÚ EÖä}ű©Ń‡I=zQşÂ‹óCŻ :¶ é¸űšőźźď (ź+,,â㱨Ú=!Š^§›“Š-Ě*ÓŮŮO˝^§öź777c8j@2ÇRşLŃŚ»¶=h5Ťß\ě8†˙ÖăŻ.[Í›9'ü–ZŘ4^ha@±Ł Ą®z”yVˇÂŰ€*ď:ÔřîB]áÝđXJ`ÖÚáqxH ć ˙ŤM!ÔAŚńH†ÄC2˘ ‘‰ ô•(qÔ«Ľď¨~]}ݸ»ôÁĽÖŹeVű·Ăaňݱú[Ť3_ÄĐů=8x€Ç+oľŽ` B8qŁp‰PI^âźěÝŽ÷ËH…%ÔmPŐ+W)ËşŠÓčĂŕčzZ*›¬ÎËö'+@˙Đ€šťNq‡;Qŕń˘¨4˝udY´źRÚY4Ňqg”ÁěnF»fýáŻLßţË*łŮâ¶X¬ę2\ČÄä8 Ľ*Ŕé9Qó+ĂḐ̌˘ĄůB3ĘĘËń«§łÔ–â&¤ýęVz­ZĆ7Í=†¦|/gü·˙±X:­Ńp n»™$i8â’Ń âá$bˇ8ÂÁ8‚SQ&ÆŇS4kµ§ĎśČ ţéŞP|Ć„†Ş&”8ëQá^jqĽPďoB™kÍ ˙4;úÉ]˙†-ĺźaúżLô?6UŤŃKźD˙É˙Š÷xđÚ[ż&FÁKT}^ňŻČ&»ďĂůSftö´˘Úß ľDN?š]Ş| C¸pVB żI5DůČż"kŐ„8ş˘]@Š. ŚŹ©Ë¸RCĆqbŢë?p‘2ő“E…N\ä|™kŇź+ °ÂkXł¦O$âä„ÎkÔţëá‘!ř|ĹĐŇiŘyEnbó‰§Đ´e+.µv.áĚç:WôŘ~˙C"OĎ#áĎ;ü&ŮJq Ş·˘Ě˝Š­U¨ôč·€1_“ú¶ uĹ»ĐP´÷”’°ĎâÜ™‹Ś†˙¦áOFŠ0ѵ í˙˝ÇżLŚ>ońS#<Ő» - Ž ˘ľx˝úr†é©HŢUEhmťÄDÇýyÍ?ŻI¨F–NáˇS¨čšĘŘ86'ŚÖať}yŻ?G§ŻÔŐŻR6›^żťeěšôç ¬áůG+ĘĘt4lW'Ó°śXm:źjp¨V«.Wş¦ć‚+pŮĘôôô@Ń;‰g&,ÍĚç*Ŕk¶jž`ÚMĽágř~†˙NÂO„ńÎ]¸p.†ˇŃ!¬\Ѩfl;Í^3ζ\$ĹnbÔŚyÍżÁ6Ş˛j˘ăąąôŠš}M…PUQ ťi<ďőGQč\â´:·X”˛ëĐ,{˝y슱ćĹđĎŚrÓ7OČJć—Ű‹äŇš®ň!hµ f€Ň´n˝Ţ@¬Ľ˝‘HH]¶ŤŽ`są„ęĹPďcóúztĽ˙â’(˙)çąő9ŹĽdHĹăńBňu€n¦ož »–-~Ć?ăźńĎřż>üO^ţşĺň×'¶/ţ˙×Őw?vűë˙ŚNK‰]kVŻ•č`¸ŮbT§NLNÂawżÍ Ye´Ńhc㣪Ç`5[a%•±Zlę{S©$ČII%őřŹŕ§Żešdîü­Ĺ¶-ö7ýN "…ǬyĚ ?ĂĎđ3ü ?ĂżśđĎ`žÓ|Şľ®ŢHe3¸ <ę¤äÁˇAxL&b)ő˝‰<Ď©o„E‚ęŕ2}K ®ÓéńůĎ?‚¶śśş>ďŕE]ţK^Ü»wo˙rÇ?=a›ńĎřgü3ţ˙w˙łć+źňy}ÜĐČ 2’„ľ~ÂóĐéu"•ŘĽi+\N÷Ě ędcnÎgN¶ß·ßÚ;€ť÷5átOŚ„ů"9—¤†ßR&1łśź˘ľÎC‚H·I˘ú¶ :č­ĚLô—s!»:›NłMM›°ďĺ·Žv˝öŐ?™CĂĎđ3ü ?ĂĎđ/üÓX'K’‡ztőÚ7®Ń ąĄm´¦R8tř`n šËľőa¦đąO¨ýčt?]'WÇKHŕCšî¤«î‚Öórˇ;]%DgĚťU1Za™T ˛¨.a¨RőF˝zN"s< Ýß<óíe‹źńĎřgü3ţ˙w˙ÓŘÚŇÚÎżöĆëÄęďDmuÝ"/żvůŃżO©ďŐ Üu†ç<íOČŁVZ>çA­&őśÄŻžó3†źágř~†źá_Vř©6ŃröüE>ťÎŕü…sęĘ!séľ^™ŕđú‰ˇÇR‰N+¨Ř$ćťĺý,küŚĆ?ăźńĎřż3ů§XKІĎm]hďčVĂqú‡ËouÓł«ŞđęĽ'šâMWř á5Ü–Ô>đlnZP»+j¨aX˛ hÉuS© ď3ˇŮ›~†źágř~†ąá§qşűĚ‚Í9Wřsś‰™sŮ×uÉ3ýß—ßKÉ)Ir±44~É*@ĎEÎI.$gmfř~†źágřţe‡źž]Î%Ă[0tź˝…®2=€M+’p–ŻxY±zś’ÁřŘ(ĚÍ’UŔnÖcl|2.‹âÔ¬Í ?ĂĎđ3ü ?ĂżěđÓłÓUŁÓ’$•5Ę­V«.š5;tG.t§_§CwşĐuv3ŮNťé›ŹséÜô8-'««ŚđÜ’á'×ćé9eNŕg/´Éđ3ü ?ĂĎđ3üË?5Ŕô}KńˇÁ'‹‹K~ŵą°^ ™ą"Űw. "4˘€Ś @–$5lźÝwÎĺúŢEMR2%ÄŻ’‘J¦­Á>;‰€ágř~†źágř—~j€éĄ#±±.Rčę›6R, îůQśłµ(ĺŽI!WËÜŇTA čSÉTFHg4“ÓŰ !mŮâgü3ţ˙ŚĆ˙ťÉ˙tw’Ú/Mg §©Gqîı ąý2pýŽ€˝r{‰Ż@ާľ¦c‰Â÷ńH2iQ7°9>{žŢ„$ą Ë?ăźńĎřgü3ţď<ţgŹ0Ó…/é  Rhîµn:”ż•TR”ĺ ó KSŽT QV’ĘSOÍ{Gą )r–~<ý´Ś§žš{ăźńĎřgü3ţo˙râ¶ţĚMń˘ÝŃ\ˇ–úŤ×˝âtĚT:Ş€Ź¤Ň żEIůH ŮkÔPdéěbÇ(Ů^ař~†źágřţŹ ?w#/ľĆžöż»HqbE6;íŁ\Ě’M=‡Q‚;üq˛Ďđ3ü ?ĂĎđ3ü'ţŹÍĎŞÍF3]·ßĐE·i†[’`–q“„ágř~†źágř?ü»f„ &LĚ—˙/Ŕ{˙ARF5 ŃIEND®B`‚aptdaemon-1.1.1/data/icons/48x48/animations/aptdaemon-action-installing.png0000644000175000017500000002200712117271433027322 0ustar renaterenate00000000000000‰PNG  IHDR@0ů'ĹŢtEXtSoftwareAdobe ImageReadyqÉe<#©IDATxÚěť ”dWyß˙oŻWűÚ]˝ďÓ=›¦GëX#Yh ËXŘNŕ`clj9Îɉ‰śÄ€ Ć'9ŽOrÂjCN >ÁŘ|Ś@2B2ŇHšµgz4ÓűV{˝-ß˝Żş§{fz“zŞŞŃ­ŃUUW˝ĺwď»ďÝ˙ýîwż+yž‡ť~}ńCĂŽ$*˛4$9rĆsžr:\<ó+<^B“żżŕü‚_đ ~Á˙óÍ/˝ôĄß=r Őfč6EV8ŽÓ§Cáh<ë"z(ŢŐĄş¶-ç¦g-Ď’s 3ŻČůÜś#»ÎŚ ĺ´íTžŻV«ßËű‡ŹÜsë]Đ‚_đ ~Á/řżŕ}ňżjô…ď˝!‰ţÍÁ›îŚĹ3í#E …˘h(ĺ–`éóHô÷Á˛*ČOĚA/…a†Łp%Ŕ®TP.ĺP.,büÔóą3/üäĽS(Ýýž??v±^…/řżŕü‚_đ ţ×/˙«@_üČŢT09vÇýµ4¤Č I2dY$ëXXšEx°F* Ű*±ąçN!“lëŘđÜ*˝;<3žŞciiŃűáßţŻ”ńźŽţĘ×=皛ؿŕü‚_đ ~Á˙şć—·o3’$=ü?·ÜńĆ´.Ńą*Kt^_Ky¨TŠ0Zs$¸®LĘ.Ž*eÄ—Z|ŃEű:”ąe6hH‡nşmČîĽţ3×\z ~Á/řżŕü‚˙uĎżmô—żuřß 8|c8‘93e‡Z±Ľ˝ł(- ŰŮed;:ß˙ĄŹ¸÷Z–żŕü‚_đ ~Á/ř˙¶Đ>4r4ŮÚú»Ý}=T晜«A{«ŕ\HZ€~J_Ś\śľOj˙Ćá%řŕž·˛Ę 8pýMá`$ö•/p_Ű5wü‚_đ ~Á/řżŕߎú҇[‚ŃÄ7ß|KĺE’i.łfA1"ÄÖ-5-{´Î#ă-¨VmT+Rp:ÔD7ä¶Q(- Äűˇ„[!ëa^<3ŽŮĘáČ/ŢťTĂżćßÁ—ŕü‚_đ ~Á/ř˙ňKÝj”@ěĂ7Ýń@:’î˘ĎQT=ĹBKł{……)só<…łHˇ™•}Kůg0qö%<ţµ§Š&`cĹ2%ZMwĂŚEŇdHvšU”ŽÜýĐ _uĄŹżř÷;użŕü‚_đ ~Á/ř·-€TMą%޵Oľxî%Ě\üŞĄ<©8{Í6Á€N©jDA(ś_ó[(ěˇ5Ű EQ¸ŮĘĘOaĄńź‘“©„T„â­čč;€xW‡Ěη“ t3~I–Ť%K¤ˇÄdDbkĂ !töíăüžëŔ.Î4˙n/Á/řżŕü‚żžü[@ŽmÇHGTÄĂn;ÍT\ôŕšďb ńY†±1ZGçaçŰÉ °ż¤pž ´h±P.ŕ•‚˛ć÷WÔ…˘k0”:Ă-đěrÓđďöňü‚_đ ~Á/řëÉŻn= ꮦësÓŢpK™dI»â;Mó kě+“č°a»¬r ߡ×Ćü’N…VŞ"N%ÁPžçҦ.íéB PPĄ €U¦ă2<Ék~Y…¤…H kH: âřšßő` Ş«Ńţ:WŢžU ăŮMĂżŰëŹŕü‚_đ ţÝĹżeÄ®]Ę€mŻ0]]±­kQ×Ć#ri¶Ż"o°/5âěŘě<;˝DŮfü˛$Ó×eX–ŠbeyJ,.Arĺs `›x!8V .‰¦á$đŁóĎ`¶8‹Ş-!µA1 łSKF ˘FżÝŰTü»˝ţ~Á/řżŕß]ü۰‘ 0ĎľŠĺŕň-]¬Čľ¬l8N¶m­»łbđc»?ßÎľ6ć—¶S†ę¨Üňă±@K,ń©w,H%·By`{lŰ"•uˇiřU)Ž;‡lű*tőC™8Ľ2Pął˛GnɆˇ™XĎÁ•<şÍĂĎâ<Čf’ęp Ą„×ü®Ó,ú^ÓčrT)/s~­&áßíő_đ ~Á/ř_oüęv˛Ŕ„>Ů$đ$\!ÁXĐ"ľŻ´‰úł}Ńq ^ńűç­ ťĺx˱ j1ĽÚď|» ŹÓ~®]T¬f+Ó(ćĘ$€,ŘůĆćÇa(:äI .Ő+™ŐŤš%Q:/ńşŇÎŕ=·Á^<Űtĺż›î_Á/řżŕ-ü›1ÔoŹÇ“aMŐ¶|ň`0Ŕ˝¶—ßu]CŔ ÔćđoíĹΧúčýŃx-`=~6^Xô$Ľ8{§—&pzń\ץKáĽ,¤P‰_‚ŞÉPt ŠĘÖ(ńĹN.śÇÉĹWxz~ú$SőäßČ‚Ĺ* ‹Ź)/ ®Đ5ŕ–8MSţVJ™ńKüÝżV¤-[°ęÍ/âr 8pÝ›0|ýč;tÝŻGvď>¤Gę‚ŮׂÄ`/ߎmßLü¬# Ćz §÷"ÖyŚôČĘ{(»‘ŽëČě…–ÜĂ·ă‡&­?»áů#řżŕo<˙¦HR¤űúűCLÔóĹÎ7<8,{’ň¶×rśőřŮXaH3ˇ)’‰á(B‘<ɦť<žŘq`QŞRIy<Ţ’žćŔŐH†L&ŚÖPÚ·Ő‘ź_<# 5Ú5ŇľFOÜ÷߽ڂqĚá\6öĘöă)ÚÉŹUoţu%Ü:"Ç«ýk†úłŢ«XÍclîźpjćYśś~ǧžÂK“Oâʼn'đÂĹÇđâ䏚’Ů‚őOüw|úéżÚ0±íŘöÍXţ»ĺů#řżŕo<˙ćřĺŽl»Ľăóâ6oŃŃŮi(˛ü®×t6ŕg±pú]™ç—­<Ęlf”Ä܉mTÜ˝[\1KKĚŠRrQqňP$^Ą‚t |Ą?Ç5ćg§YWÂ7^ţ{|ďüłřŢřÓ°-‹T˛Ć§îű^đ$Ú’ É8ŻÄ3޸tÔďŚ=‰ďśý1O_{áď®@ő(˙«‹·¶ĘŻÉ]µčťăYMU^m˝nFţŐ¬ˇŃŰŃwÝ-čÜ?ŠěČ^¤ö 2@ť„ŢĚ–-Xőć_mÁbVŞŤŇV,XM[v{ýü‚ż‰ř7@źüä'{5= …ĂÜ‚PWGçK%S¬öłź5_Í16ăgÓ©%»ŚîHŠĹ< Őä–Ű­ ęI0řVR±ţűr˘«1ҰËUtĹÚŻúZó{v™P !#„ˇţ›‘líDK{7‰f­r}‹•BňŤňQńr$\(šDr®/T†ˇĽGÄRm8[YŞ{ůËÁtÖ(%®A®·jö]Í‚eŰk§˝k‰~?Ń1Řúzó_S VřwĚ‚Ugţ·`5°ţě–ç§ŕü»ťC$kxËŔŔ€T­V±ó‘!7·0ůŘŰŰgUťŇ]Żć[ágCWšgŁŤP«jC‘UßZ"Ő|Oxbq‚¤•ż#F V±‚DíîZó“((Nážľ[ńŇ©'ůß ĺI,V§|‡2rö ž"ŹĄ¨O®\Ĺlů–*“ĐäÜĄEŚÄZŻ@ךźÍ–şčHř5H_=ńřĘńď‚m§):׏ĂÄ"m/[°*^žçűd¬/űľđâßńô™'˙'3Ýús5 Ź#ĺ-[°Ü –}Yܢf¨˙×Ě‚Ugţ·`5kůďöú#řńo,€$ůW;::•jĄ,X–Ťţţţ,©oU`‹üĚ‚c’â‰Ę`ËÔ\ě,‹ ĺÄÄOPŹ’řqĐë"ŔŹZŮ(~—Ä—TžÇŃöQĚÎL"Hr±Pv—P°gą ćÄ]@Ě1š9s·G‡Q]Čă֮ᕗęÎďRŮuFŰ3Ł8|đ>´ő ˇ{`„›ďpá#Ó{9’pst39Ü˝‚ÜXŐDrJCş­G{n„Sš©{ů3+‚Ń: =sŕ2;Ź[†ô}°¸ "Qg]f)Ô3űýÔzJ¨µaő˙ZX°ĹżS¬zóďô^#ëĎn{ţ ţ×/˙şÓŕąŮČónΤŇ;{Žc×5ě|łł3Ç’$y,ÜÎţŰĺ÷캉r‘V%Ž˘4Ë2ČËľ¤JxEÁŐr8.őâg–›`@ĆáÄ^X‡`¶z–[JŘĐźHĹů%ް± Ë™ŕŠK¸oŕ p WqמߓÇ»Ľ _yî[čěÁt~Śű^±á»Ş“Ǣ=EŰŮPU_«ł{Ču˸P|‰Ę_Cô&¸ÄxsĎőt¬ |f_˝ře=Ś1GÂ_|˙O‘Ť·qaP©–ˇ«cNÍ‚ĺ’ŕôŁš–ĽĹ ‹&ţČS_\9Ö…ą ř“{ni¶aő§-XŤâß) V˝ůW‡Q0µŔ†Űn%ŚBÓ–˙nŻ?‚˙çŠ] PŐ-˝ˇ˝ŁĂ. Čĺó\MŐóĹη¸°›ŢÍ€ßîtĽWĂφĂÚ ¸e!9ĺ _;@•5¨Vq5 SÂUý~Ĺď–$±ÓˇĹ€˛† áâGQ–->ľő‡MŹO‡şPž­â®î[¶ś[›ĄAüŚ[*NáwbâÂ’!˛˘3‹%k‚Ř]n˝R Jşě‡#`Sž’7˘<µ€·ŹĽ nq¦îünµŔ‡@Sˇ$n?ňnô ÂĐ~bJŃ·`©Lü8$|ć‘÷¦H09PI¨–±7•G9S‚śŐŃÖłoľ‹F¬wů_K V#îßť´`Ő›§‡đYţ»őů/ř_üëZ€¨™yGoOop)Gaľ1Á$Ęą9„Ămë6š;ńR‚,ŃyŘůŘą#ąÇ“žűéłoĄź˙tËć·WËO]ôÖ81w‘h/ î Ź @Š„t8ĺ‹¶ňz“ńĄú°4M ­6Śů\Éâ"‰!ö2Ą0Ă-mű©—©RŁVb¦ËOíQL5pWç­xböy±(&–Ž“`P¸hó‡"Ą•†Íµ=t!w6‡÷Ýđ^xů‹—RÖ™ß+Íŕ_ýřăý9†Gqaée6Š‹˛˝„ąęyĘžEâ­fÁ˘Ľ:ncąghűwÁťžÁ˝űîť;ŮŐŤ_Ň‚óTü·G?Ď-Xŕ¬ęÖ,X®ŚGžţňĘą.Î^Ŕçî˙zčŮ «˙ŠF˘_’}‰ł‰‹mǶżĽî7ňţ]ć/’°ž)śDĹ.ˇZK‡’]¤Ďe>ß. 5żDD¶ łÄ*ű&KxÔ;wËóWµ<7üůżŰŰ/Áż-ţő#AKŢ­-­ŇʼnW …PéyžüîWqŕćŰ0C×, ŻśŔÉź=uß»13G‰ “ÉŞ®ľs;ŕµđKŠŤ–ŕNĎś†ÍĐTĹbŢFO¸ ůÝÁZSňK冣űńÄÄOoÁ´űjÄX D] Bε!+·@wLĚߏÖüĄ%DB)tií8“§‡|’7¸Ą•xľŮČšX~Á ·`Q}/ž?{ =ô7ĽGéu—ďćĺQ$ÉďÍŻµN_yÇKÔ V˝Óót^ć“SBoOëÝüůĎŢřčG?Z٬v‚_ˇžŚ¤ë˛.2Çt…ú0Q:}Ůj´ÍÇŻę“H¦†ńŹĎ>ŠToÓöq¨,أ׉ʼn4jÜÎ-˝Đ„üă¦ÚQ ŢB8;„%ůT…Ş6„ÇęMDnĹ‚aŚâŘóg›źlţq›ť Ţ„cźG¨%ŚłE_ü°°rÍžë7×·` †ŹââĎ&ńkÄŹ…Ąą†đ‡ÇK¸żë×đÍGż€}Żß¶k_ü.Lź|ñŁřá‰gëĘoaxYß:ýgČD}¬˛]B75ľ›Y°Ş–‹?|ěŇłpjţ>|đ_cüÄą†Ő˙Îrš¸?pé&Cxl»ăcłś·Yîß–î ƧŃŰuIJç/ÄěTą¨fX-ş—Ů»®»8Ť—Ą&Ď5ż¬Ş0CtnŞě®ă^š¶˝âq©ýr‹Ż±č^eeňfiżv{ű[/ţ« ŮĂ[öíݧ:ŽĂÂI󨻫 Řr Ů^î`´Ţ-şŞŁ˛Q'fÝL°Ś˛Ěź8u˝}}0Ă&Ě@ýýŐ'OÝA›üżMÍo;ÄŻŇMѦ¨üÄöaÇŰ üš¦áŤC·âń±˙ŤÎÎNj¬ČOş¸aô>K%×Dĺl~&nÝGOýťwăĽű$Őá"Č”Ł.Ł5smˇ( ô4ŠzůŮ ĆsO"Ě ŕÍBeHőE@އŽčAĚ·ńž#ŹŔ©Högl żJ˝łÓ˙ß>ţźŃŃ˝= Öě™*ŢwÇ'155‰LˡşógłYühţIÜ{ŰC۲`É™”„oÁj1ö`_é(™ýČ„zVb™Č ßâ!,6“5Ńľ›‰·§ię"‘„ţňĎŕhf­qTť ]‹ ,§Ě?łw‹Q@ !éG|đ(ÜäަáĐ9ŽM=Ž…Â´€ľá¬íÇČŢ7ˇ\.5uűµŰŰßzđ_U©ŠüPwwŻžĎçx“żwwő —_„c»XÁ[ó…wµ-×ÍśÇoúçž{{†‡‘ɤ Ó U%Ą=4´'xúÔéwlĺ~_Ý9ň.R$BĐěYyč—Ë$4Ş•†Ő˙p8BĎwŮ?WbV8›Čé/úěJ*_ŚYˇń">Q…÷¸ł­íHŃ…_XżBŠyČ´Í2±ü±R©přl{ťđ'©y(S×ŢÖNĎ;>ťíĂľŕżÄŻŞ <Řň!ş=n˝b Ęí~¶čÝ{ńăř泟Þ®7@őL”&Ü{ř˝°¬*‚!ł)ůYCôĐ‘ßĆןú4Fłâ¬ó¸oÁŇeR ŃĹč:ЎŽC¨VŞÜDŰ,ü{b‡Prp|é1ôĆŻCŃ›ç,?”‚äľ8@«±ĹsAüÖ˝żĎi*ĄˇüLčŕÎ?¤şňgčk;„‰âIäíiHÔXĄY´g5 łŞH|xZc FnGax˙ÝŁX*ňŽA=ů™™ĚťÁđ'HÇ|'tćŕĚ­‡î ĄË«RC\AŮ*b©2C hEÔ‰ăkĎ|re¨Ś áýŢ˙‹‹ «?şn N!lƨ+® Ů6‹ŞĎ,sepĚÉŢDBJ# óE.›Ąţ«TŹ’ŃL#Hĺ?KĽ–ż$ ›ý« ĺi’ŽD´Ńh„DS@´_»ś˙Šiđ¦©ß322ě03UąTF•”ݬ,MÍLňŚ´¶´! QCĄňĆŠ%µö~)­÷›ę'őŇď.ťkbb/?Žîž.ôRdkZ±Ţ‹ĚĚzü¬wF˝Ś Ż˝Ńü—8=ľ|„MĎ~‡‡Ú-üľťŚ·ú ”ůxó1Ľuô7y~X/ąYůŮ6,ŠőŻý7Ŕ\ Ł‘_BFF«|x3:•p¨óNŁnÓń»TGF{îDořFÜŹžčuh Ł#<‚ŽK{1ś¸ÉâA„´<|ĆŽOĹ)# azl?‹×ź2őÚ™5´Ńő‡ť+LÁ0‚Љź ×1qíz÷Çrjya ŞáE鸔âĎ˙ÝÍĄ„ű[[łŇÜÜ42™4í'ŔŇôŮĄ23«KKK?ş ĚDŁ›9hyťůš°mą›QĹ—‘Pą3+3ă2u/ä‘cc„®ĆcŐ0ŘŞMǶ]ľ3ťĺ:ź/đ^őôĚş:şŚ§Ő§Účţź?~•ř ĂÜuü·Ť<±éřÍżgřî۱řŹ†ßŽOŁ5Ô‡‚3Ëý6L¤hŰşÓĂMË?śĽńĄ$Šö Ţ4źĆEs-–®ˇUŁÔí‡cy¨(6†i$ż01Ú}7fJăhŤw±r([yţľüŘ—kq°XÂ`ćb(ć,¤Ł]tĚ2$G­+.—ĂôüćŠ Ĺ`‚čČ "!_žçŰđű—„źDBď’ZOĘX ±W¶üű¤ě‘2;Q±WâńÚŐ>>”W¬ä}ŃĆź?ľő|Ů»×Đč9äé0ŮĚÉW<˙w5˙ô©Oý‡mí]¦®i|¶P€€‚ˇ0&.^ŔąłcĚ‘zL¤ö«–Ł…jëíÎÍĎbaqŽ˙ÍĚS:A2gV• ™©;ôąľcźĹzŔl6 ËeÄfeJŤýn;\e§Sś9{%:—aÔM:ţű‡Řą#ëMÇü‚żŮř[śuzzbWńgăÔ- d´ř±ghÖČž;ŮÔüĚ×ĆŇcÔ‡§^Ą"űKŔ°gsUăÖ¸éÉß2Ńü¬Aś 8ŤJľHĺ‚)+2źÇ„ĺYaÜ!šÄ›ŕX.Ôh°p˙ŤâwK.âf ŞIç&Á@U»PĄ<Č&5@ľ“:ŰŽYŘý˦7;e.é(Bš Źµž¤­Dy˛V—湯žŞ–¨ˇUxKM.÷ă3ňXůZ$ÖĘ.Ő! {Š[±ÄóswóŻ@’˘ÝwđŔť)+6V—§ň§Ď=‡ŰŽÁĚě,7sööôsµ%ůÓVf! +Á˙OZ™żżňđňV˝×"űÖnlŻ6Ő“ECĺęni‘Ôˇłgơé:Z2)ʬ͢::c§OˇŤ˝B| ~Á/řwŚ?­gWř=ĂÝUü<‚řUĘߣe(Đśü˛”ŢVýaŤ2s,m$ż$IŻąţł|ĢÍPţň–ů™ĎźÝĎżFÍ/,ÔtM˝dňspřđA>ÝŹÍXyńĹc\ąÉ Q’W–)WÝţúYôÇ]®ĐŢpkßůłŢĚjŻî•Q>ĘL2•äNL­-iu6™Ó÷sd ÎĚĚ_í~Á/řżŕü‚_đo…_]@(|Ëí·›‰D ĽííŢłş¦_>ľwI•­¦hť@Fë,C¸µµ ąIíř‰—ńě3Oăo˙ţű‰G$IőXWÁ/řżŕü‚_đ ţmň«5xFĚ-奿ůö÷páÂŇÉTMÝÚŃĄÍ–CYŻşÖÉ’T›ň°2ăˇVĚ›|nvĎ>Ě®–«¬dY•śŕü‚_đ ~Á/ř˙vů— YD*ť6W–ň<öÄŹýńÝĺńąĺqu©v ÉźŽĚççłČźŠâ{úsÇBßYIZµ$ÁĐŕ€%”3eqźbîdĆśý ]çć­jŐâNPĚLöŇË/qG©ĺqB6卶gÜ«ĺĄŕü‚_đ ~Á/ř˙–ů—'ÝËHűÄéş\›¦¶Z‘ÉLąYĎ–c98ţxÜĺă}lŤE±ř»\[sŤó±(›Ëę°ŞZ|AÂĺřË ýo)_t+U‹I¸˛ç:c“&»R©,ŃŹĄż)Á/řżŕü‚_đ ţmđKŢŞůf´c‚ŢQJ‘ˇ}ű?dCď&ĘĘ&s×®áKŇçggüĚ)¶Ś=_¤´@ÜĹ«xŠ ~Á/řżŕü‚_đoĘżFŐ2Ł·0ĄĄ@Í[ÚÁŐÖ «ĎË©™«pže‚ËëfWđ ~Á/řżŕü‚ţ+P-Ëóä řSÜő’j`cŚ şŕ] Xđ ~Á/řżŕü‚üŇfů©9’ o+….řżŕü‚_đ ~ÁżUţ˙/ŔR )¤'.IEND®B`‚aptdaemon-1.1.1/data/icons/48x48/animations/aptdaemon-action-updating-cache.png0000644000175000017500000001573312117271433030042 0ustar renaterenate00000000000000‰PNG  IHDR€0z­~sRGB®ÎébKGD˙˙˙ ˝§“ pHYs  šśtIMEŘ# öÚDATxÚíťytם￷¶Ţm­µĄ–ÔM±™`'ă vbŹ'ăŘ0ž™8ź˝L<ďĺĹńś3ž—ĽŃ09'qŔ/1ŘÉÉbĎg9ž'%~€mĽdF€Z ’I˝ďK-÷ýŃ-,°V©…ëwÎUuWW_}î­_ýľu·ŞPM5ŐTSM5ŐTËsµńÍ®6~‡ÚŞ©výŚQ»@µ<µ',&ëAW߬v…jŞ]ăÔ.P-Ďţ­<Ç飼vâř©÷ö¸=O9šse˘učloűŐ˝©š*Ş©67ŰQ^Z‰ŠĘ2„"ő-®6÷îöVńßó(đďđ ˝ÎĐl1Ya5[/ů< ! ÁŐďđöVń@‹m €–ś…| ŔaUÄnl#j¨¶gÍ;|€ă˛łçÎú’ŐÍnďť-·6gô^2řăë˙°fˇQnNbOuĄĂQgwÂdÖ#MăČĐŘ%Ű Ä 1 I w°ç‡űűějoçŃ>xŔŽâB›µ¤°ÇĂj˛B”D„Ł!Ä“qř^$’ń~Oćł©¦ ŔŤ0_Đ`€ŔÇĽŢŢ*žXd˙ ˝Î°łÂV‰âÂčuXL—ž=‡Ł!€ĆŔŕ|ęĘ5+0r>€®ł'^joď^@ţ=ĺ¶ĘÝuŐő0č‘G‘G¦ýŽ™-™-C`,‚ŢA7|±oo[ŕýđ]˝ÎđDť˝{=d6$ Cˇ"Ň4†pĐ8č #漱IÚ5žŠWăÎöV±GŤ Ş,vřvuĄŁŐYÓ€D2Žp4t1ĹHĆ Ŕ€?8ťoÂŕjăwëu†=uöz8k˝J^J)壳g-c„†5˘@¨Dü}KxÔ6ŕ˝ÎwqalřîöVńĄŕß_kŻßŮ´l ür‚âŕśľ_Ě×ÂĘÚq˘ű8úÝÚ[Ĺ] Đ+€CµöúćĺÎFdŘňDšśYÄ2ř?±Çň)7üő:Ăž• « ËŔ=Đp4đ:€ööV±SŤ&Ş,V8¶fĺMµĺZȡɥ8˘…/0†D2D*ovČ~ą0ějoG}­˝~§ł¦˛‡7Ő‡Ś’śSEšj¸Gß{5 ¶˝U Íçs­˝ţ‰Ő+Ö` q )9zEőhYjôkńÁ‡ÇŃ7č~˛˝Uüî|˙†şĺÍĄEĄ˝ÎAË"©„‘F‘P‚ÓďŢ!]žłčt/řHf’6–řÖęk›•uIڬÁ…Ńa xúá Śuř^{«8˘F”ŹŚý„T­ÓĹ»;”ŘbŕuşŘžd*q_ťÝ‰ ™ÓĘcJĂHçA4"xą@ŹšJęk°Ňą%…%áhȞΤ»;”ľ… ţMË×`4sŢd?$EĄSIa›+Ŕ­ÖôiÝJű<ń·Úö7ŻX‡ énŘ µ0r%=@ŚśśUD%Ť¤FmÉJŚůG[ŞZÄßş;”‘ńít±Ź8]lj|Ý5öź_–Ű*[†zqŢÓřĽ§żß=pCž!+ٍ´4ŔŔ[‘BP¨P|¬$ä('ˇľt’éÄĆ’MŃw‡’7gŐî%ćîPÚŤkÇŚ1˝˘ŇVŤ!±&“uU аڲ1˙čv§‹ ş;55ôI€Ü™Âý“µĄŞEě^ "ŕt±Ň™ÔKką°ä˘(ąŔB‘QRHÉ1ÄĄÂâ‚âb’Vľ§ÎťŚ´·Š__¨´O­˝ţń¦ĺkĐz±LpÎbIK 4”7Ăňm¬¸-uÄݡôĎCżllh*3™ H…(‚ľ(zúzá÷AÓ,JôŐ(3ÖBËšÍř'ě—ÉKFNBĂé`ŕ-ńz–9]ě§‹Ý ŕ—Κ†°˙Ś»Cyë:´c4Źţ¶˝UüKw‡ň\®ü f‹üś/ŕ źë?ÓĚB«­.q"& Siň} Ç!#ýC˝-Nűkw‡ʧcĹݡĽ[´1\–Τť5¶%đ¤N#,Ť ¬ĐŽšR§ Pĺ–’MŃQU>›(úâš•7Y ,…ńzŠóé,f ćźÚţˇ±ˇ‰#ş BéPJ§-EšŚŤ0ć9âîPţc~ąľiŁöBâ ˘é« ţ”˘śCXtĹjvw(ű®sv”Ű*wó‡c]ďŁoĐý’/ŕýu"2ŹţÖđžét[‡. •iµ¶ĺe‚ĺĚ´íeüpŘ–AĂé±Dl·ÓŃвaőfm·űC¤3©Ľ#w‡ŇďîPş'Yrw(‡ť.vź?čŰÎ@(«±-ÉŠ€"OĘź”c°č‹`ŕ-Ú1˙¨Őݡü6ߎw‡r´hcx{•­ÖČň 1Ś8N``3ÚˇŠŔ'P\müöęJÇÖ5+oâŚE ,…CÖŠŰRýův3ůĺZ{ý¶ćë axbg@ĚXJuőčęîB:“úÖB¤ś.vOcCÓF­‰Ĺ…hďU˙ńMPUTEFYŃĆ0qw(‡ŻcţĄ¤Đ¶ěl_÷K˘$ŢŮŢ*îsw(‡Çiîőľš-ňscţŃfITËí7!”›A(IĘ‹ŞĐP»‚ž€ˇűí­bL”ÄžX, 1\rŚ OÁn·Ăb˛6»Úxg>ǰöVQ0Ü{ľ'Ľˇys€ű\mü’k©.s˛_1ňîĺxí7%)Í€‚`C)!Ů÷šýŚ€R†0Lv$Éä¶#$»ô˙ĺńç›XähnÖ†ĺ$Ň‘‹ńް™$—í:+6ąT>ňŹÇ0`zL’ˇ¤¶ŽW¨BFű•Ú(›ÖIŮć\Ť˙“9€1,÷÷„áł;×X+7çţwö/! †@8„đ`Xŕ0,0<#€ĺxNCxŽ!˛B‘ŚÇpôŹIÉçś,+Oéńî{™+ B;Ş+Íuv'$.ގH7´1Ş«9-Ż/e6ŐÔ®Ńćř‘oü®6ľIŻ3ąăÖí89|)1Ň”©éĄú Ë9kpťř‘ yҲ¬ě×â߼ďEÄ®€˙Đ­ë[ZF}'ü€†ňf©ń7;aá-JŻtń;Cv46 ł,;ĘłĘ 0ëŠ g(z{ŕóz±ŞxÖ•mÂív×uóź+ń˙€ĆďG^ךAEe)ă'ÓÖiѡÂÔ€ŢS˝xrcŰ‚ňOôźďź{%K«TÎ#šLYçÚĘm8Řţ^¸ç$ă1úĺ7¤óiϰ>Mź*IX(ţq˙ßß÷ź¨tÖb,9€´”ŔdφŔéPeY†žłgńőő˙cÁýgşă—0,ŽşŃ+(°! $YlŞľN{UţOfÎr‚ţ‡T‘vV.ý”RżîĎôLjďľň+b”fĺŠ%, 0Lö5Ă,óŃ’ehv=ˇ`s۰ â­E.®ŰHĆŽ<É zăŃhBT%{Řů'ĐY-€ťµöú˛¦ĺÍ8ě†?2DVżG>köÉÍK7Ó%kďâó•?׆_764mł›Đ3ň?dM%Ł [Ѱ k˙׉Ĺu1väI ză4šA(9ňŔŢČg ĚźŢíşG»_ĄK+šaysćţ­jŘ,-Y÷ńţďŇÇŕ_e`VL'PQX «ˇ^ßzÝH‡BX!pkĆaŻk˙ĎŐ˙|o›B[8ÔŮëQďX‚Îţ×. ÷tVk[‰°?»{·—îXţˇÇJ.ŐůŚ/€M-.¸ďçç䶬tŢzĺ4%…— ×’>Ox>ř§ň…^¶°qÍft_xńŔG€ş’•đŚx`ó†°ˇô®é˙Ůż”ˇ¸Ŕg*1ÁdÖAĂjáó{QIˇ†Wĺ˙3> ”tű­Ąu_¸ĺţÖjŤ…>ţ:2pńhđń`@a9űš2ěř@ćň%†€P€Paô–Öޢë·Ń&ă!S4!á¬'úÍç1۰7ňµY€űę–kkěvt ż‰d&Š›ŢavŘuuËoŰý—ăGŽůÄ?ÁVŰŠËĐçď‚,S¬íbÍNľžąíOAk,ÄĐńß`ôúđÖŢcý64‘ËóŹ?ŔŢČŞą:ľ,)Xf_‚×ÎŁJ*¦-»÷­±źĚÎư¦rd¤a˛˘ĐŤăt˘ !c…(`C †!`™ äëß˙sň˙ “AŘ¡¦ŇęĘZ„â~¬‰T|ĆşÍÚś=튰`ü¶A BXżáV؊ʉd"Hf¦±>˙)ÜĽĺv´€1˙Ž{ ·ęXµ–ůŕźĘ˙‡µ" ­…ĄB%ůbžs˘D“A* Ö˙ł9~H“ ‘âČH1ôŚ„¨ÂŐů˙´“Ŕ?{´ř{z‹íž–/·éµĆB„.|†(¤żűÝkţ áΧ™˘Ćű ńEĐ,–Tš Ç<řüWÍßžE;—;Wj -…`(GŃ 4wň[K‰mů–ţŤźŔŹţîw‘‡üăVj1Y‰…°˘›1ÚĺRfË˙†q~öúňă2~łňůŻš˙4‡ŞúÉ8ŠLe°ťÂ×Ň­_ŢC¦ňź§ mŃ@Qô  ăŹ/!yŞźňńř‚ß„u1í|÷˙śüßž°íśáý^üé•ßáÂ…Q,)kĆŞšM°™íSNhkX=N‡L4‚ đ ĆwŚŃuć‚áN{ŢÁ Ď«8íyoÚ yE¦'Ł85üN˝`8€Ţón<˛ć¨E(ťWţɬ[›F…­áX {ńA®(2 Č•x2“Á‚QH Ú˙łIÓÄ:­)Ťd& A# Ł×"Hä«ň˙)ďxţď Óč-Źßń·{ ‚Î (ÁŢWéąÎC$ţx^!ą™ růëě’\ö~˛mX9ŽDF!ZÇv*yŽJŁž‚ŃôÍ;Ö ŁßĎźŠ×éb»}olhd0ĺ8Ç9OG[*âú[¶=Ľ—çôľŠžÎCČGţ ů˙]UĺvčŢí3, [y×ßěĂ<óCëŘÉs9~ڦëv¬jľź™ńAlN»ŁÂVé¨ĚŔęŽ`űĂűČtţ3¨Ď PÄĂŰ}6+SÜŃ Dbç˝˙ŻÔ˙… "ĂcEB‡pЇ·‡N!Ł(¨*q ĽČžşd$wŁ^v>ľŘ\†T<’Q?ˇ[P~ťĚ@HŠĐĄ`/v‚aâ©đ”÷L,«EŤµĂ}¨ńáfˇnŢů/÷˙Ó†ŘĘĚ& ył·ÁĐń$Í‚SJˇátĐ F¤>,%šë˙éŽ_B¬ź…ŐjA4ĺ(Çp ”RIîŠýgR%zîÓ—x­ń'®ŻüTg((Śž9 %@÷Że÷|Ι/VD”ěA Âär´ą1›k!KƧ¬InIÁ°tü2›l>ŚĄ›ţĽ]!{Ž@”(âi#‘Uč—Úťńrąç1}‰Ól˙ĘOůĹÄďjă˙˘¸Đ¶÷fR¬+ü`LsçßýyÄŞĐyh_ôżĎ b{n5Őí®=Ăöżů?3ň§!!BҰA—Wţsµţ˙!ăĹQ ÁRYŽš tzĽˇ č9J)šęnĆŔŕnö˛XĎŰň‚˙CÖ‡n»Ś:»ţäFĂ3?őtEŮ&xƆ! ă«Úĺ Ţ˙'Č(˘eÔ×,ÁąÁH¤c¸8ÓzYŔł¬(2•!ŇÓ‹Ď Őyĺ?ăţźd$ Ň0ŘŇBđ śôĐňzčY #°Ž·ąB˙!“LZlăÝK[~Zg-s"ńâôŃ_aéşm Rl"ńLJ*Ś –ĺx0„ax–—]2Ů%ařl"w’ËË 2ćĆ{?߉ٱ¤„4Ű|&úú4“.‹–ßŐĆf™dúĂú ĽvëÎ"ů_{đ™čÓSő˙ăŹëľ»"i|bŰ®§ˇúŹĘŻňç7?ą ~Ëk}úŐë-6ś:ň\r°ë˙é6Ţó?QTQ’›F÷čĹáŐĺC­Ë×]úŮeßÍ^ݦh%zŹ˝Ś®ĂĎÂdФĚzŤ6™‘áĹŁŠ˘|j×3ń““tţ%ü'Źě—†»s‹Íł[ţę_ˇ·ŘpâČ~xş#řaÖkă§Š˘|q×3ńßĚÔ˙]Gd†ş ‹Ő»˙«ü*˙Lüdü2–׼˝ň¶‡Ěˇ‘ž¸çěŠBĺ#5Ť[ţl흏AźËÎśĚ2»ŠN‰Kż{Yc§_şo˙çîyçMPşZ§Ŕ0¬.–L)Řu»ö†úo ţϲĽć+o{„Fzŕ9űU¨ nפr Én$hŔk´óŰA ŽňĎlíŕĺčÖ˙*żĘ˙‰ŕçfSaXpĽf^Ŕň0mFC*żĘŻň«ü*˙• Ëpŕ…ůU0Ž×€eY\ÁŹ–ÝHüµ˙U~•_ĺż^üł†eÁ ó­`XöÚ(°ĘŻň«ü*żĘĄŔ0 0„Ŕ°,®Ĺ¨ü*żĘŻň«üW<ŕŔÍó†´×,§ň«ü*żĘŻň_±°ŕçYÁN˰×l¦ň«ü*żĘŻňĎUČÂä°AËń“>7{N¶¸ůĂ –e?ő î•_忡ůąŮ´€aŘyÂ0Ľ,wO L†ĘŻň«ü*żĘ?{ţé@řńXľćĘNb°,7Ż ,—}Bö:¦biIqłąŻZĺWůU~•_埆**€É…ŔŇĐÍżŃÜ E9xٟʌ̰T~•_ĺWůUţř§ý<%L(-ŇË'ü¨ÁŐ Í®7X]1‚ŢóČ(¬€u« @Ě)T~•_ĺWůUţ+ăźLŘ\á2ß3šyˇřŹĎ>ĽęS÷zsuŽ‚NTËéĚŕ“nsiť~źÇ^űŹô§ ĎA§đ9ľ)Ű®ň«ü*żĘŻňĎĚĎMQÍ ”ľśx1=tߣaQ2_—”„á7Î$ţđ«7Ňoćŕĺq&Ň ă•_ĺWůU~•ţ©®Ň0ĺŠ!÷žÁÍ‚_•isŔi ±\ţ*8CNĺWůU~•_埪9€DNhN=’ąóÜ͆t®!Ě<­˘ň«ü*żĘŻňĎŔ?Ó]LNE´ąmĄyn€ż„i®˙_ĺWůU~•_ĺź‚˙˙âřľ}âAÝâIEND®B`‚aptdaemon-1.1.1/data/icons/48x48/animations/aptdaemon-action-waiting.png0000644000175000017500000001342512117271433026624 0ustar renaterenate00000000000000‰PNG  IHDRŕ0Éť©tEXtSoftwareAdobe ImageReadyqÉe<·IDATxÚěť Wy€˙×ýş{îŮť=´şe¬ĂH–1ńĆČ*ŔăPebĘE°±qâě@L…ŞT™8† T8ŠÄvD61v Eŕ#6>B"_ Ű’,Y«]ÍÎěÜÓWţ×Ý3;3;ł;;»Űł#ýżę©wŢüÓó˝×˙űß˙Žéf¶m ‰żÂ¨&!!!!!ˇ„„„„„„:`ę€IHHHHH¨&!!!!!!ˇ„„„„„„:`ę€IHHHHH¨&!!!!!!ˇ„„„„„¤7:ŕnŽ*x¸š+OFIľ– OĹđčĽvňÄůÝ÷ضx)á˙’xÓötsŹĎŮ&ű̵_O?»&~â'~â'~â_ ümwŔ> ÉüăLâ·­^˙ćľu[Ţę}·űż“@IVqŽŻçoŕ*9"*Ż‚Ěń(ň8*N‰MˆB. żúömF!uü iZ_&s»ŻŢm—°â‰źř‰źř‰źř— ˙¬0‚Ë\ Ým[Ćő+7˝Í:ű‚÷…¤â řő/w®—Dh¶í† 2ÂČ28!‚řŰ9JSGY˛Ý|Ś+dOGä‰÷őáíćŕ¶±“ŹV::–ËdňşĹlöŐďśüĚcžśř‰źř‰źř‰)ňóŮ ŔŐŕ7ű–˝á—\óů@ ’€cĎ}ß>qřEČe&X­ž˛Ň2ÝżmŘČ7ťÁĽHĚă#(¨Łż”íł.±"gżŰ>/ňh4“7ŕŔņ́żuslř:€[:˝ÄOüÄOüÄOüK‘_š ţˇżúb(>|Őökď řÔëżÁď·Ř«żű5[đĹh° ýü˝ŇŔąCM•aĂĘXXĺŇu~<ţ™NÎIüÄOüÄOüÄżTů[vŔŢ’¸M FoÝqĂ?‡ąÂđŔ†ÂčoěĎ?ŠQ‚µ( äĽ4 cżů!S7Ô«ÜbÖŠhŤżyđćŘŤs9ń?ń?ń˙Rćoşü­ŹĹ>¤"߸ü/î †ű—;yŁű«„ß˝đ8{ŔlwîĽz"f9 ŇĆLňćČ˝.Ţ=âžU¶Ś1ďh$Ű•mfî|<ć/űĂż†±˝?óřă 6äJ&>1™·-űC×íśüálAüÄOüÄOüÄżÔů§uŔÜ}7WżóĆ{}#ëˇ09żýŐ.ŘtÁ»ŮZâ齹¤áÜŮ5fsÁ8ć)ŔdĹÉwŽ’{ůÎDú´ˇĽ{ŢÉ“ż‡˙}čzčŹhNѲNśĘäŔ„?şöë“OΰčNüÄOüÄOüÄżäůë:`„żXV´GßńᯄBńaŘ÷ř…Ł{ n»ęoa`Ĺ€OÎw¸Q…st^şŰMňęßkř¬sÄHd` ĽĽç'°÷±ű!ÖŠ±(”M8•Ęe,ËzŰő_ĎľÔ¤ň‰źř‰źř‰źř{‚żÚ#ü9˙ě–K?Kť8”;~ŕ)˲ÍÇמ»ă}đžŰŔLÄ“›s†tłě&P˙نÂ0eŮEđě÷ţŽúź§1ďMAMI’ŮBqÂů‚ë˙eâŐšĘ'~â'~â'~âď~§FřU\ ě±mk1)mYĆ?čşţÝHlđů÷Üú`ÔΫ4٢·oą”"#Ŕăëá'÷^W(ĺ3ďÇ Üą·âCřö «çßpfŚř‰źř‰źř‰ż×řťIlŚî±Lă†^\~í=_Ô´ŕÝoý“;ÂPN;‹×`éřůrMÂ×N^C~“ú^÷N8ďŇ?|éńoß˙Ń»“WcöçĽnä.=’_EüÄOüÄOüÄß‹üÓvAß÷gńD8ůŠ[ŠKJ–Ś`Tńč·>QH˙ÝM×Ý›}¨•ń?ń?ń/đO»ĄĚŤmĄÜDü_şŇ¬d1&a‡nů \Ů&î¦e¸˘Š4·ĽÄOüÄOüÄOü˝ŔßôF˙z x$-:~ÉŐwČGźľĎW~%Ô±5Ăž_Ü_´JŮţJ~8úŐ»ms¦Ď?ń?ń?ń/uţ¦c¸ţ›vŃ+«¤j hŽa‚‰uě_;ŁNaâ0’ŻVue- Áő°úü+¤ËnŢő®őö·:×Bók±ĺNšIJ“Ż;©˘Ëµ„†Îe/‘.˙Ô]Ü ~ŘKľđ+á4ÄŚ:z> zîTUWѢJ¬…ţŐ[Ů•·?µ±A}ÔKľđsd‘±>gł”Ł”©ęň@ ‚±e\Ă®úű}ËÔÓR~ńK\&m6M–Q®ę*8¨Á¨ˇ\ł3ŁŐšŁ07LEżř;˛95Ë"îKPáiW¨ţO/űďu˙łţź·Ŕ$¸˘u\€đĐŮpt2'aMÓ÷‡á¬F=óú”nu'0PĽSý÷‡ľńŁŠn$>tĎ•Wľfꀚ_‰ś0Ňôý~8# ĚB˛Ş›ŇW‚T˛ ŢĆ‘˙křw{ü‡ýâĆF YT!ÍA’©`—łUÝ,>0Ř,řo©áĚăő‹_‹$ [ćP€ćN(YDĐÁZĺŞnÉH@.+A^Y%!˙ĺ5üű<ţ”_üÂ!–M hŢ p(ŠçN´˘[dQ şüëkřÇ?=S°Đü•żOâĘÂĚćťáőßëößëţg1ý[°,q'˘í8‚0^ą®Ů~ň Žf=~W÷â7n…dN‡ ×axëŰků·ăźűüćç•°qĹ HO¦ëŢ‹Çâ°wďKĐ.‚ĺń ÝukĎF‡…Ěč 8ë-uü[đĎ×üäť‘­Ĺ ŤB±TŞ{/ i0zň$„$ۨęö `ÄŤA(…­őüCŢĆ7ţŽmN<\ć˙ŕ™3˝ţ{Ýţ{ß˙,ž˙o«–°!‰a|Ç Ŕ‹„S© 8věhÝ{CUńíčÎy jřĹŤşłŮ,ŚŤŹŐG?ý çž µü®nĆĆF!“Uu—_Q@’0Ş/!ť©oŔ±x\ÜťĹŃqřkuÓYç:čŢučż¸Ś†iA±Xď@ĂaGZÜŃqů]]Ý0ˇ  —ËVí¨küřY“©Î“ľ­Ć=Çťş·x7Şş6Ú”eÚ ëĺ®ówzÍdyaFŔgzý÷Ľý÷ş˙YD˙ß^ěi稝Šâś·Ôá ÓV­tçüýóäw+Ur*¶‘Iä‰${üSşâ˘pÔ—ç]ŽůócŁd˛;Ó0-ČđÜ" —ßŐß)F0Îww™ß± 4UYćN„YW6tň"q…-˘OWÜP]¶ů’ŕ—DgŠWÇć´kă$Ěg8›Ň7}—ť'­t›żăNůŮhż˝^˙˝n˙˝îÓ˙·9ĆÍg HTşY1ŢRG|G;şsŹ€ćÉŹFĎLćJ•íD )]qQdîFwó,Ç|ů…a0KvY¸Ú`śnc Řô¦€„.st•%Á/¦e[ń‚´~î9EŰ©W×aGTąÝ䗔ޭ4ĎÉXÓ;a;Š ţ«ę ‡áŘZ÷ů;ul řLŻ˙^·˙Ţ÷?‹ç˙Űž‚VćÁÉSť*wÖ…šëďhG·“)ůńcĄZ^$7Ź€„ŽËďę‚“‡ŃŹľćYŽyó C6Ü 4Ý(SKđ×čra<[üč$-oĐŔ_(xYĂď꺆/ĘŃ}~ ?k SlJC ňÜ|@÷oNé:Ź>“=Űę.gł^x¤ĄŃ~{˝ţ{Ýţ{Ţ˙,˘˙ź˝fóźC—„u—+'o©#ľŁÝ9 [5 0X‹)o EáŐ5 W׍–śő™ů”-Đ’-;çqřŚÓ]‘§ÖlŮ‹ö¸ű™ĄŔoT"euZt뮡ŃWř ·ÎĹT˘Iw—_LkrËiÉ kâz¸ł? ,fÖčŠg’z#.ówTfUuG Śu˝ýözý÷şý÷ľ˙Y<˙ĎŰ)ŤĚk Z­‰†xKw zvÝą^yó‹i…’;ŐŔ ¨şP;QšZ/đÖ1$|]s3Qżů5`†·ÓČ/˘|§ahŐ),fT¦‹ÜHÚ¶m âdłkü°A©®łÔŰŤ·¦˘ł4U]ÇY‰µ0ĽĺrYQUUđ[ÝŕŹ&“MoŞÓžn[δ!:P‰ŮSşŘD :°±±1­żż_泥ΊăAŰ÷,Ł™T˙gžý÷Ľ˙YD˙߲‡Ă¨źń[.oAĽóÎP|~jĘDn©ăΙϮŰVµ/(ż·™Ä™×—ż¨z‘+sţ]ozEÜmŚ#Źe†¸¦ßüb*PŞl ›Dp"_şXKŞŃuĘ"v$‹ÎłT*XĂ~îpT6f4›Â:ŕđóęĆÉ–„› 2’ń¤Žü%żůťÍ<ŕÖmăydoŞP–ĹíňxUWÔ˝HÂŽ8Ř …t۲‹čL‹~ówVfîŘíţIl˙,!SŹ9»ŤűRýź>ößëţg1ý?oʇčxâN†˝p s.ŁÚVş¦i˛™:çĹäźË…t¶\©gË4-! ¤@ Đţšgv~Ń03 S„ÝfˇPt]gą\N ‡Ă]ágsŕQ¨¤3™¦Ę©TşśÍfĄt:-Ĺăńîđłąé" =y2Žő] ˝ň*•Ź9"­Ył¦+üsŰ›„L˘ó\2ňMÎÔ Sýźľößëţgˇý«ł‰)ŁĐkă ŘLJeSŁZdyÍCŤçAČY;U&kŔ”sśMWL ŤŚŚĚô• Ëϰ:ŻßĐ"ś$¦®~GWDpČŽ>FV4ÝfLŃe™b:ĹF~uőęŐľń3ńT'2ëEZľ›ĎŹŹŽ.–Ă(ʉĎć0rÓШuŚţEđc>|XŰĽyłŻü¶AarĂ&·Iđ›!拓¤D Ç÷ébˇ%ÍçóP.ëÖ /Ľ¸ôŇKýăÇş”‚G,ăÓGŠŽíđ);B˙!ú ť<&ÓĆ2“™(Ö;O&“Ë欟ţô§›nşÉ7ţú.µ=o&abě”-ů8ľě«ń5b ¦ssT˙gý÷¸˙YL˙Ď›D˘Ë‰—ńr-ďüůý7n}ŰUj(ćE}µĎUśÖB§çŮÚŔT§Ú"‚°µŘÁĺxěźUŁ i†čgř‡Ä˘Řda vťuąď©Č_ÄcÂym:” x4%11!Ůž0Śäd?ů!€ő_@FIeuźłŃ)ŮrČ)Łm2÷ZTŚŇ =b–XâmŮ?‚śĂIĄRÉçúŹ˘ńJX·}8ś ÖLlJÁ|ÄŔKŤZˡ ŁĚŔŃCĎI}ŕEC6TË´L´,"i_뤥cÝBbú¦ľţ1B¶5,[@uţ-ăuŇeH§&ŕ·{)żś =‰őSxäe]ç©TĘ_űiěx›ęÔźóÔřqŘóÄ”žúmţÇÂzť®ľU<>Ş˙3Ĺţ{Ţ˙,ž˙ç-Z’H"Ô˛îţIţ»©ĚKącG•&ĂP'Äš7]ÁaÓ ÁʰĽ™ěyä;…#/ü§ŃŽ.ßÍYć˝”dăŰeXűÇÚä©ä ő»UÎBúÔëđěĎ+ť8đ„YŃÍ č–MËr0+ɲ-I˛í-ÄC0ô•?±j«Ë/A«sî0SW—šGě'_>\Nľö’UѵËës9@ă&F®XŞŞXhFXÉ‹ŰďřČX#AßĺÁÁAçÎDµ˘( ěßżŽËcföÔ«˘›^‘-ô˝SF^ÖŐ”ťk 9× ‹ůĘŻăč7‡¤P($ĽHĂě ăăăb9«\HŰ]5;y0xâ•ܲ—´ jpÎťú—eÉ6üäďDŠ{jţÇ»ž*=íuľ•M@"T˙gŽý÷ş˙YL˙ϧ¶…Š•§}(©"°»^ú>@éahsQŁ|ç;W^‚%˙rĹ`šN+'®Ľăúť=ŮŽn"‘(·¬ýEŕßąó˝çŻŇ–}RĆJŐę HFĘł~x5ôŢŻÝĽóGĎWu#+@“ b Ć©x4Ď€544ä+˙ťwîXż1¸á0Ľ¤rĂ U…×­×ŕ¤qö÷îÜů߇*şlp3¨ąםsŮÄk!śČ\ąrĄŻü7ŢxŐČ–-ŰÔőMĐ‹YŠ…µĎÜwß 'Şşýëi9G~lĽmĺ@@Óq$SŢĽysÉOţmŰ6E¶n=wŐňĺË12®÷Ýb™eϡ=Ř śzí™g^ÍÖęćĺĽďg¶¦iet:Ĺx‹ŽţIÍQ×/ˇďlwŻěÜś‹.É™Q˙˝n˙˝îÍ˙˙żďć3g\éčIEND®B`‚aptdaemon-1.1.1/data/icons/48x48/status/0000755000175000017500000000000012202062656020407 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/48x48/status/aptdaemon-download.png0000644000175000017500000000473412117271433024702 0ustar renaterenate00000000000000‰PNG  IHDR00Wů‡sBIT|d pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î< YIDAThíY{pUĹ˙}»{ÎąĎ$’đ±ÁńAUP)RQimiµPGĺ%µFĄv°u¦řťŠµSëL‹3Ša,::´b5ĆbPA"!!!ąÉÍÍ}śsöëçÜpoČ HEgüfľě9{v7żß~Ź}\bf|—Eśi§+ß8Óň=3-ß8Óňť' N¦qyYÔ0Kű'-Ŕ ‚‚Dä˝{ßĚ`‚Řo€Č+·łKĚ^޲őd P_Vâň˛h±ęnjŃąç]Z4â‰ţ˙öţ !MR 2 ¤ (B*@ aB*¤L2@ĘÁŐŚd˘ ď­]ä$cµű\W/6%ÖĎZĎ™Ó&P^•Ę -aíĚ;gĚUzÔ¸é!‘ŞCŐë`ŰiĚŢtK"H á= HqĽ”‚˝zbHżŤ !{Đ5nÉČ t´ňQÓÇŰmMLOݶ¬őQô2Ă=ş2Ď 9sŇÍŹ‘8Ľý_\W˝‰x3ĺ¶“Đ‚ ]ď™Af©sI € &őoH.ť¤#٦ńŘHE4Ţîŕ‹Úřý«Ę Íîé c·AĽćwźšqÍě'CČÄŽ|AšľÚSEÝő9U!h´ěX*Š/ş ŽQ Ë”}NAŘTbÎę» 8i«ď°Č FN™˙ϰ˛B€f$ë?ă};* ]Ýßř*]ʆĎ^&ó‚ŰěąXéĐhDţ´ş¬`AwýNUwÜb"ĎţäÎç‚áłÎÔď} :Ů„=źĽ€ö|żcŇ "Hř>%AR6ĺ_2„älšň≀Á?ú#vo„[[ Űa$Ň.ŞëZŰYó-s–µľÜ#ň˛č4e_šş`i°hČyH¶6ŕó÷Öa̸i §-ń‰3!,€„T`e@ $ €”W Ż$axĐy xă¶=€ŹÖĚĂY B[ŇAݱx.~:{yë»](/‹^! «bňm … áÓĘňdÍî7f<âˇ#A©ŁÝY±Ă*€?ţ3wQ—˙­S_fQ|!nŰ„Ýo­@4lĄ BV ™qq,–k­Żš·ĽmWň˛čůҰ¶^xőÜ‚XÝţDíďkÍnĺđ‹¦LżěúEp[öěž4HŻŠ»‰üľťČ Ŕ|9¶ľř0ď˙p ´L!mÉT3CŽ›÷LóW@+ďŚ SF`ł.!-Z;±m{C¤ dÇő WG9Qťníf¶şŮEdTáyŘ´tN2ÝżěNÄB‡Ôé4.™ż"Ţ ¤a=Í´ëÜëŘ©łg?Ýü„e—LüőCadZ “M€¶Án&Gm°¶˝2·ľ‹:ô±]ţ¸¸-ŐĐÉc|ócA!eą“ .Ni5 ,S”,ZʵÓwhž»,n@ů]Ń™ĄcŻ»¶hČha7n\§źíĘúÇ výÇŹŠ±WßZ˛«ríŠŰ—4Íđčę9Cž´#íĂ:b +Ďý¦p@¸°đŕĎ®)FßŃ6*VÝ›lŞÝóŰ9KŰÖä~ĘŰJHĺLH'š 7ţőn¶ŠH€ą˙ŻŠÁa—śÖ fO53Ŕš5X»%ZpÍѤki”a.Gŕ„…lĺ| řŹaE'ÍzHÖly®ß ĽuîHŚĽ`ZR pÜ4l7 [gŽ?»dś$¬LIËÎ÷˙{ĺ¬xş:ś€=k=»ąăś°™›÷<§|"^Ó‚a:7;mDhM5˘±­¶›BĆM!ăxĄí¦q’H9 Ś Mâ&Ié,®ÎŇ놄„2¬~'áM·úv˝?Ô}pÝ^ Hˇ`ýob4#'Cĺ}Š˝^ )ˇĚţ·ˇÁ~šeć2Ě ÇMűď=Kď„ř˙¸ÁĎ<đ\đ FÚMöi>X@Ať¦ Ĺěµ·äŐq´šĚ®—2ł©í™¸Ú<)íÉď3ÎĎö•$ľódę‹>0NÓuÉfT‹ OEÚMAłR+Іöhrb°pĐ–n€M H 8 hňÄiĎ3S¸¶ľÚŢS˝űQ‹{'@ý—– ǡÚÝČd’HÉV/÷·gŕp.Ŕ.Z3ugŽBC™ŢY™ńAíh—IQcK¦éGöľüöâôâěŘ˝X€ „tű–gˇ‰ňϢ]ąP@čëFL"Ö«/¶"gçjN] Ëî}5ţQµc.š€=±JHEŠ Ař+43Pb–˘íkßúú§Ţ·Ů©÷±Ů] " ď"Aec}f}Éë+\|Ő 3TđtŚěĂ9a×ćĘ[Q掊`íţJŚ}%w@©„ô.żÂ˛áŘp{Ó«ŻnŘý˘ý1ĂW™;vg d×u @/ŮÔľ!ß•8\s`†%1°Ű©=E)´\•Ś >ŠŽ9_BH‚4 °ĚxýÂ+ßŰľĘ^ŔÍb'l§‰( ęk@^¬ämcűKĆÝaĚľaćôůmEźÜÓ40ĆšŠŤ/ü{çkŹ7ý’Ú´hĐĚ9›¤./w‰(ě°|v?c︊˙ń¬ÇořŐŤÓ‹÷Uiä ĽýÚG_ű{őÜřÄd$sŔçîövÚŹö€Ż„N¦;E‘đüXŔs_ĺ×Éë,\9óĆ›®ÜúáG7ŻŘuëá*…gő$Ľ Můď;k…>ý>ĐBDŮ TťJ€ DäňˇUu{ÓOíÝč~čÍŞí«“SfŮý& dg?—H®f3 p<‘8]¨ ÍĚ6đ Z +ľkf]Hâ8üŁY.7«Ěůgâoś@OBäÝwÔű|›śŠ|çfý¦†ĺ]^±–śIEND®B`‚aptdaemon-1.1.1/data/icons/48x48/status/aptdaemon-add.png0000644000175000017500000000467412117271433023626 0ustar renaterenate00000000000000‰PNG  IHDR00Wů‡sBIT|d pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î< 9IDAThí™{ŚUŐĆkźsîkćÎ OEm|UCŠT¬X«h-M Jcp”jG±“š4V›¨ŃĦ¦M«S1¦>‰!5 ř¬XÄ* R©ĂcxĚűÎ}ž˝úÇ9÷rçĹp‘„š°’s÷>ű¬sö÷­µöÚŹ+ŞĘ·ỶđMĺ$-' śh9IŕDË·ž€[‰rScŇć¸^ěľB!kP0"UD$¸Ś€hđLPŁ‚1€†:€HPnR_˙LÇ•Ł™‰›“őĆqďăŢ{Ú¤‹ęĆź{IŘwđ+‚q"ë"âaś¸Śă‚ńÁq=ÄŤ`ÄC\Á·J:ŐÍ»«î-¤Ű÷l÷}űXĽ5őÂś4÷Ť 45&7’xRmˇáÔł§Ű3§ĚJĚ>>|ăyňů,‚˘ŰÁqŔ n 8ćpé ÚEqBÇ(Ć@~Ôĺţ‰Ód˙ú‡Ě×R]]=y+*ś·¸óa†°đCČŤÄ—ÖŤžxýĄ7>‹Ug÷¦—tß®OHuµIąžcŔÁúA]Ťŕ©o) Ģ *DZŢptÂĄ¶úĚ™zAőÚdWO/ötÝ·Ľ±fÔXt$Ś╿ůx˘vÔěËç?‘U§}ďŚXůjۇ2Ř;Ç*‚Ąăă§Mýy?§ŕŐŤ8L>µ¦*âš+î¬} b+ ż7OŢuĹ-©rŁ °Jşe‹n˙x-Ö·Ç?n¶…[VKäś[ BlÂ)Éj#üfEcÍÂÁŢë7–ßQ3׋U?{ő/ź‹W  @Ëçë°éV¶ýűm@AŘ/}D,"‚AĆ8@©)¦ KĹ8ZLSÁxýý_s`óËř{Ö“/(©¬Ď®}ť=juî‚Ĺť«ŹH ©19ÓŤÄ_ąráÓńş1“Hw`ë»Ďsö”™Hˇ»qK(‹q\Ôő0â"ĆCÄ J”b<–¬ÝÇ–ćtżď$<Ă}?Rţµ˛aŐQˇ;]`ߡ®>×̦óť 45&§:^tíŚyH$jGńŮú¦ôכߌO›ý ő§LD2űóbÉ+#¬ëmĹňžW‡3ëĘKHÄ#AKŕ™ż˝ôO–4TłóŁ×ŘĽn ÉŞh¦&ŤĄs>‡ÚS]ÖÚé ĎtZěŮ ÁÇń˘Żź{Ů͉^Níůâ=kŐ_ĆyWĚ=q ~Çöc4őiÓĂşuÉ»[ł%3ŚÇqŰş…Éϡµy3»wlŘÔŮťůn<ˇ*«îNgÖ-»cŘ”†ż¶}`š“ă\/öŞÉ-o-ooŢöÖ#ŮlúÂh¬fĆE×ÜíŢ…2¨źGm>(ý\éb€¶ôJm6h/‘î+l¶“|ëgL˝î~˘‰š s]:›ýs*ťIÖ …w—Ţš `/ú”Ö/Ü]ČgĆÎŞíńh4ţä%7ü®Š\6Ý‚,3™ŠöIZt Šú9üŽ]Řô!fÜřhÜ8NS!,cÝq¨y•¤Dĺy×ĎgoÚn^Ü•hş#yý„ ®úaÝÉ&př…˛PéďemýBe¨0+ó@é+E}?XEä[6R5ţJ.¸ě¦ź®_µäÖ'[çŻX0ć‰|uĎ8č“…žűEíđŞÚÚť?ąke­ńâ»ř8ɢe»ąiÖĹ4—Ť±Ăb,yeKoŰ[ŮćY»üîtëžm·/xş{eůŁ^K Ç-L˦Új_ţýOýb“AőřO^íÎXťZş/:&—IńâcW•5âUŤą^d!08†Ĺ©×–Ý"ńĐ'1Mś~ĂoťŻß®"pľ¶f&ˇjÂ)*¸,*X ×]]žPŔ˘„ÎQ?#>âLţóéúüZť[š…ýlÄ˙Óí«n/·nĂS űúhXŞ€e·“•‰âEc(řQţŃ=—Ëż7 !XŔ!‚¨ &řîL<×)/źÓÎĄ'w)„ęËě]+ŢłŞŠŞ ([wîőżlnť ¬@_ăŕzŃŠ8&Ęčş(çź5ŽöTľ×3 —ŕ(ěĘőZ’´vçY_‡%`f¦†ä"®ˇ'ťM}ŮÜZzgHŽqń"•yŔőŁ‚Pđ-ÝéBĽś˝“XŘ–ÉŰ^ ĘWđ­˘! î{ő5ă8¸‘ =P‘Îćiiϲż#SZű[_kkĂş‚µJÁ'hłJÁ†: ¨”8%˘†mé^ehĆTB†Á†&öý`.°Z>`zG*l™xÄ!ę"¤Š“[ń=×~ŕQxŔĹ­0„˘č̱}g3ÖAV…0,&O<…¶îB)¤ę“.{÷$—ĎcU°~‚:«˘VUKˡ®^{Ł !ŻBÔ:†yg|„d6RLB„G"€(«ľ<‡3Nsx<Xúó˙eţä­¸ŐŁůäťókü…óUQŁ"Şľ¨ćŤ~ttäŘĆ€ \vzëu^m¶Gg¬{ĺă;pkGyoŁ˙Čâ7˙>T_Gd`ŚSqŤlx0˝*®Ĺqh"rŞęôť Hdęj] bÇ©čüëč ŘŇÖ4_L‘Ćq1h}#€¬¤”öY×ôC&" y°‹Z`Đe{ĄR«Ą’pPËáĚöUđ-ŽőQ-č"€#"ťĺ$2mH4ÄS1íÝí-őŃę±Řlç1R˘â«EEĂ4*˝Ň*ę#řN­{ż"•7{ú"x‚ě›R'TtsŕíhÉ˝0âő% Ďź>;’¨9=P*ßô•˛LDеßÚđŢb}PN­÷ÂÉ ˇe źĽż:űΖž5@’`EšbŢ8Śą|bÔ5@m]Śúy?^{ţřÄě¨ĂČ Ś_Ę*öpŘČá{x;r[ě€3ÉP‘`ѨźçÚÔý;>ř˘gÍꍹň>]@Gxµ‡Tµk@!‰DČ: T ‚°łŔR:….+űÖËĎhĘ·j d¬ŢYF „ĄßPŐ‘đCy vď«[!‘ˇŔ÷‚đlH˘ hÓ>ôt: §Xx 5ާ uĆęÉiU°˙Łúŕ˙Yľő1ť$p˘ĺ$-˙šŕĽÓk`IEND®B`‚aptdaemon-1.1.1/data/icons/48x48/status/aptdaemon-cleanup.png0000644000175000017500000000546112117271433024520 0ustar renaterenate00000000000000‰PNG  IHDR00Wů‡sBIT|d pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î< ®IDAThíšyŚŐťÇ?ż÷ŞŞ«»§§Ç3öŚÇcOđ`Ŕë1$Ä 2g¸Â.Ć"—ÁĆÄ›d8‚d‰HŮU–Ť#%Z¤¬V Ž1JpŚXâ( ¬´lVŕg1ŕp™#†řŠ왞»ŻéŁşęíÝc÷\öŚŤb!ń“~óŢüęý^ýľżăŐ{U-Ć>ˤδ§Kź8Óô9€3Mź8Óô™`MgpgGĚnłl÷»ĄRAa@‰ ŚADĘ˙J@Lůš`Ś€(#(Ę@¤Üľk|ůţŠ'’;¦ @¦ň$îě5(mÝ'ĘZ3oÁ…ugµ_ZąwůŻĄIJ±QÚËAi ”Ť(mŮĺ ÄF,Á ąl†íĎ®)冎îńýŕÇáěćŰ6›âičěiˉ¬3AiUËy—g/YQůnŢÜňžW@0Sv·AkPŞÜW ´:ŢjeĘr1čĘ­ J×x•?łm©ôl[«÷fÓéa/#˙~׆Ô9‰‡OB–ţE]SŰ-—ßń#×­©çČ»ż1Ýß'›”ęqZA „Ŕ/÷ŤôH"ŤmD(A śÄmć_Ôś}˝ą fk,=\b÷Ńôwźî¨m\ ÷źČĆI‹ř™ďĚz$oĽůŞ˙qkęęÚ…’@|ü¦L¦sŞ$$w®W ‹o§d7r4ç´ÔFK­Üt_üűÓ°éţú5N8öŔ5÷<µB ąÄ.łgçV?ř´íŔ*$čÝő‚8‹ľa0ĺ›?'VŁ„ďmę¨]=™Ţ¸xúŢÚ;m·ćç÷í'ĂŃÍ$ţü An€Źßű?Ŕ€)çţ±I$@DP˘*9p¬´Ś,9Ri J›‘eŞ\OM—:ü<¨‰çµËr@ŽŰ3ťô@#JcŮ{j*´ŕÜŘŤE.˝šşĽÔĹë˙‘ ¦)Ă…·Ď§Łíʲ§4˙Ihea;§Żć}fµÎĄaÎ9¸á4źĽ7ŔÖµo18Ę îřÝţ(B[Ł·&–Bk ś|ă{RJk,çÔ"`‚9ä’L7/®yŹĐ>›ĺ­ QM.ϧvĐş¬•đü>Ľ^Ě<¦§m­?Ą(ĄN9…,Účű ‡-ŹľĹů}-óć±ýčźj­á¦_ÝĹŚY{É{.‰CIRů NéĽc”ÖSđ˙”"`aťb $ŹĚ4 :†]‘n|äVć/ťŤ rŔBű©­í¶3°ď="Ą/a9î§WJkěÓ(âökÎĺÍľ<ëá?XFÔ>L©X˘p]MP‚ ŘOऱýFzwżA\.A«©=đN @NŻFčŇ3Xřź§$IJ%ë6‘ěď&ěj,ŰAraR‰_ŇĽř^úönĂ‘¶ ĎÓ€ ”>­!ŰŹ“Ď NC1 U€ |†3EB®ˇčͦďŔĎuîý }ň6Ńş’‘0P4fôl„&<‹óř6âP.b­­Óć°=ŹüpLfŻ”#—î">á·«‹hí,†‡ňXö0n¬ŤîݨmnaÉ­+ť­ťá_^µ”y"Ś'őĄË&ß°LŹ«b®H±(dŇäsYŠ…$ułę9Ś[@>5HšxÓ…ôěý5Vh€öËZţ“ďµ˝˛ţa–µcAL0ů¤ŰĘ %°jšQvô´Řq) A»óI'Sh[číęĆvmĽR Ű."jůÔ EýÜżeŕŔv ŮO$R·8–Ë©Ř6j›<ŞDDS~‘`ÁŢ›(nžůŇĆŐç_vł©m-Ş>ţŤĄ ^˘!_,RđJ‹ł0žĹ7Ăd˛aÂąősżL×î—i8ë űzQöűÔ6¶Ńü7«ůčŤukř§-;ŘÄ<=fsőn´ž8P Äë\îş"´ěüł"7‡4ł&Ö ÉóˇX2âůŻ„`ňŐ;Űõu"ůĚBîřĹ}Ä›/"Ý7D )±łé?ô>‘ ýŹß}íĐ˝k ŹéŁčŻp0hŚÉŤ‹€1&‘BĄ=”GÖ˝Tř ž§˛/źŮ@h,?»ř­űŻ^~Ď’t߇ť!d“¬ä^jf^B÷ţ75´™ěľÔĆÍ[˙č&^r#ţ­´ pEÄ7Ć'|ą+"Q J9ßB%ošś*ý0ŕnCµżÝĐúČüE×5f^Ą®ůZ{ţ—şÖëýĂmIo˙ăžť?xŚ˙É)VŚĎi`HĂyzRjä¦ôĄiĐ/:·šWÝÄz𺵾—±rů\ާk_ß˝śyąó>đ|<ĘÎ (gBH™Šá9`Ř“†)~8U©1ŤŕÜt%­;÷‘=t„•ʵ€˛ł< XáB…G<_8vŹżĆO *@ŽGÁ®đČŞW˝śU JU†çŤ1ăŇřŻ`ÜMËéYÍRaĂq“xF|šô™˙Jů™đ˙HĎ'†Š5yIEND®B`‚aptdaemon-1.1.1/data/icons/48x48/status/aptdaemon-working.png0000644000175000017500000000625512117271433024553 0ustar renaterenate00000000000000‰PNG  IHDR00Wů‡sBIT|d pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î< *IDAThí™}p•ŐťÇ?çŻ<ú÷˝ KŻűŽQŠĎÔ6ˇ0hęrÉĆýâ˛lüQÉ*ł üŘ‚e˙Ô}đÉ3ŐŃ};đ\ďO­?zú ÝßfÝ÷*C±šńáüýĆ…Ë/ôܰذ˛đ;†?ôĘ=Ź®-Ž©ŕĚ‘÷đ’g9üÇ@Ęp?7đB ™ĺ8@®hb ĺl­šHS™xPń?ĄűŔŻqŰwb;ŠxÚĺDg$ˇ<őť%k"ď\Ŕúá»ułŕ7w.ˇ xÜT’‘n}đWĎşáÄň5n éˇ#5ĄHˇ#¤Đ z¦–™ZH„dÓ;; ‚±XڇľůU"]ÇŘűúRĆ„|(±¤Cgo4ŽË_>üRd×ÖŻĎŃ ßŽŻ|÷ą@ ¨śOw®Ož<đßó?Aéř)T×…Ľó dŤ‘˝V#´ Ôçb.-©iLś\‹a´n˘.tŚ_"KŻĄőă­xďUÂA_Ş0ŕó'-—ŢľxÔóĽůK_Š5 °~ExşfřŻ˝ý‘¾Ζx{󇞧ܝ“®[°hćÂU¸ýGAą—­$€ç)„PCţŁť^Ĺíag{»ńőĽÇÄ1ˇű1*fÓřV=§[v˙Aˇß0Rj±dęśB›µôĹsmâµGCUşá˙X)o¬˛ßóś_Ú¶ýf¨pěľ…Źm «řIĽtd¸Ąó”T#´ˇÇ»=öžĚ™ěP]*=»ëĆŐsţ MÓĐu˲hß÷6×WfÖ/‡,¬e󦍎7vNڶ7WĐ˙Ń7*tzif,{5Ú­k†oµ<×ů‰RŢ+ʬ‰¦ţăÇe[oyŕXýxÉł-ť‹uQ/´vA‡Şĺ¶×Ňzô'šŹrKŤMwTq ÓŹŞ$ áş.ş® 9(Şx˙X׌Ť E?㣂Ż~űq˝˘b\ńŽUw¶Ü»Ľ´íߦú©đńđ5ńÚŁˇrŕÜ#k˘6Ŕú•áűkn¸ëő™ WůížOŔuň”É I*>ě¨äĆ™óH$ř|>¬tšM{¨Ş®ˇ¦v:¦i ëz®¦‰eY|ş/ŃH„y·.@çe˛Ü[o˝ŐsęÔ©éSŽ˝˛C‰Şď˝92( ­ý~QI°¨¨őŹ˝^$Ť‚ †ěhdË{ML«›R MÓ0M“@ €R )ĺ Ĺu]Ç0 ¤”xž‡R8Ž“»ďî:Ăö˙\żă±ź?» žA[ MwćĄăçŠ~ýĎ÷şMBH”şüĹË“~>ęű;ľr÷}8Ž®ëxž7Há|®ëây^®(Ąđ<×uٱőWźZ+áŮAó °tM|ëkËDAÖ'~é ÷ĚŕqíäÖ^6€Ţţ´źśAuÍ´­>$_éˇEJICCC÷ąs‘;ÇžéýtčĂ6sKשŔkË2‹•nú0|ţĎŔa,ĄečşžË6–7M)%ýýý!¸®;Ě ŽăPSSnmmťýŕfµ˙’†Šşáű\ľë)ݍDťĺ›ígßż%hťŔ“>˘úćÜ~/'M!™L˘ĐřńăýÁ`đoaT¸$MęćĺyŔUíÖ8®ş~BLÓD™˝˙ó>Ń?®ĺ:­r¶9LŰŽfâłŔ”iuąv˲¨««›ôÜsĎ˝mŰöY–µ8T__o]€Ô4tóŇŘZĽYřCĹĂc(ŻOíUu9ę躎”’X,ĆÉýżŁ®ŕ,yÚPmvŃôŃVŞk®Âu]lŰĆqǡ˛˛2|×]wÝŤFżŮ×××ßÖÖ–~ę©§ną4)GEˇ„]ÄŤóQQQ”2´ś Cű©6Ş}ź]pĚ*÷3ş»: ĂX–•0Ću] …Škkk˝˝˝•Łđ€Ž> )«źĎ7,Űhš– H€h¤Ź_C×G3„$éĂç`ŰvNń|oĚnŘ”ŚŠBĆ(<ŕÓ'Ž·`šu”––â÷űQJáşnÎúžçQ^9‘Ž–"±lj$ )SF"‘¤´išxž‡eYNOOŹD/@Ś>&ʱééßĆń]»řŘ)$ĄÂ|ýľ‡r”ŇŇ2v«éL2š†+\OpšéL‰uuĺÓ˲ĽĆĆĆß:ŽóŠRę pĽľľŢ˝„RjŁ˘LđĂâ@śłÉněŰÍMłçĘí®ë2Á_łë]››ËNöeýţ”ĆžîjćŢqÝÝÝX–•`­­­ť¶mżľľ~ĐÁdÄ3±Â|q'E bMÓ/»”…ŕtۡa+«ă8¦Ź÷>LGá×ŮťĹîčÍt.dţť‹‰D˘$“I,ËĘ!]]]íO>ůdĎH†¦<î‰f †ö˝Ô„şikma|Uő / đzBőTŞ&MĂu]âń8íííÖ¶mŇé4‘HäC PQy›ł‘(TNő`(!űb}gJ}ˇĘĽCÍčĹĆŹéą9ęä+?4»äěŔ5d¨¬¬|ŕ¶Űn{ąˇˇá8€B#ó"A·Ŕh9cműî«ËŻźżŘ Vg:ĺź †JŢÖü\ĚĄĎ,gzu –e ZFR6żÍq4MCJ‰‚D"Á¬YłĆGŁŃ—îÉźr¨ŽVŕ=ż5ńf_´)~úä±Ĺ>Ť˛ŃZ^ ëęźďýÖ2ťNççn4M#•J婡¤””””N§•a(ĄÄ€÷fĚqĂO<ńđâ”Rž" ¤Ł/…xţÝôŰţ ŕ2J™;wnŐßÜ<~µRŞ|€Ç»wďîknnn3fLĹ5×\SVZZŞgózŽ.ĹĹĹD"gĎž=]mmmŰ‹ŠŠjfĎž=ł˛˛2(„ ©©©×qś­ůs ‹ĄTBdĚĄH’ÉVöh466vWUU-^ž1cFyCCĂÉíŰ·˙Ă–-[ކĂá‚Ĺ‹ß3uęÔűçÎť[ëş®aŰ6%%%466ö>|xă¦M›ŢI$ °W®\ąpćĚ™?ÜŽŽŽŻ=óĚ3'ňçşŕŰi!„$ł\ű8ŁmÉ’%7ŐÔÔ,[˝zőł===Ů˝€9yňä±őőőŻŚ7®ŘqŠ‹‹Ů¶mŰî§ź~úńŇJ©ś.\Ȳ©*‘-—%ŕ7lذř9ç ˇČxSokkKE"kҤI(Ą°m›ÎÎÎfÎoQS@¶lŮr:{_ßUYË˙_~búţQ )ÄăńD8¦¤¤„X,–>räČá¬NCűŠüńTm.ëÓh%› ’ůMd2›C†)Ŕěěě|۶mIÇq’ÍÍÍ{(Ë[ْΖSJĄóçŐ'¦/"Y:éd¨á'™ő&÷­Śó)Ü͇LIV>ď˙_Ś8iśWÎPdX2*Ĺ®€?Ąü/ëf{€ĘÔ­IEND®B`‚aptdaemon-1.1.1/data/icons/48x48/status/aptdaemon-delete.png0000644000175000017500000000523212117271433024327 0ustar renaterenate00000000000000‰PNG  IHDR00Wů‡sBIT|d pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î< IDAThí™kŚ]UÇkźÇ˝s3ťľ¦e°P(፠oQy$řÁFŤ@Ť|5c"šhÔ¨ŃřAĐ’€R@%`@ü@ŚŘP@ž-Źb€…ˇóčŚóşsç±÷ňĂą3Ü™NËLQVîąkß}öŮ{ý÷úݵ÷ŮWT•włmŔ;•÷lyŔÁ–÷ly×đçÓxĂÚr\ęůëÓ42(Ś*"’ýŚ€hvOPŁ‚1€6Ű"™Ţ¬Vn¸ěć±'ç @ć˛oX[^d<˙Z1ţş÷­úŕ‚ĂŹ?ł9vö-‚‡ńBÄ÷ 0^~ń|0bBo3ĂűĄ¶ývAןý™ćóĄ…ěŢ|ŻöżţŐĘ´¶ó 8#8›•ŐŢ$‘fj1 FQ!xČÓ•g»Ň‘çéIĄGĘ•ZĘŽŢĘő·Żm_z9\·?÷Äw~eÉO KWźsŮĎ ůŇBFű^Ć“]Űž–}=s "8ƶüĘ,:áÓ¤Á"rˇÇQÝíĹĐ7—ßqmÇ ópÇu ×…mĺ/ź{ĺ/‹~®N©Ľ¬;·<‚łîżm?~4ŔŕË÷KxÜUŠf[yHąd„oݱ¶ýę}=·W Ü~Műç‚|é–óżtk[±s9Ű˙Ž«łíůG͸?Ő‰8D ¦Éq€)-x2™r¤©ăédšĘâI ëŚo0řŇ}ŘŢŤ$©RŤ,Ż÷Ź×Ôéç._?~˙~lX[>ĎŰţôń«Ő¶`Ů*ęăüó±»8ú”ót˘Őâ˝gÂä@|ŚçŁ~€1â ~¦M¦ĹY Ěě¬ßń=ŻňĚťkč,ĺP„‰zJ˙ż+U,\vóř¦YlX[>Ő rŹ|äó?+:–˛uă†zĎK·ťľú;,:䤱g_^śň 4'ŁYvÎ1V'µićµ)ďiKrq3îYp=[7˛ă©?R,„Q)扥1QźđTĎ\sóÄ‹ÓlX[>Ć rO˙á+ÚGű_©öîxÜ9µ;áÜ‹Nľpvl'¨ťŐHťĄnRßňŕ:Váűů©UNDpšéě9i:U2ăŤÉ7>.i`ťKE2&ě~AĽÁkÝÔŹ_óë‘]rŰ—J‡úAţ9U·XÄŚ9—ţ8I’{Jí‹·\řĺ;ĘZíÁEă{Ďt‹á:K]ďĐOôÂćŞ$q 0#Í…Ď`ÄdéÁ4WĬŤdmZĘą\Či§ťĆ¦‡~ŔŞń­˝Ä|ŕĘßTŤänRŔŮô«iŇX~ŮM#?ÉĺÚn<ó’ď‰Çpőap jă–+A]’éÖú–şÇ¶oŁ»ű,¶ĽđµZŤz˝F˝^§ŃhdWÔ Š"˘8"Žcâ$&I’$!MÓ©ËZ‹µUĄÜ^â§^‘öi~ˇää.ß&Ń‘+ÖW€ ×”/^yŇ'>ş`ŮQ&Ú 6mˇĘl^`:•TQuŚFĐóŹg±6ÝOěĚ]ŚgČĺrtuë?Z>ňůeµ—ŻđŻX_™ŠÎ[żĐ±°ŘŃyë/řz^ü<á˛3h°wF• L06švĎ9%M›:R«ŘTIS—ŐY%M…$R˘ŘŃ,qĂÇ!ŔřR÷üŕőɾހń<üp~đ4GM 2“BLm%TˇTč& :(ĂZ˶ťĹÓŔ÷ yßPP!ź+3<ҧ•úđÜ3o MŠ­ŹbdúŞŠfŰňů%´Ĺ:eĎŕVş—źĘĘgS­ŤňÚëOŁ*ń0ľ‡HFĺ8‰ăŰo×ęÜx>ţPçöň€*8Í€ÔëĂxRBťP­ýç”réúú·ă{y<ŇÔa-8u1$IÜhíoN Đ.M1fćÂ’…ď§-×E­>Lo˙f¬3„ąĽŮ˙8ʉę¨4ßeŮEÄĂ&I}îäŔcŔ97B#>Ťh”…íÇúô lĹą‰ę 6U¬SJĹ.‚ ČîţíY&j0ĆGŃ|< ă0…D›+­x *ŘT)»‰Ó»z6bĽŤS†ćĂ:;Wଂz¸ć銪bÄ#Joď O]IÇuçgAěyó:˙z«—Ax&Gö‚Ł8g‰ă ŤF‘ç,Î9á®÷óŻ7ž"ź_Ś:çěÔ&RUA„$I÷ď ňP…Žěɲ€Ŕř8ëP˛˝”S‡SelĽ‡rép:Űg¬2ŔDeÝgP,,#.Ŕ*ôőo#MăćjÜáÎ1Ń:ĆlSŰŢ"P1ŁŁ‹rĄĺ-/5s—bľL% ®9űŠ:G#ú(ä»°.E‚ ”QÍ|Ťľ=;q®ő… RkI7˛O’ĺ<đc^ď^üŕo®>ń¬Őaˇ}ÍŢš­gqÍŚŽBq)q䲭€:›iU*} ŹîĆĄŠµ–Ww=ĘŇĹDzóµÇIĹYÝklmJšhß>4­RŔîĆj÷ŚV^¬îîyuuÎcÉţf{6é‰]pL×'ó~Ř4ľéŰ,«s­śR‹ÇxŁçąf0»YOÓ$ed8©HQ5[̦PU'"Đ‚ŃrăŃ˝ý °{ő¸ńÚŰYńµ#_ąéÜŹťÜI‡ĹÇg˛}g,©Ż¸Ti“°ą7š ź/łcűŽŃ—¶ÄŰĺ"ň¦Ş6öŠU­É[G P';ÁKć ÇćÉmďŮłçĚR±äMćs§€TŰÜMëää·š/ ##CőŢÝŹ Ř ˛‰w°źÓi1@ľy p /·y`1PŞoÓv¦„d8˘ćeČĚ0¨ŞĚń˙w*""ú?č˙ŕ)ďú˙ČŢp°ĺ]ŕ?Żî…˛Đ…qŃIEND®B`‚aptdaemon-1.1.1/data/icons/48x48/status/aptdaemon-update-cache.png0000644000175000017500000000632312117271433025412 0ustar renaterenate00000000000000‰PNG  IHDR00Wů‡sBIT|d pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î< PIDAThíš{pŐ}Ç?çěî}čŢ«·lY2زldcbŤĘ3!ĹM†‡›d¦ť„¤e&t:Ó”L3M'i›63uLĆ4Ę«Ćc;ŘĆOŮ’±ll˶tőĽW÷±ď=ýcŻ„eË/… Ă ż™źÎŢłgçű=żßďXxćÎg”ó{XŮšŇôHŮrxË[®š~±LZ=lYó4®k#P(·&šR†×R‚&?,5©ÂzˇĐJm4©ÜI×űµ3®˝ëţQvőrą˘%ţăkŹ ˙€łŚđCHŹÄWTNžqű5_ţa,–¬ćŘöçUĎá]rCâÄvš„@ ?ĽVR ŤŇÉĄ!AHP ” ’^Ł©¦k‚dóÍj^rm*Wôx˙xîÁ'[Ë'Ý ß:ĆÓ&ńSß®űqYŤۮżë'e±d5™î˝HC[Äéž™¨˛;–5—,Ĺ3jF4f5–'"şĽ{Ő7+ľwŢV}«úHu$d„ŽÔt”n …ŽB3@ča)ĂRH#L„“mÚî=ŔÖ§–Q•Ś˘äMŹž\ź?ľëŃáwĆ%°˛5u…fD×^÷µ++«Äžu+Í®¶7ăWÝöÔ4Ě@X˝§óâ¨W 4Ąk5NÝŘ{'=« 5s9¸m5mo=N*µĘˢ1ÓńČrA\˝ěŃüî1V¶¦fkFôÝą×ŢSžéé,c(Ý´Knüâ‚[ŔĎîĺź7ȰJŤ2žÉytuh; =YACUŔĽ ł¦§¨ś~%ď>÷}ŽunŢ„RóăŃRjńĽi )´…Ë~>t@<ńŤäTÝmS*¨BfŔű‘ëşĎ&ËkwÜr˙Ş”*tŘç­Ó€<ÁĽéóěĆ(Í—|†hY’éMSI%b(Gzó 8zđ0=Ç»‰ ›iC˙jvćK(˙F÷+TĐŘ\zďăą>]3˘?S@ŕ{ßQ*řĹ=Źä¬_~»nőâ;Jŕd ĚÁ±@ĆqýązaK‡KGţ"n˝ű&ş†47Góôz =\ŽÖlÜAĺ…s©™SNjć˘Ă†—ýxů_żŞ“é&O÷ţ_ú®ň4p“î»ö_C÷<’sVŢ—ş˝iŢço¨¬ź%Ýţíŕ{g‰YĆ!8–ŚiĽ°­–ĄËľÂŚ‚EGçÄtEÍôą~Ŕ;[6Ó=X`úĚYřš& é0§!ÉŐűe~óĆŚšM«źßłi÷ô™mmß˙ÁŞ»ëâ&‹SGs`DűËŠęDEĹÁ?ą˙© iÄů¨ä§+÷Ňzß­¬ßľŹňŠ*ŚŔ$ZQKuMvýŽ©- đÁŃ#(Ż™ŠăÚ,ś–ŕŐu[ąůšË0‹E††yčď—ď|ńĄĺ—žh{ 'ZKň!¤_ŞŇ„(5ńĹkżyóďĎâş{ş†™Ý¤aĘd6nŰĂ´Ys …ë8®‡éx3}ä˛DtI,ań‚‹Éĺr¦É{;öŞţřŐ;7Ľů/ĎŤKŕ‰{E¬t“ŃT˙5w>¤umzlBŕ3VŚ)¶‚E‹ćŕy>Žcłcw;–/hůĚBü@a;¦ă’Ë QmĚą¨yÔŽeYär9|ßç‰'˙·¸úĺťSׯxĆŮJ,[ˇ¬e+”Xz$ŠŤMH·{Kąüňyٶu]ŁăýNŠž iö|‚RĘH!R … .j«+Ů´yÝ=éŇs:RJlŰćöŰn,‹ĄĎŹÚ<Ű( ©ˇŃóý¬ipÇ]w NXµłćm.ląŚ‹šĘAڦúHO€ ®y¬yw/•Ť±fŰxĹť\{ůlŞ*RľĎÍźźsĺ 7Ü[»v…uÖ#Ą&uŚHěĽőčp-MMSGílÜĽ ˝nŃD9б™RaůľBęQţ|É5Ü4·šędŚŞšZ^ŰŢŤí„ç×uY0ż9ćş©Ká< 5 =rţ0ć1t˙ő+Ż&ŐąpVۧ<¦Á Ű)Ďp=ŠiZZ¦`K® 'ÇqŘ´eÓ'ńonań‚áĹ;€ßťť€” ˇŠ)-ëîŨż)!‘La9.B”R$˘ˇóý@áş>®ç3·iʸ¶”R´é§aRWÎkfŰľn˘ńĘső€Ž‰ť­Ů)2Řë°d^Ͽݎ™(p=ź‚)‰Âő|+ŹaÔŤkËu]ć7Oćí­íHĎdď1—ŞÚĘ)çH@Ă€2ý6´é;ÖNKCKYÔ©Ar…Y‘ÂD€pt}?Ŕ÷růĺ©ä)ŕǡar-}ýĽđö!â5MX«xvbâ9`§)‹HňF=mý×Í*˛hţ^]·•¬1©éÂóĂ…ěÖµł°)ĹáŁiš§5rqK3–eaŰ6Žă0µľ†Ţˇ-µů\qĎŮ R›PÍŞw( ç1mŹ1szăč˝[®»śWßÚB:¨ĂUb4‰?ĹKmŽ[Áˇü Ó/‚išX–…eYĽĽf9QG`šňWá4gb!Däç먀0‰5M?oť7Í'?0€í¸D”KUEů>ną~·.¬&Čt‘/Úä‹6ÓÁ˛=Š–CGÚˇX,R,1MÓ4yg_!(f2]°i\BęĎ…NZmÎYfÔ ¶íĄ±:N× ĹľÎÁŘ=UEyŠľľ4ą˘Mľč„j:L‡‚é±÷ýĆpý€¦É ҇ÓŮőëzơ8Pv´C ™ÉgŇ5Ńä”5ç&ćTˇXDá±×:h]˘1yR-š¦!Ąd(“Ą_Ô#‹ö‡aäúŘ®‡íxÄ#I …Ĺb‘îž4•e2;śčxp¤ź1Bh„/tŚÎ´óĚ{ż}ÜÉ™*ya¨‰ J:őT-kŁzăěŮđ-őqzĚ8żzc7ŮlvTw¶µS°®ë˛i×Q_ŇHwOš††itlŢ=¸kűs˙Ô !ŇJ)g ĄT „° w˘FĆB,˙­ý<Ř/ţx Ď"I rƬ7nů#‘XşŕşÉBˇ€RŠŤ;;1˝f”kŹđĽß÷PžňŽXěëtpÝk@/0PŇ~ K)U<§ď•’'«ÚRYT•—76ŐNž}Eyĺ”ٵuuU5uµńdEJĎyýé~k Ż/“Ëvu¦{Úw™ćŕ1 SŇÁ’2J©sűŔńńD%PAč™$bRĘX"1ą:—Kg!đCĎŠ@.é pL)eŹÚţCýŻDÉщĘđĄ:ťŇ{`ÂĐś‰aÂÉÎÉx˙`Ćt35Bŕ:`”~+Bđ#ęţ™0~,>JůÄfýĐSř§Óµ—IEND®B`‚aptdaemon-1.1.1/data/icons/48x48/status/aptdaemon-resolve.png0000644000175000017500000000664112117271433024551 0ustar renaterenate00000000000000‰PNG  IHDR00Wů‡sBIT|d pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î< IDAThíš{pUŐ˝Ç?k­˝÷yĺäśB‘G$(A­ *¨€ÚÖŃ^;ŽUÄJ-Uzď8Óν3Ą÷áĚuÚ;íôŹëĄŘ©VÄ«Ž×V :# ×* °Ś„ääśśçŢkŻűÇ9·Ě8Îř›ůe­sÖÚk}żż×Ţkçc _d‘ź7€żUľ$đyË—>oů’Ŕç-_xÖůL^ą$jwZvđ'žW …@˘ô„)Ť Ś ¤H ň@R»Óh±ěŢ'ú¶ť/q.wâ•K˘ŐRY i=rQÓĚřř©×”÷.ý ©„e!„ŤTXRY m„tP–Ť°¤°–Ťír™~Ţ~î/—L|¬µ˙X¨'óâť/šâßL`ĺ’¨˛śđăĆ÷ŤkľÖźtĺ‚°ĚwňކpÝ1%s+!P ¤,őĄ%O¶JšŇ÷ Ęs”4H îčtÍÄVqlóżÉŽ®L:ťu}aÄŻďY‘z”łXřŚ!d9ˇßÇÇLüöuwý{0X1ŠĂ;˙h:ţ•LşW ž§$řRŕëRßH¤ˇ­!AH0 ŚŔ9şA™ ×ů“n6Ó+6EÓYŹ}‰ôOžYR9z!<|&Ś#&ńł?ŞýE86úŽîýU8X1Šä‘‘ÂöĽ'Fşć˙+źľ]Ëeő´ďŕŮŐĹ%ă*#Ž%®z(¶ěĽ ¬zxÔ#N(ştîý˙±a𠹣šŹwmÂ×ţ…Ć€U8Jׇ«…sŮ÷ ¦bęŁRđO«–T>0Ňu§ĺŔ3?¬ĽŰVüî–<ŠTŤŕčŢ7ńs=ěy˙-Ŕ€)Ĺţ‰E„ʉ@ČrŚśhJ ”Qn R™2UĘ'cfý®¶—щ͸ž!SĐěLeŤoî^¸"µúŚV.‰Ţl9ˇWć?°<Żk"—ę⣷_ ůĘ›^˙`ħ[B@XHea,),„´Ęa•ZYj…´K‰0t J릎}ÂögQUŔ čĎytOgĐ|íŢ'R–ŔĘ%Ń«•Řtý=ż ‡cŁŮ˝ye®Łmc¨őŽźQ]?‘?6’OxĘĆ0Ď÷9žÖt§4ÇűAŁ=j* şB´‡ąÖ@ «§˛Ç:ÚŢ|Šh$Ż ‚ą˘ćx2“ö}˙ÚEOôp •K˘S”Ř6uÎ}•ÉÎöLbß;ľoôć‹§Í]pĹ×A÷} FźLąĘťüNű†]=" _Ąˇˇp8ŚeYĄšŻ5Ůl–D"ÁţÝ[h_ "0ü$a±Ç|…mř·ż»c.¤Tˇţ\ľ× ®\ô›ŢâéT4Xvp‡1~Ť˛Ď÷˝ź»®ű?•5»ľľtUÔd:𠩬eʸKýî´Ďžľ±Ěľńk‹EŽO±ďp{•ÂŻąˇ‚ÉăbŚ©®$łůÍMTwÓÜú ×]ÜÚşví rą,o¬|äH1«š=KË€Đ˙ćÇFđޢߤćYÚ-|č˝oEÚXůĂč·'LżéĆxÝ%ŇíŢ ÚD`8/@Ţ5wfrőĉ¬yë#Ön;Ěő-q®ii&­@đ^8e]÷č_ŚźĎô9ß­ů`ósO}ďńž;GW-¬ű•[‘m8%‰ž\‰Ĺöséł1i‡Î´§ĘĆwŰąá¦ěüč3ž|ă ß™;™ékql hcp]Ť«5žç“ĚäŮŰqś 9Ä}76Ň:}k׬fîUŤ„Îéř.›žůű\ObĎ —÷?;xč”G ey­…Loěĺ˙¸U|%„Ä‘o^…Č®p=˝I~»~3ëÓLu ^>…ň”’xE—b±@ˇP$_tŃ…îńv­ŁüöŐ4“ęăĚť7ź—žř‘ĂĎź,Ó%ăęR×-Űy™Ŕ˘™uOß/Beźe Ú}íßýTulyrDś™Äăq^ÚÜÎ芳fLEĘRŤ÷µ‡oĆ÷F#ń±ĄĆXP,äU«3¬Ůz€…·L'6ľ•qlĆÇ©lĽšo<•÷ ýU{9=¸C÷?íanŃďMŕéűKV°śv 8"»f*ZkÚ>KqIĄK8Bű>®[ÄřĄ»¬ń5ĆóĆEřEĽBżĐ‡-mębŠÝű»)‹ŚŞ©Ă;RCر°,ÄI<#ÉY4B*,;0ěŹ$ZÝ뺤29â ´çăQDhQ‰ßĂ÷=|­ń=—ĂźíĹĆE"–"›ĎQ(¨­­ĺŞŁĘN#-{Ř=Ď›€’¶3ĽŇ~Śhe ­5Úu1ľÄÓŇRciÁGß÷0Ú#Ů• —ě$ m\ˇŤďk´ÖDŁQö«jl»R 8űďY HĄ°śá=ń5GłY,ËBYŮ|×- •iBcĐŁĆ%y¬žÎĎX ĹŔŤĐR%ýýý„”‹˛”ş@RŽB<~Çą’ŞX‚.ĐÝsśšXaßËáć“ôw}J>—& ŇH„!ç ˘á¶mÓÓÓC<ò¤Rç`˙sň€…5BěŔ˛,fŽŹłűÓ4±®.RÝy¶&@©ű±)ŕ!Ëŕbß(,Ý.oŤeYtucFXc9çśg}­"•¶#jµ“˘§§‡oΚHO6@VŰ(©0~éî­”…Ą,lec[v)ÜTI3®C"ĺ_ť@&“!uh'ˇ€e9(©.q2FŇćę~¶ýyápĄßş”­lŠĆer@Ŕ áY<Á¨ BđpxăÓKnm! łqĂ\{Q˛Ľné ĆpçŽóô€@J…ĺGÔ`СĄ˛ť-[ŢáŇIă¸g^3Żď‹p8Á—|D«0ZFđTžŚp ?ĘöŚćîůÓh™ÜHgg'ÇŽaűA°Xve•˘[BŚčŽas@á\=ŘĂ·”’X©3§J}ĄÇˇÄVöě©ĺ†«¦Đ2±–ĺk>`gG/µźúh%|§ë—Ô×ĆylńĺÔVÇIĄRxžÇ„I“éďŻçż^ŰÄC ˘„…Ä”ęh PB䀌ň\s2!„D»ÓÄ€g•łÉUc{ůëî—yýŔLfĎ™ĂO^C6›ă“Ă=ě;ÔÂpőWâL7Šp8DˇP`Æ L›6•öövR©™L†¦óřőÚwxčö1P"P äPBÔ`Ă™6„uc!“ýÉŁŐŠ±5Ă‹®¸Č§'ű>Ż­9¤KŻ ľľžÉŤ5LkŞ X,’Ďçikű„íŰŢÂ)¶-ŠĹ"UUUضMoo/—^ŢĘă«w2._Ů ©ř śpĚ ~ś.ÇZl@—Ý~°uĆe´\{‡®Uš4ř\0TĘcÚ7čŇt§5i7±ŁHeăÓČbU!ź©ŤalK˛ü•Źhš6‹@ €çyh­éęꢲ˛’}űöú«WŻůç˝{÷ľ ô) iŚ9a͡d|%‹©ľgvŕ-ăĂwµgtÁE`„Bď´ßv$'gÜ´ŘŽÇăär9lۦłł“H$B"‘0k×®}lűöíĎ• ôc˛Ă(“ѲF€0ĄŃśź T81HG”YłfÝs×]w}żˇˇAd2™đ„B!’É$ëÖ­{|ăĆŤ˙ ôž1Ś1Y!„ #.Ą’ĺţH2đZýÄëőA % jjj¬–––mŰ2‘HÚÚÚ ·Ý˛eË ­őţŰn»í±)S¦Čt:MCC]]]Ěš5‹şşşĄŽăĽ¶~ýú? ŢxŘúhŚÉ”ËV°¬8Ý˙'ŞAŔO|^Ľxqőí·ßŢÜŘŘ8ąŞŞjB(Ş“RÚů|>™JĄ%‰ýożýöŢeË–íx÷Ýw˙čyŢůóç?ÝÚÚěë룥Ą…ÚÚZYż~ý? !Ö™Aa3b/»)[ÖáÍ^Júđ§őŰÚÚ3gÎáÚÚÚH4­4ĆÄ<ĎËe2™Ă]]]ű÷ěŮÓţüóĎŠ€č;vüŻďűóŇéô+óćÍ«ŤÇă!p]×$“ÉíĺµOóĽţC3Ď3éÖ­[s[·nÝ|ĽÎ©á5řzš]»v}śĎçŻKĄR/zžwyŮú}™Lć™ňś“FĽż•(W/‹!!Ä©y1Đ© =´?TgĎžÝ /s]÷ĄM›6ťvĽĽ †śČCz¸j4ŔDBôÍY^pç"Bq6`çĽÖýç6˙ŚËđ$UF€IEND®B`‚aptdaemon-1.1.1/data/icons/48x48/status/aptdaemon-upgrade.png0000644000175000017500000000641012117271433024513 0ustar renaterenate00000000000000‰PNG  IHDR00Wů‡sBIT|d pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î< …IDAThíYyUŐ™˙}ç.oŻűőë¦ŮFh@ 0 J•ÄŚ1ŃҰJĘŽ‚3ÔŚ5SefIR:85SS3C):jh0jH‚qś@Ť‘-‚Ú‚,˛ČÖěôľĽ~űÝÎ7Ü×MwÓ ÝŁUVŞüŞÎűî;÷žsżß·śď|ç3㏙ÄW-ŔĄŻ|Őô5€ŻšľđUÓ=u0WW…4ßS5ďÓ¶m0€ ‚`ą˙Ý{fH0Aś‘˲C?^üRGÍ`Đ@2quU¨H(ę$Ô5ĂÇL-5ń¶ü»Ý_"€ @(:HUA¤A(: ęŠ  $t(ŞRuŇ@Ş"‚#Ůt {ßXcgău§G>çkKoţŢf6ż0€ęŞ˘ęţu,íe7UĚ‘7OżĎ/r Ř·ý-X–ŮU·BE„pŻ…q•+‚Ý~b(ůgÁ°JîpbŁgQÓîźKÍéd2cIbú·¬Oü7Đđu]HŐ}?/2ú»s~Öë Fqĺŕn¸đŇÉvęţś")ŇqŻY”NGęÍ  Ä˝q»Âĺseđć»yrpg(™±qŞ.ůôĆŞpÉŕÉëÉŘożľşřy¤dŃ‹˙Őď FŻ?A’ÎźŘGýŤů˙A˘ăĐ ˘¨ňű°µ"xtco tU,ŮôDäǰéÉčÝZµ`ůTŹŚlăq>}h'¤#żlůŞŃćăď>a]+ ÂßnŞ ?Ö߸kb`ăŹÂŹhŢŕ+÷<ţŞ/PXh<ą 2ۆ‡?Ŕ»ľß5 I$ň>]ś Pç’CyÎ w.Sn<0dö_ŁůčŰpęvòiĂÁ…†D†%?˛d}âťë¨® Ý­ęľßŢőŘ ľ‚Ň1Č&šńůŢ·P1ýnťę.ńµš€TE«© ˇ ŐĺÂĺ$47zĎwŢDS-öżľ …A„TÖFCk2 ÷.~)±§OŐUˇ™ŠćŮ9˙˙â÷GJplwuöŇŃľY‹ţECGrMýY±Ë*@^ůkç˝^c™DŃDś=°Gw˝†PŔ“ ű=ެé 5žNJ)ç,{)u¤€ęŞĐxEóÔLś·4o8“®;őˇ”ěěYąŕľi ×Ŕé8 °3h!Ý.îCHôŰ ©^hCf ć7˙€+g>ůĚS|B(ľT6×ÎP¦/{±ý<ІÇĂTÍ{€YĆD‡”öZ˲~ Ç-\µ)ÄéKF˘mő#d™Ć¤Ŕąv'۰Ď@±Ď@ÔocLÔ€&d,…­/,É™äý`g V1ŘĎ 6řÖĺŻ%›iÓŞ˘wš-mó§Ěň•Ąë“ą_¬.Ţ:˙Ńçď‰DK„“8]mÝČ Ţ9AMc)F•!+D4„˘¤2&RÉT —ëpZńí›0ˇ( " ­řVdłĽ_˝¦ŢĚ(¶ę›OÄ˝Oϡ_îYöb⛪c?Đľt}Ҁꅾ[>ůOď,(+¬–€cßŔgűr·˙p›OŹÄ7&ŹÇĂ3Š!™!%»śŹ®!ZŕPĘq#`>şŘ€Ť{.ŕ¶âKř3çĺßÄäyŹĆŽě~㵬µŹ<…w±”µłť_>ŃťôęĘH4‰śýöŞ×#Bóá‹Đ©Ő{s¸ďŽJAp¤ëjR2$Râ* ś˙/ k„s—Űpääy¬ą'Š‘QÂŽężČ®o^qęöąs'lŰ{ňčîpĐk+ˇ¨ö,#Ýyűźżătv 0.yŕEĎaé÷BQR®Uň[VvÁt7Şd׊–d6Ł$ÁÂ’)xy×ag~ÇYľÝ7sÖ´Ie%ˇëoËÖ§·nXNľüĽ^á µĚyđĺŇGŻ Ŕ[é%¸áPUfFCk g/ÖŁ#™ÁďQQZRhaݶ”p:!2 ¤rZS&FŹ­@Çá¶iZ¦' d »G˝f3·ě眀 Ëݤ˘ęhg&@ŚFq篴bŰî(–µ­ž†‡DµBJ‰ËA|ćŚC›:C‡ŹÂřqŁA$6lÄS&R† G2 MŐBŻÖϡ0¨Ł[đݸ !ˇ@Ő<P›ŠŃ#‡cßggQ˙ůűx*¶ $$ uwĹ8¦ŕ2€¨k*ÂöÚąpÂă1®˘¦$p~=`҆DÖvĺéµ ¸!E¨Đô[ŕhÇT”Ă8{`—ľ@»á‘z+Â˙‹¸µoî_Ňň) ‚ć„‘w««:'@¸„˘@Őn~Ô:Ş˛=PŐŹ€ncuŕ]|Đ~ űšćcîĚń8]—ěQÓ ÚBAąPP5Ě5#ęcöwÜŚ©3Ęq©%ÓCű€[ázAÜ›„˘B„ xL’Ôîôâ‰9¸eĘL¤LFÎtÜŃí>őř? ŇaboQÓIĎLBÉŘY(+)D&gŁ(|uAnQĐŃŇőĐŕc ˛$…ş´ÇĄějËa÷d…L®V™02śĆ°`PŰBm˛ęéĎqöĚIâAG[˝ŚÓđ#čŮ fţh`@B”;|paZÂóPZČű®«9ĆŐčkOšŘłď(ţăÎOˇjîÜĹž/> šJx~·q­ąŁhíá’áfQápÓ°$ż|9jԷ͸."Ňg–#ňä=n+ĘŔĎżH(¨S†¤!‘OŞn `ÄB^ě?Tşý"ŢľE E‘€©„D}}ŰřŹ·m9*&§Üą0ťh±§ŃJoô9štˇ–$"ůwš¦-Żé+‰x±ëăŁxhÔa ćn4 Č1`’oĘÉOŢ=ŔÚżíEĺö§ŢľM2•t>Ő—j}ü—[ 1‰x*ŢXä –u+j®O$4Č>@G:NÔÖa”rÓ†YüýΡřbhoľĂA˙Űó·†óç,e—0=‘÷ A5íLŁą9öű×›4g‘îŹČ+¦Ű˛71š˙šĂ4fF2gcÔ°b|Úv ¶Ô†đŔÄL·¤ÔsÎÖ–:řŕ×ĆÎ†Šš„/áŔM(ąIŹ®{H×ő˘śĚµő ť{^@ë¶f~OI_ąT»ČŁ ¸_•uŁâ;úě±ó»–­N0†%aŔ”I¸tĄ€źŘü WfmŚÂ›z)#găʇ'3˙S[ń“éM5olŕ”/xjb0:äą`AČ—©Kźě3K"2ähńhÝďŤ-€ń[@·>\ąâO¸g˘RN„-Ç/w kh4qĆ|şP7;Î5$âÍçßk<¶{WÓ±í›Ëf<4Ľtꏚ©Öclf[¦­Üô÷żA¬,ćI%3)Űr6ô "CDť Ű…{‚g €ęń§™Ý=K4 !g90lF2kă\S †%ݡĂA¤°Ŕ7«8zS:Uľ¬Ąrę˘ÖřJ'k“3KŻ>d^ě[«W†#Ő Ş’L2Ý´¬ťýČHQ€7߀= z ĂĚ=řď]Ç[Ď]ikţÖĽ[ĘUŻ×cŮňę6@Ú°‘Ě̂±˘HaI¬ëČÝqX±%k¶#a9nµ–Ś'2–‘ýÍŢ ËÚ°ĚÜ"c·ŽĚäŰ€TRTG„źO:rô™Ăo>ó^˛cíăĂG”ŻZ9Ş8mI$3vWIŮÉM›Á,óŮš{pf†‘ÉÉxKË§źĽĽřY¸+ĄJDć ľĐÜ@x€ÎŇQţpŕĽyđŘéWżůWďĐľţ—ż¸0föΦć•ĎŽ9tÜ›JB6RY·ęꤋw ěDĽ#on=÷ů»?{=·¸< /4 đ|ă±˙úUŃ'üňŇŐů—éÝ[ŮÔű'–MşëáÂhń„˛˛X8\ö0l†”Ň z †‰T:+Ű›Mg_=¶ĺgof€Ů˝}Ůôńü㌋ď­;•É´(˝…Ď7 €®xüŢ3ľ?3Z>ý.ŐăŤ*Ş®)ş$"i™)ËĚ\Ě´^®ą°·zk¶˝.Ń[đ/@Ä5‚öâÜ…Łłu~ěë$ wąvŕ®zvž[y»s@îK‹`f“ě^‚t Ń[p%Ď»‰Üklo v@–™mř?8G__-3"IEND®B`‚aptdaemon-1.1.1/data/icons/48x48/status/aptdaemon-wait.png0000644000175000017500000000531512117271433024033 0ustar renaterenate00000000000000‰PNG  IHDR0%jŻsBIT|d pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î< JIDATX…˝™{Ś\Ő}Ç?żß9çνóXŻ×ë„§6 PDh%mĘŁJÓ$mŢi˙iŮ€Ú°¤˘R#•ŠJUT©R+E)RŐçŹLâ‘*5 EJ$¨Ć(€ `C°×oď®íń>fgîůőŹ{gfמ]viŇ#ÍÜ;÷üÎąßďďw~ŹsFĚŚŐ¶í㍆Ş˙چäsť…ůŠ€€‚Ş”Ź1)~¨˘‚RŽ)F@Ţ90?wúo€˙ŰÖě¬ «!°}Ľ±Ů'Ů_™Ĺ[/ąę†ě˘wţ†`† âPç ĺÇ+®˘qľwŻĺs0bŚt˘đôwu¦ţ¬Íî1ăޱmÍă˙gŰÇ!I˙cţˇKßýQżůŠ÷†öô^~řŘý,´ç{rNÁ©”×Ĺ÷‚.ţ-eZëßťźwő'uň‰»e˙ŃćÜäÉ–đ`íö±mÍ…•č ŕ%TjŤnúŐ}쮇ł«÷Ž0sägöúKĎ,˙‹hŮÉgÝÜ©ŁVąô#ńW.Ę޵e$­gáUĺˇíă yK|’ýKctÓű~ëŹţ>s!ejß.„({~ú ßm­˙MG¶~@ÚÉąx§\|ŢP5MÜď¨Č—V7Ŕ×î˝;­ŹŚÝxË?ŐÔ,ć´¦_ł—w}Źó_ iOsôąR˝ę3f(Ľăśˇşwú'Ü1t÷˛ăÎô>;|K%ş÷ýă_©fC8ňňăXë${^| 0丂!"‚(¨€ (†¸"Ȩ€Š "8+dŐ(d0 ýµŰ™zĺ;´ßříÜmĺĽqčÔLăcŰš_]‘ŔöńĆď…Jíďűł/gC73sâ0/=ő\~Ýďc ÍEŁÎşA]ő EÄŃ2âĐ‹LÄ#>2"T—LÍÉ}<}ß3:”b"ĚÎç[ňĚ86ušť˙˝ź˝G#ë×/k·#GŽňŢË2nĽúm¬«Učä9ŻîźćKŹ`óćM€by‡´ÁT0'@;ĎíŕˇĂłß|ř±wy*_6łcţ×óŰÖśůÚť˝ţS›Ńn禀\JĆÎ|Ű´Ú9·Ýö§\wíőËxčë;~őq,ocQ±<Çňy4ţńľ¸X4,ţ17?'·ŢvKµZ­šĎŰ­q`jl[sŕńˇŹlşň¦›×źűNmý ÄNĎěgjzŕR2C,§¬5šž¤yúr†·n1ŘÁrÁňXěÉě›řyůžţ8ç#ëGb­V3?¶­y°Űąă/6 …úĐ}×|đs©h…äśë–hěÍ«¦B˘râZý^ŹT·Ö["i†ˇ„ [©]z-Y-#ĎsR?|łbÜ J§´¸eY†_ÜŃé´o”vgřŃţT«ÄSQuŘ“×l[92{9Ńţ`yŞyŢbĎÓńíçďˇâ#фɹ řuĚ"UfeźP«Ől ±{›ßĽ˙łµóZíYyE-ě˝îŁwąĎ>°&3 JÚI0‹ezH3¨×26Ž“úH4°™ 4!®PdZ,úŞŐęR٧á0Ŕý·JJ%UבVŞk"UqÎaŃ.ň]Á'¤•ŚÔŃ í$K@śżô“ł hâ>I×DŔ‹˘Îa,OŔ0,Î{B%Ă»Â~ˇ$`qŕ **™žxSŞ*k"PTfeťŁ KČÚ73ś xźŕK „¤KŔ-Š:¬ż…"Ó—ŢÜę>Y#u¨Ó"¤;Lş»ÇŚôШw$iŠ×¡JŠ R–x"="ĹÝr>0 9U äŞ8çKŚRXŔčY”÷Bř 1BŰ„»(ÍÖŰMC"˛Z x|X›u_Tś‚šú`¤HNÎ)!T‰ÇkA I!i0ćmÚběĐÉsbڤiJZI >¬ŇŢŠŃă-N ¤8‰ +5Ë*UUń!,!ŕ;žŠţNÉc¬đ#)ç2Ŕż ¨ú5;qŚŽ$q¨›…v‹ 01FĚŚZµ†:GH*¸`„¤ăIÎ)Ń|/äšN‹MdHÂىlçaŤa”čˇ}čeUETĘ0Xř†O*$ =ˇăIB«§<§ýZ«™’Ȳl0q7]FýÓ7¨â|$¶<~óř`Hi§ľ¬} íÇh˝đęK'v’W.ˇÂGĚ\ĽYˇ(śż^ŻźM@D<ĐŘ?ÍşB}kÂ^ĚxçQQTˤfĹ73„ –ú¨B@‡Ó>řh±gŐ$ ¤i:đT"ŞűNŠh«5wMęk&á/OqŞ8u¨şrŻuÎáścI±*R$3), ÎJ(?B×*gű€8ŠÍC˛°@8|">ňŇÓ;?qůőwi%[Šđ¬-b˙>ŹBrčpV(łr„‰Şh©p§ždřBŇs†Q1"F:k„°(Ći4L‹âN#H‘ ~(‘ŘWźšŮ>ąaďóOţvđŮŞkjMj_s¸ěęś "D 2B¤ŻňČŢź|§sôÉ]Ë[şěmš <)ŠŞc\7‡ŕ©×ëKó€™ĺ"˛,óĎďĎܵăäß]0âkďŘ8×X-sÎĘ®ąůí.*×LĘôYśwm¦Î·÷·Ď˙ĆsĎüř‘SS­ÝzŐç_˛1|±꯭~Q´²y`–ţ‰]›ęś˘˝Zż9ş±žÔ'»ÚZĽÝě-<3Ä9 µŃ#Żťza÷ËóŤFE/zĎ…ł! =™îXë70)ňŔŔ%dEĐ>%"-  $ĄV}nżeË–ů,ËZÝc·Â’PŘÝ.:U††ÖťŢ˛eËäîݻ獆^Ľéâő…|Ä{‡S%‡M™BXh·W´@—H h•˙DHIlUířńă­Gľőđ±cGI+•^ /feŔ,H4O7eý†áŮť;wćýîľ»aď+ݰoâ ¤(@ú–30"óóó„•ŮDA¬®ŤŽŽZ­VŰyčĐ :°ŇÜqtxäű‹çżrë•ÓG&&ţëÇĎţč‚RjŃw˙¦V«>_Ż×mU˙ĐĽ…ćgśz.Ó"0tŁ\-Ćř¦©żLh­_˙·öżÇlőTę{IIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/0000755000175000017500000000000012202062656017052 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/16x16/animations/0000755000175000017500000000000012202062656021214 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/16x16/animations/aptdaemon-action-downloading.png0000644000175000017500000000266212117271433027456 0ustar renaterenate00000000000000‰PNG  IHDR€ŢXwtEXtSoftwareAdobe ImageReadyqÉe<TIDATxÚě™}luÇżżëÝm}Ůf7Ůp[ŔÉaĘĐMáE&AP@—AL šHŚ/1ľ‘ŁÁh䏅 F ŔSań- 5 „€ăM&ĂÍ…1^:÷J»uíµ˝;ď×Ú¦ką^Ë9Üł4—µý<Ď}źßsĎďé‘eCö˙5v(ÚVúu•üĽÖKn›E)[–ńxZfćjIôpu…şi· „ńöötŻ9˛Űţ}µ3đĹ˙:˙wą8RxÎw|XM2gHZ<¶.Š(™ŔxřůŰ—¨.ŕ‡ň‘ÍÔĽd)iWăˇđôĘżě9ĆÎĘ{öŢ2ł˙(ÔŹ@¶Ĺşu°âëŐOţ eă𱫷YycaaÝĘPŕĺ(÷ű`đŮÁ] m€«>6 őGľ…˝ŁŐäúÍZ|Uý~Śš‚s˝ĐéjE{KF÷šüśĘ•řüĚ.˙IŚĎC·ËFLňó{ZŁݦ±I•ßqvŻÍ×ĐÖsĹż€”Ď(‘™Ď#Ő=YW:TůĄăĘđÎÎŤxč8ěNŚ™B‹_ÚĐŽXçŻ7ľ^ýńäźuö\žŰxôË•9÷Íbłó•ęĂ ĽčßÓ•ĺQĽŔ†jY·0Ôřů;ÔŻ€ŠŢŁ€RĚ m]ęńÓşťu Şüîň_ąÔďă‚· ^Îď±EÇĘś1Îźľv•WúőĎă.ţ~ÔlĂÄşĆj—†~ÝńuęŹ'˙„N†K Ĺć´a_¤Y3ódŻ“öŤ_^'_Śj!ĘŢWňr•čß\ÔxĘô;|~´……'aű+ż‘Xń>.Ř &!ČĆŠécŔţr^óüŻç˛S».:í ăĺőÄף?žü“ŕŤ Í«˛Ź=řđcĹ>{K”€[ŽFMÁ‘żŐř K@ĽńĂÎjńá>(;폞ă+Ö_-I„úX_ř Nű1a^O|=úµňşDh/K±‚pBČÁňşÍ›#ÁB¸OmŰťó°ĽŞFS€é˛Ó›íQcm,>ÜÇ–ÉĎápó×H”ř ‘O 71ľýZůg‰RŮĘ<ňţóy¬9#¬”>Ŕ±Ö¤ĹSűjöjÜGő¬w±Ży#›(ôá–8H`n§¦‡×_ŹţXů÷wÂĂëvőź®;Ľ§€F?˘ĚäŤôR|TU›¬6ÄTľzŽÄâĂďC˝™Q*XUk|Ý:ÉŮŇwĺWŽáďęŤWęL~KńqňČ>ŮŮç¸!^ůL%é–ĺőčWËż\dĹě»=é¶őďtÂä`|ŕD  »žd÷G¶‘§Î“÷¶‰~çZĽ”ĚB°áĚ0ĂťšŠvŃĘt ń˙>Oâ}H÷ü` ‰Üż‡ěÖ5’Čă`Z·ËS°! Ř_ ţ-čOlxä1IEND®B`‚aptdaemon-1.1.1/data/icons/16x16/animations/aptdaemon-action-cleaning-up.png0000644000175000017500000000503212117271433027345 0ustar renaterenate00000000000000‰PNG  IHDR ‘tXtEXtSoftwareAdobe ImageReadyqÉe< ĽIDATxÚĽ{pTŐÇżçŢ»o6—Ífłyn˛IHBlŚ2 ED‘â8R«E­} ¶ÖG«jgś¶Ó§­3-´Ô?j§>¦ŽµŇRlkQŠ•1–7ŠFä± d7ŮWîÝ×}ôśĹ0ËÂno˛ż™3w÷Ţű9żďůŢsĎă]ױޞć~÷­˘ÇóCMM›@ϱĐuÍ©iZÇq§é-qv/!\&žřŮŃm“.Ţ‹§5@Q´.öK¸#˙?T‹ ÉbóFôőOQÔKą/Ö—?ĎÚKO'1-ŠÉ竟ťÂ[^†Ó§OĂ?oJn(·XĚx±đyŚŹŤÂŰŘ…Úć΢ńFőńOW3GBhš×„h4OuSŢ|h¤©D®˛Jx*|0›Í0ŰśEă ŃĎßŇέi[qď3‹nú†?|î Î{ ‘ó}HÇÎ#™Ŕ’•÷ŕŁC™kěް‰0‘”hř®ŕčŔ®‘ş\ĽEUűLFĐĺ1¸ę: âU9„řřb“ ´\{ƆN˘®ăfʧ‹ÂŐoÄżDôśžz¸kŁď˝@,±çχqÍęŻ#ĐwéČ9pŞ˘Ą‹Ç _¨j^úŇÂ7–'ÂC¨lę‚§®:áŮP‰ťĎm‚Yŕ‘ÎdPµänp& @Ĺ–9¨n]Ţ4ý˝ĹáÖrń;žyŐőm8´űyÜ´áG°Ůmńvľř$V錞€§¦Ľ&Ť7Şß™¤Św_ŰŚĺkŔ[Á ÜXîä{OŚŕÚŐ_ĹŰÝ‚Îő?ąčG‘řBôs±Đ`ůń=Ďe§ +$Řą$Á¦…˛óx*6’=rŃ“@đC`ü8,Žąčëé† •ĺâ•đ)¸˝UHĹG1-(gůG?Ů·§®R/Ží •"W4~&ôńO´$łyY~¦C:7ď÷ŐfŰËÚÍÚ?ÜózAůŤň…čç¤đđúŢŰß„†!éNČD¤Ĺ…W–5.Ľx´T#a©ˇÇZ:%…č=¸-_“‹?;€§Ľ#}‡áńµĚłü‡÷îĆÂ%×áýw^FýüĄ€«µhüLč7âăYŢl~ŞăÜH(o^źăC}۲l»YűŹěßSP~Ł|!ú Ű™l˝—ďrĺ]ž:=#Q»HÖ´x"Ťe×_‹ý‡ŢÓfÎî)9“ŃđŘ€ ŢýřźÔěîćrĽÂeĐčkĹh`áčöÂx‡‡N]qš;đź}»P6·„ž&EăŤę7ę INĂ%–Ł˛ÚŤţÁ“tů`Ę›gĎ5‰aĹňµ8Ýfg“Aµh|ľú9v#űÁsäBëüEWWu©Üş±-ë:˛G_ĄÍu•hníÇq¦’_Ž/ź+bé- ¸ţ‘UXt§EmuŮóůđőŐĺŕ3<ÜÉ|ń©»€ŇřĽ^4×W…7Ş&ü›*,/ËĎt0=^úĺËłö˛vłö3őĹßĐ\>_ýÂT%„ăawş@L©K=¸{cjmoa(‘€{˝ŽćŞyPÍbvAúŮâĺLń`Gľ## îFş3ŤúeŐ—ľ«]‰ĚVŚÇd4­¨ĹčŻU9zâCÚ;Ú?ý¤7»ĽQý3áßtžĹŮ?xt7Qö»čBŻĺË‹žJ(ć1ąă"sĐô=Źé®–đćbđůčĎţ޶şsîZ”T¶Ń2ćą>”Ü‘Dç«MX˙÷…Čč)z®6W4pBĄ•ĚťŞdŠgע’‚†® lřäzx@—Ą˛ő],m9yBxg0@YŁ­Ë*±voÖ3HřQR1űĽQý3áßt~ްüLÓĂtE˘ăŚ7ĺĹÓvłö3ĚO V»Ů÷ô=•ËgťĎCv$fşkNČ=ďď{ł…ö]˘ÓŤ´š’…ŇJ»IUŮ$s˝v=ünŠVEšŚ7™şÔű?ĺż˝ŁÝéVÍĺ55D‹„ˇ:3Č”ĹÔű»3tůĄÓşuUÓôéü¶ď7Úú`ýR5ˇV•ú"tá*Ň·"ŤŔŃđźÓőń3©ýg0[ĽQý3éßtž¶„ Ú4żIuÚx¦§ĽĆŽŃľ!]MĄ˘ůň,¨ęńÔ8ŕkas’Růźçw<Ůôí;ź>Ý=›üŐôg;ŕp\O<}—ă‰Ţ7»7‡čN:–‚ýö•ľ7,®ąYŽÇ 8¸kl8÷ÉĐŰÇzž()ÁŘ e¦ `üďľéýyl,¸îš5ő^"¤0>Q3Fbďěě>ń+UQâ.$·Éé<lEáŮůk]bU‹± á1rXAhXî޵ďŔÖ”‘¬RłÁŐ?Sţ}–O)0YĚĽíŽU5ʵtuVŹ a^§HFN†[~ń`Ť˘‰+ńŞŢĺ4Ůľ°Ľę19,­ ›SČ()řX©&wˉń)Ţ0[|>ú/­źÜ.MĐ+řóŤ~zX*Ř$&ăŕx‚˛h…źďęjH~ů—ýăÓç˙m›K˝%›ý‹í^w-Ah(J'wžŠUi+HékÇ2»+&ä¨2¨kŞ? »/I9… CiĐ…ĆGŰ?HżŽ+…QިţđďłüôxůQ˙S…}SËšŠ˛ZÝ,Vží‘_ ş7nŘŇ?q%žĹż[żúÂPdĚfj—ŠPB®é`ľ]-żQţjúą~nô/vĚILJHJ&#qú `çص˙]€"–«A)Ş 8F,<‰D\Ęľ b™É˙ę¦F1ףCĚÜ·ú?#}“†dDÇâ°Ř46ş®öŕŤňFőĎ„ą‚ĺeů™¦‡ébúN¦—éΫ}Ôćó…ůĂ|b~1ßf“ĎGż}ălŹtŻXAüÎ2>»ű‹Ś¤1|"}–]»L'PčZěá‘SI=6‘úšMä,ťâĄ0`˛ňGµŇFo;Kč†Íý˝Ż<Öđ#[îtRIë~»Cë%<'çcQި~Łţĺ MŐŰLVîčđÇňj‡‹ţ§]jLMő—8<ÂtçŐ¨á@ŞW–2Í‚™ś•Ću«’Ö6Ý÷›3˝łÉçŁ?ű!úrA§ö¶>DËíźžbSŮłšĽBŹźŁeôű !·ńś§Ăô^UÁG÷m=ó~> ĄCr•Şâ:ş@ý8ťÔLV˛ďJůfš7Şß¨—‹Wočä, ąAMˇ‚>Żťś‰Ľ|Ď–üëaZ2I}ąŮJÎd2hçy¦S÷H1ř«é˙Ż}‡âsĺŮĆtIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/animations/aptdaemon-action-resolving.png0000644000175000017500000000334712117271433027162 0ustar renaterenate00000000000000‰PNG  IHDR`éşzůtEXtSoftwareAdobe ImageReadyqÉe<‰IDATxÚě[lWÇ˙gn{÷޲¶×Žo‰í4©“”¦MP %(ˇŞ*!Z©j¤"¤TĄÄEĐD Şĺġ$ń%q"'k{×qö2öfď;;7ÎÇÁ,;ëČBj<ŇŮŮť3żßůÎŮůΙbš&6·Onă6‡ŕ“Ýöń!äř‰đý‘Č«†^q/+ţ3;X¶©…ěňŁżÎ˝˙NiĺÄM~ă<9s‚Qđäî#Ď˙¨˙SÇşŻµV…(Jp8$<I’ ą|pµíˇUqé/?‰Ď\ţë×$‰{ÄÄ&żqž?ö0w|×gź;ł÷čWú˛sç07ţgÜIΠ–OB/ËPK)JĨÁÝ6—ż"Qü˘ŔďĎÜžOéŮä7Γ_ž:”:üěë­µ\^ŻšZ…Ix–*ŕͶçŕߢć‘ÔěeT+%LŽüJvxÂĆĆϧ‹ž•1»elßĆP}ÝŃűn?‘ÎSG±[w¬éc{×ěěFoGđľăO¤r¸j9˛–Łż» CQ¸”Ä=ž?>„ďU 2˘=»ŕŞtQ¨AÝ›E,,¦1:1‡ÎÍ`lbr2IÍŔëcjôČeânU){ń ·Ó871ŹĆnâÂÔ–Ň·!ŐRpKĐSţVr ç'㔍áWâX’SpčK TŇMů…ä2>ĽZE!tfŰcŕ"C(óĚݸ†1ßíxUA!¸ÖĆÜĚUęHÜw˙ĎNSGŕߎ˘Ži„|"âăď[<t 0ľĽ0íëŘ?(ú˘P)®Â‰XJĹŮërˇĂTp\딤­M¤!iYÄÎżýŽZ-}CSňż©ço&ś˝VŁěˇ:6źŻf5‹ńż˝Őż™,ÓŔ{˛űﲝV»>źž@îČI[ţىEäéŕďč둇[±łÓµŠňz{{›ň,ţ‘ÉTťĂM˘ĺ(É lq*My6~#Sięř4vlëÂç¨c×G>1ŽěÔ»OŘĘüçřýë»ţ`¤ÇTKVÚĆŚ!`ďK4ő"4´ZWć—ĎTP»ôĂB óÇ/|ýmýK­z>fěnČÎS–»ňcl)ŽĚ—r™gń7•möěä›Řî!—MŰň˙¬€{ßI|ůń¶vv ’K#žĂ{× Ş—Ž}α¦<‹˙˘ţy{Çř/Đ_ţ}SžŤßEý ‡ňĄźiť©źbĽőŔľđI=´s/z:¬Räۡ -ęX‚ÎHC’u¬ČµK«Ť7âíXŤ÷˘Dë8ŽKŮńÍXV7řĐž¦Ľ Đů— ˇ@-Ę zoŇő„Xuëń,ţfvwłßÔÁqôć”諼°*!·/"*Ö?ČÝâW*t…®ćYkĎq&«˛ÄőŰZľ1Kϡ`‹+v<Çë¶,GoéÜ^Sľ/Xlpí©•aę*nČ€d–ŃÔ×ĺYü}EÝÖ Ń>›ól„lF ^SÎß{fëtşr žpZ˘»hىţ¨›žL·ËH/g‘É•0#spPŰ” Q' ¬ čóŤYbu ŻÝś`Ç÷·ŰłĚë v4ĺlźş€‹yüvBĂď®±ŚJŹŤÁl_—gń?2ĐfëpűBëňlüě\ň<ś./żĘ[@čĚR­”/<ň§ě7éŤj^^+xÄkúa2÷ěˇN2ŠDŹ˙Ýľ;˘ĘÝżŽ'5cĄ»,{ 4ď˛fYťó¶Ľę´bc6GrúĹŃ1ĄÔڧ?ŰhűÉé)ˇTóY—jH*§3Ő>/ϨŐuxÖ˙VÚ˙ÔôżĆˇ;]nÄŞ‚ä:Ŕ‰b˘)Ďć™VŐËŐ;$GŢ˝-tň•Wż9<üĆ·¬EřŕŁA<˝˝J%Ëm2˝Ŕó ÜŠ1˛óđŁľÖŢ'čSÜ>:¬¦©VFý~?'şü_˘ľ×ľóíÓ§™¸üĚăžHĎQ‘˛lĘŇ”ŇX  Ođih•ďjłßeř­•馞—¶9č wśŢÇX˝V-~ÜBŰuűÂO•ě›dňĚ)=Č-Ůń«ń묹ç`8(»źzń„äŰrr˝öíř  ĄŢc/}•s_\Ż˙v|ŘŞ˙ČË/@p˝Ěd#oC‡_·>µ6ť­wPžlôÚ˙Ňa˝ ÚHymřÔiZĚ˙'öA,˙` O«QąčÉťIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/animations/aptdaemon-action-removing.png0000644000175000017500000000324212117271433026772 0ustar renaterenate00000000000000‰PNG  IHDRůöö`tEXtSoftwareAdobe ImageReadyqÉe<DIDATxÚě™{LSWÇż÷ööA[hi+o(/y Q™ ŠŰŚÉÜ–-&›Ă-1şhö2[Ř#ŰËśŃ9ç˛,3šˇ3!›Y6§Śč&EÝd>A' B©µ@Ëű¸˝wçŢ"‚“Ů L8ÉŻç´˝źs~çwçwÎď^ŠçyL•ű_˙L¦=ř¦łëA›5ĺ@C7¸„T*"ôŕO‚a8rÓ—ŤˇŻ$"Ś«%RAdŃcßD´ó:B$©üÁ/ů®"˛!6C«P‰fˇęŹ´IĆ0~±A´2-5ö~n8úPßůć䦣ĽŇ|76ťT‡ç,*ĄŻÔĺYÚŻç‘˙6’9˝ăŁ.+›— {ä~Ř›~ŔśçŤżö}Ňś=ü=]_,#ĄÁ:9Qh %ô©ňĺ†E…G‹Î#…JŠ@ť©‰é#¶˛˙čâ5ÁyŽž8 Aš[›i@îÜ6„ö“ÂoŁ|Ů2Ny&4(ü#Âî ˘ľç[ŘĆM?EQT!ŮĘ|Zm„qf÷`{Üůf‰–éťÄĐh·µk×XBřt‹·|-µs^XĽżřź›ĺár¸áşŘĎ=qŮ[ý˙¤·gĎ] ohhB ‰®Ń‘±CLye9‚odť‰âçďÄ»g^XZqńg,¤ŠJű©6e-˝3'-9MŞ3hˇ’kĐŘrmבdYSę­ý¬Ôßş^}ÝL%‰f–VŰŔ,nů_íoŁ®jů¨nRîöů34Mż¸zŐ Ă0P(”°ŰÄ Öl8Q}Ş9|´NMŹ2Í l:âÇ›—Ą´$&+§+š›Ă$*źoëNÜ×Hgy;ţĄż xZz¬vHxµŁ˛&&ČŘ\$x«˙ »7ëË+cEęFěŻ1Z]=»ôĂČt5µő9i¤™6ĘüK__ä™˙Ó_ëňă’!őŁÁŃNô;ş1M„˛’ TuŇK˝·_"">Žś¬L4Ző'[,‘ŽŢPźěoî…ăFúÚŔsĚů3ÇE °Ýn‡\®ëőź˙C`ÝK+–a´ß7{ö…› đ{,…ko~qRˇëŕůâÖĹ1¬“Gq ďßÔ¨‘ű2>Y] žeŔ (¸ÖłĎJŤŤ&…ŻúGú§`aÖóřiżĆÖÔľWóLźm·đňŠe^Íżˇf5ČuńK¶Cp$˛ ‰śż¶Ë—¦řdżóÖ 1  źĂůş6¤‡żâoł«ˇ7ČŃi•A+ź;Bf08l6+xžCEmł®hÝsŘôéĐŚL©2~şHĎw©B4éDG’•¦ńć§Rě*™†íëëa¤Ś§OSr_Ç’®Ţ®Äęg÷Ę1ý…§ý«ţ%wäK«Ďy7˙őo`Ó–­h(»ĺHž˛eÇ|˛_ř3®%ŕänX»űPfôž—Č$¸‚¸¸Dl6h.Xűc‡xÁ2].—čyjµ?Lfă°C§››śË.Ęŕţ7|1N>H—™„XÉřÔ|\˛ž@·»SăÉž}×˙íĹ{`ľnşwóż™éHt\Ř9ŘĄ·Vîj?áQ #7%ńDhó¬Ăk^®i…6@ ŠwŰş`é0@"uŚLăĄRĚ‚†„BQ†]‡ę°vÝ«ŁbOž˝8Ôž| úÖ(•BҤö™žŐäĎ(DxhľÚ±ylú‡!#yůĄz‚ŮŹÔ?Ć“™c?ëă3m6(ČŢWţűadgĎĹułg-ČŚĹŢňs$ÂqŕX'©Üž§kBM<3Hĺ Ů…?V]‹ůŮ…đ“űaŞ|ć«+Ź‘ńą˙íüÇ‹gX–ÉÄPôÖ»Ăü«Jü Ërps<ş;ŰGxŁżÚ)ÖSüäć™Ć«-řâË­¸™nx¶€™Ňs.`}CűşP¦řÉÍ3­&łýĐŻĺŠ6k M™Ś\˝Čł7J(8]/†ß™1Š1ŚIUžN¦řÉÍ“´—ŇAz­Đ4qEťęŚHŠ‹ĺöś¸9ÖóÖĂéćŕpp°vôx™â'5Oĺ\µß°G·ž™őřĄÁ. żëëß×ÂţŃ1ĹO^ţx|;P}•śIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/animations/aptdaemon-action-installing.png0000644000175000017500000000325312117271433027312 0ustar renaterenate00000000000000‰PNG  IHDR°¶«ő°tEXtSoftwareAdobe ImageReadyqÉe<MIDATxÚě™kLWÇ˙ĂÎ.»Ëdµ€oDmAD©T1Fh1­Ő6Ѥ6TKlš¶ššFŰ´µMă‡ŇŞM55­4~P±µâ3"©">¨XmDayÉîÂľff{çîŘđŘ4ÎMÎŢ3gîďľćÜ3wî2‡˝Sé·y9$ŰŢzż†zś¤ Ůg9)Ĺ Iće~4y¦·»ŕcÉ ła2v@CíćĆ Cuí ń2w NČĽĚŹ6ďq`7ś1˙Ezm0ˇKZDuýŐs ˘ú™Ş‹ýv›Żh¨FČ´ŞwŢ­EćÔdIüHŰ—ůgg{Ő±}fl2ęď?„É wZ"‚iÖĐPOóŔ`Ä2uwŞ·‹mz- >|s×#DĎIoÜn~„#‰?ÜrÁ §śiiĹšČIüHű/óOĎ~őuaĂ0gpÖ”ČŘDLC ×^9 U@ Ő÷'¤d;Ă9ٗܬ­LŮůÍGIôţ™†ń~ř†ÓűŔ©Ś° ¨5¤fĽ*‰/-ąŽ)K¨~úĎÉüú_óÁ¶žˇ:g±˘řÍ˝’ř‘Ž_ćG‡÷#iĂćü- ÷2ŕ,mTĤԪ©xŰĹ$2bĂŢüůúÓTĤđWQń¶Ć÷nÇ€[hâţ–Ô~ďr9Ë^Ł2~ëŐ‘·ď=*[kö «ýáĚźĚKăYA&˛lĎNB°›ťŠďß=vµëÚáxNÜ?‹Ň›źŻ‹ĹĄ‡7©˘Ń×áÇ!0’…†UbNřd¸kßUyŔĄő=qŰ –Ľ?(ďé'IÍöóč´ń’úß›_껉ćĹÇ~’Ě‹ ˘¸Ňń¸Diísţź5ž’<Ď1Ľ­«KŚÖĽ˝“ŕm´T_ńčn;Mm3ăö2o~^d J.×AŁľë\=˘B]u Î<żß]-Cl|Ú›[Ŕ+Ě?‹¶+ 릤z4˙öńBçř8«…ô] şŰľgmŃýw§FŰ tXť)eüý-©üÎş#PÔ;·‰<Çᇩ1’ř‘<ż§‰8Ĺn·ĂŹU»źŁůôظž3¸đpŹťq;Í>×}ż?>7)UÍ˙@«ÄňYń’ř‚9+Qtí8f$jEŽ6^ź”Lď ĹďÎ|›OíĆÂeaŁŻÚŚřĄ!°ÝŹm‰Ů= `~őŃĎű=źtŰËŢúͧń{/©óçďďŹěŚW¨~âĚQÉ|y7ůđé®÷ôĄ€Ź“ÄŹôůŹO#0Ç °ÚmÎ ‚¦ vÎě©€zBü@|ŞKw 7} ŠŞ~Ad¨kWxęđ…˙áĺ/±ĄôSĚ[<ľsšęÔŘ–¶‰Ö1썽Č=ŹĹ+c¨óq*âł`˝Ť]yřśŇÂ~çÍmw/€!çOá˝pFňu·Ý×ůs(0˙…tŞWŐ\Ěź¸s¶O˙łcK~ţ#ő_xVßÚŽ@ňµ§7Ęöx ôďxpĽ€úG, ‡ČŇăŤ˙‰ź ˛·7´áâżĹ’ůŤšě.ż„‰ă§`ŽĘ“Ĺ>óźč2QX^AťĂëZ¬łG“:ÉSV_ŃďXgŹÂŮ’ďĺ÷·˙ĺ—…‰8°ÉĐŽüCRۆdźĆŻ7ŢA]hşs47vJżîšbúäYTŻż •÷GýůűÂłŮ_iżă0ń•&twwSĂ:Ď;˝ś|)ŇWZ)§V«±"\MP( F´őËď_d˙e7 ,8kÓVIâ÷)©ŮŹ„iÎc c‹ KČvŔ>‘°ĺ×AĄ†…ă!řŮ1g?cŇcWÉ_¸ő;¬V+ŇřL„F(ɇ4ŁµÂ TRva\–OăçőµĐ*Ŕ/Ňę–cę„ŮOäógVŻÉsde.ňÄf­6ťťŹáŻTCpť°¬8x L&§L7Ůs˙QqŽ^ËĽĚŹĎ$-H3Gé"Ôú¶Ç`~Pű« T)ˇT( R˛P›¶í6›MÜ<“ÜŽČđçs~ţťs|îŃ1Á˙ńËűw@—ß'ĆVYß ŕ{čĽŕw~źx´Ť‹ţSŽ8ę÷‰}˙«}D>ćwPú}â`¦Ŕ÷¨0‹K¨ß'î(2~'€}ÜPá¬ěĽšěëţV˛i•w¬nSŢfŮŤJK …‹E~ă÷‰?\EűuZý·íL3ÂŃYL…®"ž˝č÷‰O™Ë—/‡ü>ńÄ'5ŘŹqđďŇiőO ą¬č‘úWë=ҸÇËvhÝŘd4Úń‰büb»/ßôűÄô‡N€űâ}¬t§Îlţ‘TČq t±~ 2Ą„0b":÷Ë“‰˙ípÔű÷㊠•Î:Ńě”Ešł}`rj—Ż ˘*H‡«ćŐáó×ç¸|b›Ëá†ŐfZ«#ń¸0€Şá˘=«š[É÷ę"®©j±ZĘPąŮ ^¦Âůľ~ĚĚNÓ­‰’€cL|j9ż´˙ß°ÎVw¶í@ß…ł¨)Ś›rŠřJń—ú,+É.X2L>WŐNs`…ĄžĽôaD»ę;}ŮÓtoůÔĺBĚeÁq<är2–Ďóŕ•Z(- ňYś{ăŔř•ľ7źäyću˙Vv“#$ýbϦ‡wU×{5Ĺú×Ů]ű“űL÷WŐ5ěVëA(Ψ×ö4<°łąy/Žő˙ł#`[ÄĆ€™hŹÄ]hlÚű‘ţúüĎ^ěFż6‰Gc]38VŽŢÓoăç•ßÁęYŃ'˘!ĽĂŚ µ‘§ä 4l„b>/Ő|uEż4˙?Ě˝†ŽÖO#›ĂŕÄ(ľ[˙˘ĽŚeq2óŚ® `2´™[?ŕŮ{kď–ŽG^ÚzĎW*˘Ł˝=ßŘôäć§QH‡!¦B„8”ĘRĄÎ Ž:NĆn› ŽMT©¦µáÁďÜŃő„ţF<_@M—c÷m]_Wާqµ´Ü˙ÓŽß$ŃŃ^$N#b˘ ďĹp÷Ľ]’ĄÚŇeýőůËs*2JÁaśźD5oEَĆň†}rn¶ĹĚ|óJRB 18†GÝű ·×¬čßĎ˙x V“JL:Ťx:‹5_\µ/¤ĂȤ‚¸$^…­Ě†ˇą)ôNXŐúkž~ćîPűCĎ–ĺâĐh4Č‹YP‚ @0,·pĎÉ*!4҇l&…ţGÂru©t3žW±ýˇçL·*ţíîYožĎ$°ą¶@#ËB†xd!ŁIČ I°ů8!’ťRA 3ĽL‡“ÝĎŽ«D!­ľźŇŞ[˙v÷˛Ttrď`ď‘ÇťUÍź•Ů= ¤°°ů# o şpOéű›0$ُ:Ř{ Ş›ő—NůšłŞŮ{«âßΞŔţ‡™mj]Ůźuł‹Š©Ź<˘N…xtf,źýÂÓ’άűµíŻŐ<đ¤ítËť÷lËÇG—9 ¤`J\8{úg9Řş´dÝŻM/»v Ŕ°Pi ś°l^B˙>QZ÷kŇËŔÎŁ„V¦.uB&—=uËJ$02«úi±uż¶˝ 1›I÷ýűÄ_7“…­YzH(hA’h*9˙.ÇA€°X¶î׬ż¶Vüęó*ch:m § š ňŕ ŇÂźE,I!`P"UŞF¶¤3?{‘Ą3kÝŻM˙/á9+q¤ŮőIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/animations/aptdaemon-action-waiting.png0000644000175000017500000000313412117271433026606 0ustar renaterenate00000000000000‰PNG  IHDR ‘tXtEXtSoftwareAdobe ImageReadyqÉe<ţIDATxÚěšklUÇĎť×ÎĚľÚnŰm+°mED„6TŔHPµbÔ&b‰†Dż`5ŃÄDâC˘A5ACT˘_LP!‘Ö* ÔB)ÝGŮí>fwçy˝3ËŁŰ;K× ‰™“lgîťýÍ™óżwÎ=wS„1Ç»YF98v3Ť1˙¬Auo<čohxĹĐ®eĹâěhfK„(5ťżqô‹ä7źJ…/:ĽĂO—G»6z¬\˙Ţě…«g]:ý¨JX–—‹†¦ă8ŕ/Á0´<ü~č gú?ËqÔ×€08ĽĂO—§WßIuĎ[Ń·«óMm‰ác0üÇAź%=;ŞCN2óAđ7‹d?ËĐKbcçG°BďđÓĺŃgŻ-‹,_·˝QIŽ€ÇăMÍF´™*B$ošGš-´YÉŁDţé‡|N‚?Źěwą†Ă;ütyş{>ěȥǡ94z‰Űßřąż¶!„UÉĚ›×v.‚Ď”ÜFoŰú*Ňëz‹ňşa(:íÚ%~Q)>î»wň> HEQŇŞ«ů0ćjŁ„ß\ŠĎs‹ÝÓ.Č沗ó|ëěi&üžRĽÂÖó étr,Ë´ĽlWś$ü‰R<?=y|’‰čy)[»eź~Ü쯦˙JăŻT»ń·~†1…řđą–ČÜ;:CZr¸xć¶ľđ˘uľóí·¬ăÔv)>AvĺÖ?eťüÉ^âźµëžPkšćHĺđ§TV­ę¶Îúç%wß“kżëŃh9ü¨^ťÖůŔ@?P|R‹{u¸>…ýĐ Ä ‡ň4Czb<ţĐó_ž,‡ź:)_Nüň]äęä«¶˙JăŻT»ńg®OL’K˝µ€XąXŔ‹déÎf`tläZ×Ôv)žŽ’7FÓ 6šaÍWrąDĎý]Ď%DňÖŃ0‘ŚÇ‹€idEFeňqÉ,á˛Y O ŚŞ¦–ÍcE$ýu ¨ xk@g=$Ĺ \~ęÔ9żµ MµjůŻ4ţJő·!-ř¶o1îŔL`ŚşbeČ”eXľb“Űv<ťp)pń YžÔČ €byš\ÖíxVf­·Ž÷RŔŠ5 cTEEDEÎ\ˇěx!Ćçi$JĘ řeP 4-CeR)\ÎŮńŞD¨N×Hń<ŠÉëCôĐéA/)_ҶúM±ĽÁ‚ÓĚŁš° f_5ýWĄúŰŤż•j>—í˙őČŰQˇtDäeEÖďŘ\/«20ě¤ 8Ą]Š—Ře\"™ť(e2V¤8Çr.‡Ź0óŮK—FŔ0tŤ„­B6Ô6+îŁ~‚žEÓ4&<†ˇsg±An0#Ô6ęöxµrř<ňŁ@}Ŕ*˘ăń8&÷1Żś˝ĄˇŢßVż«>Ů Ô?Xʤ|2ČŐ÷_iü•ęo7ţŚyĂĄ]µąä„´mđŔ÷;Ç%S2˛¬nÝ˝ąç ‰x}YÔ¶ăď߸ň]ĚÖ`ŢÍá¬ÎD4÷5_ŔŽ_ľnŃ•ź‰yž×cůSQS „şňâíř®žMkç¶‚[Іa…eYeéÂGŇţş€Zßľđľ9ť­ş[ÔÓC—s"Ď)Ż}2>ŁýVů‡¶ĺ­,@Á3 × Ü÷ů ş±—Ę˝ľW·4¬¦˙JăŻT»ń·2ŕŃßVąpĺSd;vľim~x^(Ú MnŰđ)Ńí/Qťb¸Â@PĚŤđŹ7Íh·xs °–Î}#|Ű‚Ĺ+-ţřŔ9«Oôo„Ź÷öőYüű»w[}ÁöE„Ëâ˱jú˙âŻT˙’ăĎ”#Đľ}űJ¶ľşöÖď_›Tµ{şxDČIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/status/0000755000175000017500000000000012202062656020375 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/16x16/status/aptdaemon-download.png0000644000175000017500000000345712117271433024671 0ustar renaterenate00000000000000‰PNG  IHDROc#"gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAg\Ć­ĂqIDATHÇĹ•YTT‡†ż{ď, #‹˛hP@4˘((AÄ‹IŚkj<ÚhS%jŁ1.ĄÇ$ÇÄ-U5âI*5Ő¤ÇĆ-î&*¸łŤY2˛ÉŔ8,ÂlĚÜŰ—š—öˇ}ę÷ô?ýç{úř?#< sŚb"€ěďźiň}§dÔŰ µ Ä‹ âEŚl·+5Ę`e=€ň3”Qr€˛Ú› —x&R.k='Ŕ{JŘ/ĚŢ:´łăWÂ'źĚź/Šp~Č‘#˛ĚĄéŇٰ'ë7łC,!ŇşŻĂktoSדŁLU"čŕW”Ý@ü褣T*»‹Đ(«” %€@á]!LĘéř4Ż˝ĘÖôáŇĺÇ :KĎ|•RűňfQd˛J: ş.ßŐS\s›¨Ěj>aĄńđî1r˘)Ó4ĐŘTY˙ăËŕ9ŕ.wj@ť¬ŢŞy|žh;4ŹAő©j‹*4’ÚŁYšŤ:·ß‡ ó„őŚęył§Ĺ• wż>˙ú>űŢ˝^T],Ím”®I9$ťQ«Ľ<+Ĺ-™ź??aRúü ÇF­šĽnQż˙hť\™rn´dTU^5€Ëäşiźş[şDýj¨ٞ9'‚m’꾼4kŐ’O%¨ţ¤íŐOťˇ­Łr¨†Ë÷TCjPÔŚˇ ÜŻ'¦+ĺ;^yřÝýŠËK5WTýő±eăo™™azăjČ{n{AĂOÖ9îgjYä ’?ubĽ¸Š7\ż˝g6 Ď‘›~i‰|:>˛/ł8Ŕé×»Ľ«n>|ďá×0:6lWH Xw4-mȡ'M­aÍ-xW|úşu\}NHZ©ábRÁrôę!ꡚ|đŃŃÔSz»ďüô%î::oµőĎ ]*4ĘfĐ÷řnÓMŰ!Wżź_…ĆąÝî˛c`5»îšW‚_”ţ­'hżóŐˇ%G/ÇóČž×ő±utĐ;ŞîŰäĆsłĆ>Ś-r«Zr9ňN̶Ŀʯq;ҵŇ÷ßWT( Hq´±ßŇ0HÓę_7oćČâÄ×ĆGD¤ů˙,8mĐ>^íŁ~ ’úʱĚ< Q ‚c ĐţľËż)şâz­–M` r˝mÎ÷lVu/‚€†ő÷`pçqD;Ř7:/;“l§­Çźln»;K|6DŹ˙Ňł„P!Y<-î6řĆúéű6Cěô°¨¨-âŇEůĹCŮNÓ¨s]ĐžgOh™ Á˝ŮŤłˇ§śžÖą k뺍ŕZ˘^a{…Ü·~ćůÍ'«ĄŢĐęTóÝűľ°ŮcíÝŰůL`UÉŰSđ9ĄÔ ÷¤aŇo}WNFv‚ßĐđěá_B˛Ěk÷BÜ4Żî‹ďăqMˇĎ,ÝžŔŔˇS¬[Aő‚ŻQ®…𢠼H#v+ą‘6hŢUúAʼnš?Ö w»şj÷»«šď‚cżę_­ÂDő7ŕŮęlp,µ»JŠîLĽ6ěôü¸ÂNŠ”8ˇŚ]8„o„*Iĺ:Ó]ĎšfŁ·´ő–°Pş˘źš¬Í÷›Úw;_‰ĹOÝ+ ä©°x訽P^•ë¶öó­źj˝p3K›vëh)«¶Ýýň)u Źޞ.;(úÍŢCĺaKśÝš`]Řăe—Ż­łĐ9t«ĽŤŢLĐÄYÝáuĐ7sHmö”Ýk6%%ţeR¸O†˙@1ĚýLn•Úî™ün[o^»~˘éÁ^÷ăăY뇝yS¬ëŘ. Ćü‹ŔKbɲP€iŮé?ľWwăRQË”ĆŃ{GÔ%-Ř[Ö79ĐnXÁťÇĄłŠc?zŻu”µ«=řăęő%pŤĽ˝rÇ®˙ř†˙+)kW´ Đ#Ú5ĘŐ©łÁ§ýŚoç ľ‚ETŕŚw]wZˇ–ĺy˛ˇ%íĆŰćxţ˝çźWČÍóĎŐIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/status/aptdaemon-add.png0000644000175000017500000000334212117271433023603 0ustar renaterenate00000000000000‰PNG  IHDROc#"gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAg\Ć­Ă$IDATHÇĹ•YPTEĎ{Ýý »ŮŃF\@D *Žt4H4Ł$Et4S¸„„ŕÔ¸ĆTa5ŠQăL‰cŤX:•€×R\PpL‰m#QA”ŠŘěÝŘÝýŢüŚůšźůĘůşźçăÖ˝đ#Ľ óRĹxŮ!=R¶n:¨RőöG Ślje¤ňy§ň@¦| d1@+Ç(źz§Č&Ďë ÔĘ>ž“ŕ- „ąŔň˘]=o_ť–&Šp!ş¸X–)OQ-’Cöľµ0h®ÁlP­Ď÷:Ľ©}˙Ň4łTů‹2š¸¬äˇôPřcˇHPî+ą€YčO(k”©J AÂgÂŐRwDďŞîş®–Ż–TÖÉ·Ôś=8ńŃěí˘Č4a׸ĹÔ·ËYĹý·öŹ źšłřPî•ëńwgÜŤ(h1Ő Ľ6< }mN 45kĄíŕóŔÇ(mµZťĄę©]“#őM¦öąh§„eţ© dŤ'ß9nPˇ °9łaďíŽrŐ˛diĎ1ńěGŞ{F)ľH)őĹ”e :wwăŤw?ÔDw‡ý–XµšţYă9 ÝĆç×ć«Ýşţů đL·—w|žŃ/™S<÷őžH»ĺŚľľuŔĺ¸0đ}?pZř N ?»2g©oi‰Ůľě8ö,íqXsžpř\vĆäać«IkŢŰ»ĺŠ!޵̒˙¤˝źŐ/ÖŻ <ţîbç JاJá©*nńžđ:ź€c›'@ĺ†{o»ď>đüUą+î‡đ­ÁFÉý¦čFą‚9˝1Á «#Ův{­ýZňĎë;?{w$6/5$Ő„”ŤĎ_Ť^­yEĘ_-¶FĐĹçqĐmä’ő¶űŢy”âë%Y}A÷ <<Ö™$YŕĹŰRő ľkdě hyŻőbŰqHĽ3Íß ]ÎÖ‡pçŰň× =‡Şű‚śÝ6}ÖUµr€lˇěDµ§”y«žeTNĚŰŃd ^gX™'—¸ŘüÁŐ_Î’báq¬Ł%ěôäw„ĐÚëůvČ~`˛zřŹ@3c„pwNť¦A†ťëî­ľÔŢąŢKĘĘîU¶ĺšY“KŹo"C9şôŐßwࣴh;¨ý'Ť…'T¬5qÁ˝‰ke¬ĂsˇqŽÍÜ˙"śZĐ”^‘yĄCÁSç=-?‡¨Ëvë tKŕOş&0n­ËyVŢ7˝ĹJ7Xľ{ń7g?¸yďžýŮňŤ6ď y¬Ň°ĹO|)ĐúŤí}„ â1OŘ ß0$XAý"–€vu€Úpt~~ç'Ă€y†ÎŕtÝ’?w§0šl9ÎóŕsV{Ć?$·~x€‚öWÍa’PFť_·  yđR`ŤiQW/ř–(Ť‚Q5R•ˇË 9=¤ü„›G­„¨Ł„ˇ§ rŤôĘÓa`nn¨¬Ţősj+ŚĺPŻlkş“­e®v0Ť3)wN‚{Ýłm·DhĽy#îpQÇLW¤µ±M[yPűk°aę˙ ´ S4GÁłĂůıÄî2UUOą>ňLZě"ˇ…eJ‹p‡T*ůI¨˝ ›2‘MŞ,!J¶Ń˙×3ŽŇČUž%sđ­Uźknj7řšĄ˝2Ě=˝>Ă9éďÎĽŇLד›léµňéw~ůîÔëťs*ÓŢ,˘óRŕű! c:t¬·„ötŰ÷¬‰đŕĚćË/vŚëpŮĽ$é˘,Vç Đ^ďŰčťÍné{9Á5”ˇżŘ‹Ńó˙śŰD]}„ĹnН̿z¤â|…éó±Ú™ˇ#ŘŘąpîěąÂa×o[(DIíď%ü?~É’˘"Pöscd…ę‚8VHO/ó„‰Âqý Ďzďkň»epŤZJ㪠ň?]4ăŹţŢ˙Á…¬—ŻÄŞšIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/status/aptdaemon-cleanup.png0000644000175000017500000000347012117271433024504 0ustar renaterenate00000000000000‰PNG  IHDROc#"gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAg\Ć­ĂzIDATHÇĹ•YT”‡…ż6¶pĐJ®1XAŠTĹĄQ#Z#®i­ŐŘşFÓjBÜ‚ŤIŤI5Ź©EŁ©'Q±•âĆ"Ű00Ě00Ěö˙}‰9§çô!oýžîÓ=ßÓ˝đFxfĺČRÄ^ń6đ‘j‹O&Čs|{´5 ÄË’d—Ča€¸[z EI¤5LĹaŇŰž ń®;¤ű˘—»<ĄB±0ří‘ÂÎIž=sçĘdp1úŘ1QäňDWž]»'{^ŕűşAˇ#7OzLNʞ¤TKŢU ¨VäČďʨ,P€r±Úŕ?ÔişĹ m *Ýú2áÎî‹›Š5 ‹ź||ÇtYţĆ8Ő&ŻFŮČsůň¬Ź^Ü*łM,~acÚŻuě;•üí+ą‹|¬^yW8?Ş\™rÄşĆVÝSYëäúP¦ű»»ŔÝa_nĽ ’Ó1Ý:X%žt€ďotŁăÂ@ý™&6|*(ă…ăŽ|ÍTĹĘ/d[^Ţj:Ý2·^×P$ëď;ôިkźĹ$deT寉>Ö»ĂzÝ`ĄB==h řNUŁęŃ˝ýKĽłAůHHôhA]2hárđ-x1$9^c^ĽôgR"_ µ—Ď!uČâÄL{(ĘĽ~zĐ(3ďőOĚďöWďŻűďŢsĎą÷Â˙Âk2-YŚP:•`żv“ÇX’őľż€#ƉWHf;€˛W} †«ź¨éĽ Tú¨«]Ł”Bg¨ĹŠ›ó4¸Î YÂT`ń±}-ď_|‘’"ŠpąĎńăŠÂŐńŇ,Ĺ÷Ŕ„™>Sę¤ő™®NWň«=r‹ÔwT-<çşšřŃÂQŔ‹VŠAj©šÔ ţ4şJ­ză#¬‚¤EÝćöeÍeMµüřNń?3[\řvŘ/ďďEŢöĹÍ6ó@”»_vY(ťp(&xô®ŮŮą‘·âŤ{dÎŞ-,3Ţ|ś^ŐwiA&ŻŐî·ÇnÚ  ŃhŇĄFĐ6Č»´ţ /ĐY˝F‚.1pAl=(˛3łk,Üß{yC–wŐ‚Š÷mWĄ´QÚ nŐbÂ…TiÜţč-˘}|VÔg‰i3˙|2îîéóĺŢÇ›ź%XfÂóĎ8/ö‡ćë­ŠŕeCŰzëpNî¸m›ÝějÝ|Pó_înY¤*ŻŞ@?/pÄFĐń< äáÄËTďIš|9[Ü4t‹íÔ‹”ĘŔŞŁľoŃđ;G"bÇŤ~”špĽ#­9łş‚Ú"BžCĎIa5±`“đP2€P#&‹ˇC¨ĺ"g_1Ä@)T^Ň_ĹTŃÄ;r‚ۧ ~ |íxŇ·n-ž&0Iý?yŁĎ±¦= AÖĂ™k4íłm U‹F>ş28sÄôľw’ÜË©u$Z îęţÔŤę5ŔP—§ó$¨{”ͮ۠ţ¬ v5:K]Ş‡Šşśn+ŘWv-R Ěě·_ĽîNý\o-µü-'€çŰÚŠlž~éű“¦·k.Mň¸ŻĄóe ®…ţą'~Y˛§üĐäĐúťpÁµÔd¨ÁŔyašZőń­G:gÁÓ/Ü›‹ŔĂ =-?ëIG¤n.xÚ}‚?„ć`k~u(q®©]·áßKś—ßýńwΩíź[žfüř[ ČáŠjI®OńžPőťŹĎîë‡T¤îőŽtŔ—¦ů|ĎhŹ >89>u?Ą^đâôó1 ýKS-5żÎ˙+˙R¨\üěLĺV0&φŘÁ^hĺ¸îhýiNţŃźŞ¦.^|řPU!dXgYuŐašČzĂÓß‹ťřćá˘id/÷®"đ›č3ßk5řÝőń5| öůÎuňhčHŇŇ!¤;t|Č3hŃöCK4´Ĺ´yµ®?łßČÇŔ]«›Łű;”Jf?ÚVqła_ý„ú?eď^Qđ·rĚŃbtąwNę©Čí–Ç_0mÔÝж «@·OČë/`}SŮrvJů±ŕ%řf@űşö>m' npéĆ›—@¶´ö(Ýő5Í=:›Áđ´§»±8¦Ž%RŠhUqá›ř«ţŞÂYMíŕ~N}*H¤Ź<Ň}sB[Ŕ« xbÔđŢk¬Ź2 = ćsŕŰ2ç -ř ЍžQ7AĎrźZťBôW _cč§NÍyĄ&‡çö^ćwĎp×k›ˇfPÍë" óÝ€”7ĽˇˇśoqĽÓ>·µ­ßťÚyŐe•3ś›«ÇTmŞáZníŞÎ)ßďT*V—}TřD,–×™ż†Ů‚MĆ)Pe{Ѷ֮4Ź ˙˝ď×ÁŮ ńśä• y漛÷ ďŰĆ6öłůow×üjŕHčĚČFďťë[ýZš;öŻŠüřüÖëöÝq¶‡‹$ŹŢ­Ć.t·\ý•2ĐĆ&Ö¤|ąbÚödc©QÍM@דŁ!ĽˇoFthŢ’Đ,ĺŠë‚s xZôzĎ0Ż M6Gv–¦—í)M¬XűŰý·Č'í˝ńp7é^ĎĽyK†ôfď•¶×»ňeeڳˏ×čS<ł=g­Ď żŢ{Ą_^^ďĽîĽÉ…÷͡c̆Čy·|I^^2°č­âE7çž×üŻÎ.:g<ëŞI5©·3«74nl(yvĘ>Ŕ^äř´.)0,04póW]ÝĺŻvĽĘóĂžl·ÚăľéUR[*”XJÜ„»ÂRaŠő8@}iÚěËřrŞIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/status/aptdaemon-delete.png0000644000175000017500000000345412117271433024321 0ustar renaterenate00000000000000‰PNG  IHDROc#"gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAg\Ć­ĂnIDATHÇĹÔYPU÷Çńď˙Üsá.\dW‘MY‰Â€  ÄT˘D‹­DM‚kÔjŚUѢ“ ę¨Ń¸ÁZq&q©¶ĆtFEíČMăR—¨HTTŻl˛\„{ąpĎ9}2}lßú{ú=~~ó˙sÄ›ň~–” :Ô;@±Űç¦ß€.Ël÷yb¸/] ‹­ę.­@˘mĐV3@‹SŁ´µĘxőž+´ ŐÝu ”łâ Č–-ęx@ěŢť›+IP~ü¸ŞňC¦nŽęó§Ił˝ršt%ŠCÉęýJ˙ś%Ú;Ú :¨ă˛¶đĄ#€@˘VĄíš„?m ­ŃĆkýđůb€nI_ČëíŐmÖ- ŻUś,±•ź˙Ëč'Ů_J˛î|U˝+é'8gX©šô"f`ꪬcű&GŞ •+C˛¬UŐĂĘ×·˝=n OÓďr‹÷;îŐn;@6Čëtp+Őźv+ýăËX0^íż`ÄP§»Jś˙€»ź•9¨ß?ąďďď)YúB^.'ŠŚózYŮčZ%ířçŘÔô·s}÷~·&Łŕc˙ÓÍUŁ/@ăŘęĘ˝ ×Űét¬ŹńşIňgúąä[r–t Ś4/˛„)ßsjŔiđ 𚙆X‹Ő/ YŁÔÄOBşZ”(GÄŢéµg*Ž^ęvY4GÝOąv(bÄÄń•ó 8n_Ú^R˙tF'×ßĘPF<-BĽŻűž˙Ü×ŕW7–§Üx ]Sě…Ý@úâőhi2©{-~ Ů^ĺť+Ý;z± ”›˝mör0,ÓgĄ‡•bĽG…—äËŻçľJ~ľ$`lů°‹#KVÂđđ”]SÁđkw:,ąnCŁ­µ«ů[řĹ\/5† “QOß+ű™.ŃSÂ"ZĹ%öK3„x‘"˘AüNTŠ`TŚ5¦"°Ś÷lĐ?ĆtýtŰɦľ_Ë]5m/.LKzuÝń]ő‚KÁ·#żJX‘ĺˇ˙ePw„ÄU1DŰMWşĘZĘŔqXőpχֶg~ ›ŕ™VSQs i†ˇ†‘ ź’˝ĺĺ o–Kĺ» •é.HGŔ,›ŹfAJ]Şi”¨űĽO…Ž]f˙ᯤÚę—Z‡Ő 55MŁkÇ”‹‰eMß×ě˝™ď5ĺ™éÎĐłľP×ý¸ř– ¶÷%É&ű0~iüî7l\Đv Ň×˙„ĆÝň A}ÁźúÁŔ1®ůÜ˙ýţ<ż†WŹZcę~ŔńĐçá•›yíüúósĂí [R#3ŹLĽş~äŕŃLxťĽŢ5Ív˛Ö\éÚ6¶BŮŤÚuťľ`ŮmŤěŹ–űč®í^ko×[}ˇî^ŕjí+’‚ŔFçôöĄĐ“g˙\K[¶-M™ÇĄ¶msZË ›ĺ7€†=Ý‚č/nK.é€ŘhŢŕ™ď=źőâ÷ú çbC¤MR Jí •â@—çóÜăś8Âj–’VćJŁ!nh]jkáĺąĆ´ź?ćoZî7@펧J×6[ţвşeÉ˝Ć7€5÷洽Âś©˘JŁŰiZíSÜršzŢç Č6Ýa]9¸=j:Łú‚¶‹"9L †ŇĄ`ŘäŢWM_´<ř×Kč»Ń›çŞK¸Ç¬@?p>sľ­-óLó% Ô8ő šoÍbśţ{píě©w,´;ď]ż=îJĚąÜč9b×µLQ!Ů„S`]@sEç}ýćđžĐěÔUňYe±şÖ^ öbűO5ŚOÜK€ĎÖ~ÁA ĐŰ‘Pwú–»ć:KX'Ž 62˙8<;˛µß_6ߎv{ńš„GŹÎ^îÚ˙ĘŐ­#ÝŘŐ9ô‡ôSb‹OäŤ ť–JŘ"¸Ź^Ç3{eOn}!µhő-Ź= „¨»ĹMhťßVüđ>PŞžbç• Ĺ_uńIŁ@ţ:Â˙–Ź–/Nš¶Ô/çŮŮľ1O˘‡Eçîë řĄßĎ.u¦zV)ă„bRWiűQ”-Ч¶Ôůʵ?¦Ţ©˝!Ęa~[Ąţőiý߬k¦uŇÜÄ˙}`fičEp˝ëęÓŠĽndi™Ú›tD5« ęfË@ '\3˛’ŹĹ(óÄj˘r1@ ˙‰˘Y‹-ÓťÇnmÄűż>ń·@•TÖIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/status/aptdaemon-update-cache.png0000644000175000017500000000354012117271433025376 0ustar renaterenate00000000000000‰PNG  IHDROc#"gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAg\ƭâIDATHÇĹŐYT”‡Ĺń˙÷ÍĘ:D\Äť¸FѸ€µ”¨'.ˇbm”ôÔµ1Őhc<5-UQ«‚V±'M«¨‘ćh*J´®â.EȢ˛Ě ă0űĚ÷őĄć­'Ź˝O÷ń÷t/üź#Ľ.ó3ÄÉ)= ÔŰÓ@‘äoa¸8Jüü@Ú#7Čńr.€ĽžLy¤” ěź =ň˝ r•¤ńť˙yˇHxXő÷ý=?öîÍĘE¸d,.–$®ĚRdKá‡f/ÖżeŠRl9ęwú3<ůŞfVČ3ĺXzhâš\DĐĂ߀¬ToĘ5r!`"±€ĽAž&ëĐ …hĹ o?ŰÚîZKëç”Wť9j­Ľp|BăÜť˘Čta˙¨%ý¨U^·«‚šŮdžÇL۵äDáőAߥT§W÷+j}TŰçć\đ˝é1»Ô š úD˝4ušęOA˘Ü¬čµMő'µTCR! Ő°l„ $żŻĐ5ţţŇƢćśú‡ťW+§Ş·jZÄq–+Ň †n{g%çNYůó®%Łľź±ŕ}ŐŔânĂłq‹ˇ)ŻŇW–Ýw;nÖ/w‚­¨c%řw9_tľÎLkNÇYpŮ{Ą®ŕMőlsŽíŐČ7’+ `ˇ>/& ´÷§=żŃ˝Ł”˝âşńŰ_浥?76N]ܶlRĽéFę†E‡~w=*Ĺ˝Ňz´ĺ AÁŻ‚“‚›Ŕč=îŞ"ÄrEPA‰¸Lń¶áTĺ6G{# cč«lŮţ~ňIE*¨Oiâ´ëˇOFDĽ& "?qĽ_a»4߸®â¨~p«ôĚ®®ŤBQäŞĂq»d969©`ň÷0|ËÄ=ďt€î‰¦Íű6Č!Ň:o1HŤţĂľ*¨ZÔľ^¸•Y]ËcBÜŇţ_ pBÔmýÍ?@{Y۸ l×:0ă:‡ZBˇymł©Éš‹í‹/<Ć)j›KľATö6X¦żřvŢŘşÁÎŻjs®ĆÝ”ź˛6#Xő8¶7A h„™’ĚíÎłB0TŽ´< Łú;<¨"˙6!`3ČëTYA:čă´x˙ ţ o¦­ ’źőĎÖ%B˙µ1yŁáü‡—¤ž5=WŤ˛«ar~Śb–ařKńym›ÜĂ—Ň· ¦ Ď'U é—LçöŢY­ĎlŚ~xň˘î.nź¬?Cü)ű¦ óă¶„—çŠp@mŕ]˝~(1R|>«=ż»ÔjUłj:D Ő×–;ÔÖ¦\ďĚNzŃ U”•=~,ËĐw‚ł“"SKĺ sčÓE™#Ś?Ń›ľÉxÜ‚x"đ„L=60RB8ř žîJŘ®J˙yąZXŽű űiĐj5í*IX÷4˝í %Ö%ľ˘ö}ö_€`Ć‹ĄâakPah|X„ŢOž Rľ0VŇ\…BŰ–ö4_"XĚ˝7<—Áj´Źő„€ÓÜ›h ‚>Q†/#2`pÝ€cFCÔÓůşpä:Ź;ö˘< (§ĹüŘđ(Űbíyů©đ@1D±,pCxiśB 1÷‡ a„bˇÂ ňGž/ěŁ!v°öWŽ,čťm-·ÄAýÖÝÝ:¨ű™)ĆůK¸ż¦.¦ă4tÎéN·UwŽç–»ěď9ďąßĂîKó+Ąóî׳0EUľÝ®ç$‡űQĹ˝„‹Ů÷?şýŐuÁlkm=\µÔ]ßµÓę¸IăŔ_ÇM1´Áđ•}Ó®‚,yě‘P—Öžël†3˙.źÓ2Şć6*;şŔâčŮo5ÂłííŁ_•Sm˙Úńąű­ë™Ę˙ţ·xP—î¤s‹5˘§ŰQ°!Ą®ľ4÷šm÷(óë&ę´Ź]ŤĂňŚúä[ţ푏ZĂv/ďůD· Ú˝L?S3žĎhm2ߦTsµ5ŘşĆ{" őŹć|1 \5A›ĹRh;j©uy–ĽÔv‡öÎ8śđĂýŻĚ›´˘¶` ¸sGś{Ô3BŠ#ʆÝÎ)OüŘ8¦OÁg×ú΋Î_9®łĘ-%ÇU7ÁľŢąĐý[ü:»ú; ŰO­'zÓ›ŢÖÜf™÷éŻä˝+…—)~ PŰrď`i ě—|rRŽ˙™cµ5§'©:Ď÷µ\.«+›_.í6Ű F·0[Jő6’č=çv)ôľťÎ›ö·Mć©/GZ/[‹L}{Ú6­ň§HäËĄĺĘFŐjĄß»ď?Śd,ďµµIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/status/aptdaemon-resolve.png0000644000175000017500000000356212117271433024536 0ustar renaterenate00000000000000‰PNG  IHDROc#"gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAg\Ć­Ă´IDATHÇĹŐkT“‡ÇńßóďčÝ 0Ňéw M€ăăiăř!Ŕľh˘kÄ0)vOó=Ŕ-u>›ĽŻ*B⏢s>SA6€ŽC»cŤdŻ…ľA˙¬Äüµ~ë |řQ[WüţŠ…†ďVćĄ_<ţ8 Á‘3yYבהW´×ŕŠrÖÍ%QűI©ý‘Kô:uEV# łéŰĚ™€3ÝuÓý.ŕa®óP‹'•ŞČp`álTśĚvŽ}˘9 Ěmźk¶gaVcţ>éÖaK>Q!ŰóEčiŽ ŽŤ.O~ÄY^şiĽŚ9U÷.{Őů 0^gąc­‡‡>`ßúË’m€;\Đí8Ĺ\$ĺČTö(Ó&ASŔä‚4 Ş@AóŰľŢÉWŹ‹q´±ëu€Z=Y: ő=kńW—Ú;#(LY™¸=ŠĎď7+h`î®»ŹŻšłzjm€ţ2ŕöOw#'ćĺđßî»OÂdzż;'`]`']íŔxˇ]NĄţ]~-ň* {ż:ěI#`‘vĘţú°¶Ęĺďř‡ýŔGßPäńfr°[ĎŮpť} Ő’W¨‰ő †Ú-uŇÔ¶dŤŞçŔż¬Nžô©nµ\D˙),Ä÷°ôi¸—· )Ą%ÂT€·ťŤźm^úęÚMĺs•Řćµç ¸ý®dý‹©rĹźËf<=”Go¬˘ęë;;9Iš3ˇÂ  ç)ŤâţôÔĄ&4.O ^©«ž©đ |ŁŤëS€)•3›.b×6R7ę ę™~€ŮË\c–OőżĐjűw3úcŔ¤{C”D‚ľô·ďwý˝O:r^#±ÇrźyÍ60ĽWC4vÖţk€­¤‹ĽD‰ľö>äăâk˘N =©\’¸]ö\ŔÚlřÖT °w„il:ŕwĽÍŢ&NűMQ[¸j`ÚĘ–n¸űÜĎV€7Ď«¤Ž1…Äu˘€p!˙ Ż#Ë: xěJŰDtQ1Ôgž~ÇĂÄ@Ä0SÄ|˙97đ2¨ŚŔ|`hÚ¤¶ř®<Ńő@ţąě8 üV” > T웢˝€WžG Ř߽޳eć ]Â;MŻě«S|®x {P˙(Ĺ;<ÔŐ˛ÜÝALh¶źy2)ZüÄ’ ß§=ĺ:¦k°ŢrĹŕ™"#4E9N=·ŻŤî˛Il<kúť)״߯W"ăÉbĚ™t mĄ÷ü ĽŮŻŐŐł6Éď~R\Ü”ő›kkmůŠ»‡ţ÷ëü¦rÔ,†µ 5l–ý¬-Ź,Jľ·ßőzĺÚüÄ3™Ë|ľťH쉪?hă”?5‰«uqČđâtüZŔv…)ÎÔôtP5`:FÝq» p«&6Ŕ/É˙=‡Z ô¶ĎW.^ŔĘś *FďSJ%éÜëGż~ÝÍBš{µŠY©űwlţŢš$á‹9†’Ń7ŕ Ś‚Á0`ó]úĆň î‘QÔi wÓÄ)¦¨ÚřęĽÝđN‹Źx7^×=”’€źĘ}ź:d&•QLdNÉfcĎK¶úN#ŕ”Á·Ţí~ywšs“Ą…ÚZśŤÓE·Ě>¦¬©Rp¤»|V#kĚâ p:‰%ë§€%۲Ýrřîv· ÷s`ţwfĹE€ţĺ0«‚÷|o‰Ňa}~Ď! ”'űŃ«y9wXř500÷ąË; g+-»¸‘,orN5“¨®ßŃ«l>TŮňpNß6uE˝07ŁÔI ,LqÎŹ€‘éůE뀖ś9‹¨^ ű겾1UĂđsŔăŢĘ(Ú0ÔăÔ]}ňĽy 0Ú?~aňürĂ‚a•÷G°ÁřvI·‰’čkTŠ{Č9¤cô(ŁëU*]ÔPL‘Ü «R]o)íj|Ý^-~z®tëm:™ůˇ€~ HäС,¤wm ť;ß-SőeE€Cô¸ů‘X8¬Yl;´ĐÚne€źÉ/]v p˝,¬ćĹ€ikT¦hŹŃT]]WĂËŁ&QŞőeÉ&„{w†îX±ôŠuIáÍÚ—aşđš ¦:Zćnѵ⸾q ¤Wt^WHŠ\ň§ÇÂ2·K@·Â^Ěúrîtłť ű™m}˙Ň|fxľ¸Wń‘Şjň-ćO¬_†hüĂůß„;ŃFÚČĎłüBaËaü…ŇrŚ–ŔXdúÄixMMÍ=zKŹßFôZşFŔĐ8˙±% đż%8¬-˘Ú|Gő[«âĄh§›z>.čÍůáw6ě{đ~‚•Oř8î‘'îĎoĎ1Ľ‡ĚńŠZCr<)®öÖ›ґ@+ŔŘ„V+źŤţ ‘| [ťé¶?ŘÜšÄŰzÔÓ–{q_ľôŃűÖř˙„[V\tt¨łÜI§P˘Ę§ÂĂOÄű±»Y&Ę5ë$őł€Lx×P/6L´łO†7Ďo1˝k0ú?ËSŻü«í]ĺźGCŤ:zÓăQĎŇ„=ö t?éRşMjă¶É¬Ů;€f˝öÄt&†§*†ĘÚQŮU2ĽÓ¤€˝±Čśź ŢŰćXbJر°gQkť_ąü×/vţ gŢv]ť˝¤Źęzµfť{ŘL§>qIŐCŹÂ´S•›Äi•ą­7&B\eNîÝDĽďf÷,')cĹ°Ž°äČń˝‚7”ĎTvĐŠÖ.™];›4?h˙Ž:j[bëĉ0ăŃAiĂą9Ą¬ÁíW˙FDďŃ wŁ:‹§kÖ7źň—q_VÉMdąëţ¨ç7FĐĽ"T!ëqď›–ě¤lO&…l˘Â‰ŕ™>ăşE/đ´ë'·ÖŔuđ©&xúň›eŽęĽ™čę xV…»ľs (‚"]ň ­WíĆŔ9KľŐĺR«úű‰XSăáLí—†ŐĂűÔ-“ëMŢbÇţuë´—ř٨E[˘w\L'&9Ćž'šQ•6Fź[(&Ó©óÄßš”˙Ö˙;ô^őIEND®B`‚aptdaemon-1.1.1/data/icons/16x16/status/aptdaemon-wait.png0000644000175000017500000000347512117271433024026 0ustar renaterenate00000000000000‰PNG  IHDROc#"gAMA±Ź üasRGB®Îé cHRMz&€„ú€ču0ę`:pśşQ<bKGD˙˙˙ ˝§“ pHYs Ö Öoyś vpAg\Ć­ĂIDATHÇĹ•[P”÷Ĺß·»,»ěĘ‚ÜDTTQ'*(´(ŃńJ˝4i˝ŐKÔEtbm°bŤĆ«LŚ hR[Űâ5ŢŚ1\$T‚aY–ëÂî÷ďKM_ۧž§óvÎś™süź!˝"‹äĄW)Ž;íŐĎU‚KŹ{ Hˇr¸|€2”Ăâ'1\ěŰ™ ”`ńŽc€RfŹQˇhíÇ%é´´Řđه–9Ň$%É2|5"/OQ¸ŻZ©¸ź»Â´Č«ŮK•žăču$ô˙Qcfť%†`ˇž;"Ś…ł€‘*€‰â‘Čš%O^‚Ř!fWLRšäŁZ70´sS{Őˆ߿őMĹźs:ĘŻ|]łŕ ,3Sú0|ŐPĘeÍ€­ŻGs? őť‘µ*7» čnDĺë•CO7”Uů-űÄţ–>'ĐDkv:mµ¶Ä)ÔjővU8˝Đd9y‚&U×dśşéŢ©ă[@ŃŘsúfCéáŻ2N»šSź(m˝ĄZ㔡}*G^IQ˝~|ě{rWüé1»§Ż˙e۱ á÷â–$kóÚ˝źDŻ€úĺökÁĐ^Ňt÷ńR°˝°¦7műžŻ[WĂ@F—hNń˝íe3˘d÷›ÁĺMď©ăü@wĆ5Ä74ˇŇ9[Šk˘ú{M®Ľ7ę˝Öż4&Őy›OIçŻî]óÚđćÂi;–ťř]W„m}GÎÓq1X Á†z°ňúŞbé¤*¤gr‚Ľ¤0©÷AŞ•ÜĺŞÍO ˝”Âe Čuę Úm€'gĹHh®¬ÝRę˝ÖŢîBz*zŠbľLoKSw®jŤ4ŻóšV>ć検-:bĘáÄ&pţ‘†îX%rÖŔ_Aě·‘űąĘ%e$0Gs8€ZQáX"ČQŕ8â¸(U®‚´T*ů6ÚĄÔd„‡Oą´†ç=1ÖO[Ăt$UKłL’FI—TU©·ă6Żľ–ą)ÁŕůĂî‘:_(CC@”‰lá TóąP ý†Ĺ×jî>›¬ĚÇĄDéU\+ťUľhéżbˇÜâ M±ŤçźŞŕö•/ď˛MčŚë•™ąÉ?·€|nŠâČ%.I®‹˝Ě_L‡Üvym8Ą¨Ň»·ĂÇĐ2ŁK¨6CÝ2-±łÁżhxqČ.0·>N,Sż¦O.J…Ć\i˙h xÔŚ¬šV /¬-ţM[ş/ß˙¨4ýŃÂŤ;ä­[óň~đş_'˘J®ŞĚr¸| 9ptZ)ĚAńżO hu@â@µoŘzżqŕĺ§öÜĂôĂ.ž‡ä˘ä’”]ŕ9ËŁŰc8Śă˙Oźlp}ßř™ń9¬Řł˛&y,D‰)ŃŻ5¸ĽmP鮩Ó\lęWCôüH÷jĽĄ˛]>%e¸ě”ć–ÂNɬ °˝ q•ň€Ł\dtúĘKígŕiç@–üşÚ»b¬űA^¨ž¬*·_¸˙Ęď ?e_f°@op_\wŘžôöĺ‹O ' 5.›„§üoýe+_v‚ó%Q+•¨BTkôŰÝóý-`,ńť7ćď`Ľé;&ä·0¨Ř7&ä¸~ëă=jHăäŐ`Pî(J*hUÚoő)`šč{xô Đ]7Lróa”ZĐ^ŐZťçŢMoĐ‚W ´HÓ5Ŕ~¨ďiď[=¶˛âÓď†\N ^)-çž—ŠUĽC…TE°OďZýÎ9ß”Ż;L5±…NŁó•‹Žg|jĎ·_´§‰ÂGă+K‹m-Vמu>÷4­š&őKM€j­óݵÎ5 §?˘?úgüWµąžëMďliď9ľ#˘şúňľ;]‡Â[-Ýbőkű΀î®M˛żš>źÔŃÉqA!Qsç¶éţ”5\÷¦vµóÉAę}Îó‰•uś7_ul6]1|÷›*]šöc]Ć,ô™ş<}Šţ;}¦ŢĚőźĎčżĹFźM¦µ{`Ô¶Ńň¸řĐwűĘ{»fßĘŚ(™06"×űe®ÝŹ©?¶0lůäÂDżâ_,|##1jůä#‘›š[¶5[DGóŮ润֭U˙«ůSç?›—3×Î:sţFCtcĺłcu×ëׇŐ˝~ŘXm(2ݰD+Q÷#íćťV7«ŃZĐŘV×Q×ôäëo&ôź·ť¶í»Ü3>*´&ěă‡^˙?ÍE©[ĆIEND®B`‚aptdaemon-1.1.1/data/icons/scalable/0000755000175000017500000000000012202062656020033 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/scalable/status/0000755000175000017500000000000012202062656021356 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/scalable/status/aptdaemon-wait.svg0000644000175000017500000005030412117271433025013 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/icons/scalable/status/aptdaemon-update-cache.svg0000644000175000017500000015116612117271433026402 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/icons/scalable/status/aptdaemon-setup.svg0000644000175000017500000004437612117271433025223 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/icons/scalable/status/aptdaemon-add.svg0000644000175000017500000003651512117271433024607 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/icons/scalable/status/aptdaemon-delete.svg0000644000175000017500000007034612117271433025321 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/icons/scalable/status/aptdaemon-download.svg0000644000175000017500000003730012117271433025657 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/icons/scalable/status/aptdaemon-upgrade.svg0000644000175000017500000006047112117271433025504 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/icons/scalable/status/aptdaemon-cleanup.svg0000644000175000017500000006316712117271433025511 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/icons/scalable/status/aptdaemon-resolve.svg0000644000175000017500000005510412117271433025531 0ustar renaterenate00000000000000 aptdaemon-1.1.1/data/icons/22x22/0000755000175000017500000000000012202062656017044 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/22x22/animations/0000755000175000017500000000000012202062656021206 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/22x22/animations/aptdaemon-action-downloading.png0000644000175000017500000000515312117271433027446 0ustar renaterenate00000000000000‰PNG  IHDR°`ň­tEXtSoftwareAdobe ImageReadyqÉe< IDATxÚě› TT×Ç˙ďÍĂ#‹ "`‚+j’Ô¨u‰ZŹ)nd©rÔhr,'!1MŹmÓ´iŁ´ÇÓô´‚š4¨90"ĐâEqްXGg€Y^ď}Ă Č0«Ł¦ĺăÜó–™ůÍÇ˙ţď÷î[†á8CńřcŢ;îśšÓ›}ÍĎSŠĽZ!•†pH‚'Ăh”ůÇ7˛ˇ3hův§łŤ4%˙Úß~440ţß ü}3 †aPví(ştj´Ý˝†ď2$N~Ď)ć˙úŔčgŕ«“ÉBć kJĘú s/XâćŤÁ’ójÚâŞCY‹G?ë„kÉhÎpűNćÜ„>ű$ĺë*}íőđAčúż^˘¶jUŮ4JĘ’±Ä˛Ć%`Ś•‚!ŰŚ›? ď†Ř;>\ #ŚfłĆÍ:şŮZ…pkĄ˘9̵d4g¸ ç#g=/˛â‡ĆuUľ®Ň×?űBצU@Ó,Cuá'P4× ËŇŕ0s…¤yűńK‰—?‚ź{bż¨jň°09 ů{RűÁmáZ;t:õÔqÎp-ÍVînešˇíýś€ĺ` •GĎéř¦ęRö{-‹T<ĘČJ‘â3§¶ig<Ę|ĄľöřAHV†Sčš49XˇŠú2čş»zŃŤú¶wÖK{sź,Ď~Ń[Ú?\ڤÔ]Řź¶Ž‡“Ý­¶p­ ˇjşě0×RÇŮĘÍwÜ7šRaŐhkóßĺŰ”•óŽHľ´É°Đ7Zçqč(l\ö!)">O=ár ŃŐ㮾 "w–|†Á†•żŕEŇj»q¸ŕ3pJeń`ýćŞ|]ĄŻł~ řĆkŰddT‹Pyl;&Î{ˇń‰±bĎŢnK›f±´s"Ülmî!tż­\KBŘĘ}+{#ŞÉ?LJĆzÇý¬2 ŤtŢ0dłoĚrŐ—r‘sů+»Ť–[Ľaő7& ¦ďLÂů}ÁopâÜ>$Ä-AUK)ô¬ś€čË݆QB,ŕhívňť,žő2ä—/"Â+áW۶îÖG™Ż«ôuÖü˘ąö<˙běěu0(*É» =˙8]ęůmkĄ=rúRČKőű2sÜ·OlGőÍ:›ť)ĺ;{·‡± BăÎ ›{ZŤÝw¤h/F6´ šď‚áá¸Xëm—Ń*.•#ĐŕŽ1j–ô}oęRĽrč]Ś ŤF4 d|2:´©k!’Đs†ö%bfCy[kőß"5rääďQçë*}ťőoŕëůÉ•ŔŇm +'Ą÷Ű6ÇťńqäĐ9ú?ŠAą/ŚťYsµ]'“ź‡[KKoÇ ¦ĂĎ’í2ZÝ5,ę`Š_ÎÚ„÷‰no®ú5|=¤hRWŁKбĄAîc$‰D摝xćZäőéVą®Č×Uú:ë–L„™ŕ Éü<"ĂČt%p* é`‚źvx‚Ő9ȡ†żŹ‡€2ă.ŚOÁ(żp^;ť śmĚÁŮë_…`ű q´öOPioây!”w•‡ţĽ[ÇXĘ÷ý—2 Ż.AcËUľă8¶› [ŇqÝĆŽKX˛`JŘľăęż•cˇNb1_“żz)ŮE»áÎzóFSs·ŚF#âŇ|GDńF+ţgân¬ę`âF?˝K§¬BVaFűN‚ŽQCäfĚÓÇË‚ćăxq.–Ĺ­B›ą®Č×ú:ëĆt+™LÉl›üXBĘł˘ĎUbZľ˙đú—8UźM¦(ď]G˝˛’źBddýŽLÂď_·6ť%›ăšâëOühîřI}ů a`´¸¦’Cm¸m+|…ĐvQTśÓ^’¦őŕrŚYîm2Žľ óá+ZsW_Ńš4—! ·˘Ť•<ŹĚ;Őص3ý€~Ł-\UŢ :ÇĹ iÉ&”¶ěÁ-}"ˇ7¦¬Âáś,x×4 VĹm!¶ÍV.Ť:©Ľ=1çníçMülŕJ”ź‘Ł±ěZů»¸®Č×Uú:ę¦ďłν°â-´×–ŕ¬Z‰27·ĄýLc6şő4¶W˘˝łËĆoá+˛©´gţ]}»C‘r:M»Ë××É|*CuĂ&!ZëşfVeéOšą >€KŁ@Ő‚Z__«·+]Ç rˇÝ,—Fi÷]tډ4k4U} žľühµ±—KőŘĄ¬Ă‚ʼn@Ŕm„ä°ŮîŹcą±9v9®ćďsëŠ|]ˇŻŁ~`„‹Ý<ŕé#ĹC˘1¬SeWi?s©¨«ýŽâX_ó>Č5µif{Z=tF¶wĂśyăҶlD,¦rbś,?Fľ'ź? Éś2.x ĘÎź†ŻVH«ŽĹۊ渴Ĺz üb ”­íëŹ1ńP6©đďĘ H3ÓęíĘÁ¸TŹ!18Qôb¤†äĺÁň Ś é0×ůşB_Gý –>üzŠĎL¤TćŮ|2P]SŃzj»6Ń|Â÷ą¦XA¶óŤF!&& Ńh"qć4üôbŚł*Ä@.Ť i˛A,%ç+í¸+—."uÚk_ŞqűŮ÷Ş€EfńQ$%&!S§}ÇwăŐQqŽ*«†0ĎĄ1‹ěçÜÜQPËo'ÇŕůŔ°däş*_WčëŘžËc4|éşHâ 2µ-“Ú|2Đ,3l"¶ĎĂ)rMmrŕHČ*N¨WŞ*°ú©ů&ŽÔ^něđH$Ç$ tś©˘;ž‹µŃ ’†;ĚĄmNÄ$$ŤžÂWË‚ąH5sÂ'A(rsŠKŰâČ©$S6Úč:Ýç,×ůşJ_{ý ěS‰ůËbźPÄ^˝ üXŁĺK;ťó4j.đĄÝ4ç™0źźóĐŇ^Rd(çËr˙‡…Ěrűň׉¤ČřúK¬ţÉľBě/ř¦ľŚ¨q†‹ĆA&˛—Kcvđ4t{†"ż8Źß~eü‹5v&ş9Npi,"캲ύëqI=G#çą46öý —‡ëŠ|]ˇŻ˝~Ďđ8-q´ BŹŚĎ»|˝ądýÉYň`Ą]×t C&y›‚ăî?Jd ×Q Á‡ŤëMíh¨IGŇYuç—ŹŁ†7Ď_Ĺ^dňGž‡ÁőíYî-íť’=ś|Ć“ťŻ ôµŐĚżČ _@ÝM&(đ&ŤŢ­ Çař,v|ČdfGâ‹«ČY2Ós–Ě<ĽŻM×É,9ű‰¶ĚĘł®fąô ]Ď[ Ďln%ýążčŢ$ŰôĆx'ÉOç,—4ĘĐĐ[éCÜď×?0öü¤(ţmŃJ‰»Ç§?]±^B§üě@ş¦łS˝ćtšö †b(C0öţ&nFŞh]XHřţÚ]KCŠąKfC1O¬iü`‹h]žüX›<$áP<ÎřŻ‹˝k7MIEND®B`‚aptdaemon-1.1.1/data/icons/22x22/animations/aptdaemon-action-cleaning-up.png0000644000175000017500000000607312117271433027345 0ustar renaterenate00000000000000‰PNG  IHDRÜ«)ňStEXtSoftwareAdobe ImageReadyqÉe< ÝIDATxÚě› lTUĆż;ďW§Źi;m훾 - ŠŐ.˘DŃ ®ďdŐE YMł«‰ş&›5D]vă"®»VmŚdUP|uqĄ ­ĄĄĄ­}LÓy´ÓytŢwöś;-ĚŔ´e:\:‰=Ééť{çŢßü˙ß7çÜ{Ι2@óeľĚ—+SDˇ;yP¸”lNÍ’µě©ýţĆHoĚsçąóÜ`a&ďp“ĐÚ×ű`ęüă¶1˛|OŔJ˙"$†aŔ}Fš ř=$hńîo‰ô˙€;§tÍ6ä-Ş,!5l OÜXtŕ&M†:¸“ĘoÜ Öô#yDe9°źŰú1Đü)nĽc\†V|÷ÝG(ĘR‘SüAňÄą VlDÓ7„%3×Ř|KQVR‚Ż>{ÚÓu`4é1sé~wë1ŕŢ-/â‹0n¸ý0äů;޸|éŔ‡o¶á>Ćś¸íîGŃvö,†?Ô˛µłć˛ä:Şˇ&k1ÖŢľ‘húXs K+‚¬8ăĆŞ×ŕď©ĺv6m˙‘ ĚĂ:δ±Q̆)§cš>#l&nK÷VßR÷H|îqCzX¸2°=Q·nŘ+Ą»ŁU×=É Ź\ľtŕĂ7±TFbtp±;F¬*‹…€¦x>˙ňDÓ[PVś˙||Ú¬\rçPĹ!76Dd ÇĽ»-s‰~ŘĐč‡8 H]ĆM»0“Ó¤ŽŰÇ8Ó0ńZłöű€CŤś˛łâ čůdIµ¤š–”–sůřîúÝkłŽ—/n¬:„. |›,MVV-…nĐ€ăßź‚L)ťË˛XZQ Ť6ÇNÂi˝<ńňĹť…Lč/M<°ţľ§aéü2ěěł]ÝČĚŽ)†† (),{_]x#×í˝[N±pĆeȬ]f«ĂÁJ`ęo'·ĺ2D˘¸Üí»˝Ĺyd`ëĹéŽn” A.‰K.ź:đáŰdńů|dÜ҆ÔěR(2ĽPą’đĹƵ9=h'ÚVmYŹú^,)ÍŹ9^ľ¸łŃAt!\"U@©Ö„»övRź{M]xú•áĎłéŚËíˇ\c§ y%9Č}&-Ç ;V€ÄíE×D˵˛#¸ďĹ*´}7ŚwcŐ Ő݉._:đĺ[hÉÎwC[-ByuúöŰĐ7čFZQBL\ĄČ wˇŻëŹaů†¸Ż¶ -‡F ¤Ä%w6:DhprŇ4SÂŽ{ŢyđN¨s:QýlNŘű©ě>Ďís`h_†ţj€ôć$”Öä"ŕşq)\‘H±\…ΟΠ÷L Ú†­Č^_µ”ńšąäňĄĂ•đ-´”¦+`üÄŠď·€T ś‹ŤD—ĽąÜbUu˛ó˛Ńö=ÎHŃ»P‡˘Â…ÜzXĽqŁŐ{ŕd‚%‘k•r%ýÁډ$ÁewA’˛*B?uĺą|ép%} 冖ô‡ęąŘi4—«Ę‡ĐŰ1Mą6&.7™TŃÄiÎý(«Y MNşÚ ÉĚŔ®­Â»|~ÔĎÖÝóRgÝ\sŁŃAśÁ xI ´A¤ŘóöK÷Ö†ÂĘV,€"9^wpfG‘,HŢŹýy3B&\ăîŔ^:Tp+Ä“3ŁA.#Vî}oç#ż*]y' «ôđ±0flúXÍ~ÂŞ˝h-kîűËJšŁA΢hdA(–Ŕ3<toŢôŢŮńŘtOW’Ë—Ľű‰{ľ÷ ż˘”‹]@ľK4—ÂŞTŚ3đŃ߸ĽĚűłážźVÍÓ”‘ Öç…ZŁÄⵕĐćk kŐí1éĚ{ü^˙äÄßśqŁŐA"†›l¶x‚ĆE*v˙őĘĘ’k*>Q¤ŚĂ9\8U¤HŔ208ŤOn˙Đň]¦ąŢ÷\¤ľźpwÝ«ę_T“Ź%« `Y!96 żsôÜOí÷ŃĹ úMŁó;N:±4wĺ†E¤1á')Xtz(4j¸ĆÜHĘN…®ĄOďµWŤ»ŮÉžuÎą|éŔ·or)†Tiđ{Ă lĐźb0.gĎÄ5B\Mr"'÷tv_ô\r9= µăíŚîKÖ-†ĄßY˘ăf+¤ä¬ŇĺŮ(Z˘Ĺ?lŽnt:"â%ŐJęŔÚ ůÖâEĆĐu]Ňăű@ʤ‹î&ç “j§¦MŐŁĽą%U¬PKź+şZ ›Ů3±öä%á‘1…WĘőŻÜŻh#ŚS¤6“Ú9w¤÷Ç~ ¶ ÂŇg$˝” ş]}¤ç:ř4 úżK?Đ\ľtŕŐ·H\R;H=MWIh¬4f.v’— í!Hn4Gš+Í9Z—˙$ŐśjO= ^PO¨7Ô#ęől®ąŃę AďĺŇ$ĽN¬CNÎ4תtn0X‰K+„BśŁ^ô4™`ě°ĂađÁĐn#Á¸aIRIEążżkÔhµÚÉHÄÁć!ň¸$„ľk­őí´7Ú)qŔĺKľ}›®h¬4f;ÍćBs˘ąŃi®4çhą軉jO= ^PO¨7Ô#ęől®ąŃę0eűűÖ4:BLw[|pŰ|đąc '1Înpsăđ‰s¦-›ß0}Hâú}Ă‘ź\ i"č»ÇŕvřČíVţłcvőÔľ9â¸TSČ`öŮtö—[ôć+:űŃ~ĽŹţgŕ­äýĆŮ|‰řâňĄßľÍTh¬4f;ÍćBs˘ąŃi®4çX>cBó[©Ô ę ő†zD˝šđlNąŃęŔLŐYSč˘CťL&^“Y”Ż=8ö'1Đ6 Ź×w”ĆţŘnăČĄ¶{SĘRąř ąLR’^ę´o˝˝ť¦§óĎŃ]ł5Ąî…˘5ĎçljPc—ëÁ—/řňmşňúŁÉŰňŠRwr“Ibşm&§ËsÖíôľ¶ő­‘_F/čÔü5tşxq4޸ŃčŔĚôtD ¤˙őz©ą‡úH=D ‹şÇßłY“ĺ÷ł7E‚L†|4€űŰm2ágT®„—Ó·©?#55ŔâÁŕF€ńűŘ!ňU_űfČiţ J4:ü_€…%IËlb}pIEND®B`‚aptdaemon-1.1.1/data/icons/22x22/animations/aptdaemon-action-resolving.png0000644000175000017500000000552412117271433027153 0ustar renaterenate00000000000000‰PNG  IHDR„ę4ďtEXtSoftwareAdobe ImageReadyqÉe< öIDATxÚěÚ pTőđď{{ßŮd“ÝÜÜ[X…P‘µPTF„€ul;cmŐZĄVŞxŚNQ,Ľ¨ˇjĺC. ć@HŘś»›ÍµŮěnŢö˙^˛!Y’M6děŘćÍĽĽ}9>ďźď˙·ď˙˙ď.ĺt:1˝Mo®Ťš.émş ¦·‰ÄÎ{yÉäP:I+ĺ‘ýýeŁý`Úýé¸CáB7ˇöXş:ČéŔĎhŠěě˛ńȢ(Päś©~„ -Ţ{&{ÔFO»?-—+şáĹ2Ř;® čŁç`húa˘?mDä“]áŔ%r5´™›!ô™®šOa0µăó·˙ݏVF(#!Z…ŠŞZ0$đy)šŽ#PnGÔ­[n¨˝ßpŘÄ!čŐÜ:ÂÓů …ŮŘ8T… •š\€â*N"S‚G`ˇHUtdţ1PÇŁöčóź=ű^|ĂÉŢňcşÍm0ŠH˘GvZ˙•Ď `š –K&ĺ^Ô÷B/_Ś™‘QKĚ@Ćý Đb0ââů"\Ş­Ć˘YJ¤¦eN*‡f«z\ĺĎI»ő‡˝Î—/ó‡Cţ ¬™Č™V‡#$6őşö˛á\·˝” "Tý ć,yNƧ“-”qpGg7ŰÚQůýĺpDht~2(%4.žŘ©Ź|ˇÔUqËí˛:ÇôüŕŁR€qôÂi·LČ-=˙=>řâŚÇPWŻX‚”ÄxŻÝ‚/ľĹ懷áË’«¨5Óŕ‰ĺ°3ú-f$ęhÜ–†ť»ţŠĽe‹âUçŞő8ôŮ7ň3Cű0'>bB.ŰoeŐ(řě¸ÇLVegBÜ~fD{ů,ÜT[Ä]`ÖĎc8G† †űÉ^VÓ‚ŹÎ‡ŕôĚ%Cđ©’xEŞIsW˘ü›‚ł•Ńܲęf|řm«GďŽ49ćĚPrmĚđě–ž.DÁ©ĆˇPż¸h'ˇö †jEb`¶.]Î…jןž°Ű~ąVaó¦­8r¶ŤVÖ, BŻbW5p¬Âî˘&äo~»_Ý… ~ő¸®+sW/>řĽĆ+_)i€TD{tŮ˙­„ôŮ$ă‰drçm)čn*ľ¶Ę`ﮓűźű ÎŽÚ!¸Ü öTÁ,\v`ă¨ÓX—[NЎŕtÓÄĽT)IçQşąxç÷YŁş«źř/íů›ĘÇ‘â6Şkć^jÔŠe©\¨ůŮ~PJy]¶˝U•çQסDŻ0:•X{łj…„ iB8 ţjJ*.˘ÖůAVXZ«%oFěśLŹ®+ß*˝—:Ő^ů­EŻg,ń貅¶óŁŻ2Ń5˝!¬Q2‘ tÚvrBž©'4dxňOC§8žÜÚ†*¸Ú˘BޢXlÉŤB>Ůłoš‰ĘNŽ Vđ‘ŻËaj’6kş»Âhrghž¸WfEŹďŇB×ĐŃ\˝±×™‘žăçôhěcíMrhĄäŮŕ´rłj5ÝŽHşWşĹ(ŻmEJRZĹ)ŕGäztŮöV61ĐGáĚU`^Ś$ śé,âČ\Gć 剳 č"PmVŤëşň­j¦Ľö5)ëĆu›o3áů% ąĂ—ťż%‡\U×ď—Š y[˝Şŕ–ŠĂď?¶ýČ/Ü–Eś;oŘ3âqŇŘíî®Ďí;_ŽNǡŇ>dĄ‡av"ÍͰđ`loÇ—ß]D»M‘H†ąa4ÖŁýŘ63ŞË¶·Ú÷lŰöĽ~˘ ą‘˝đU!ä9‰JĆi‰UÇ÷˘Ď)$»Ľ…řőb ţüÂł1˝éŃuťOÖßýňë”'—d‚Éd˛nĂÎ\˙@ΚG‘™–żäűĽ®`˙¸¬<÷ۙ˝ŚÇ>#†îîwĄ ô‡L©‚˛ż݆:tµVŁ«ąÝm¸tňď´#ŇYłťŹ¸!8SrYyŹztŮŁ€O“ ůĐ F#zş;`ďëĹÜ‚†Ú2ČDä"$b>™¨ÚĐ××€7®ëĘw2>ŹÇłŤçN6“ˇ•‰ű„")Áü8xŰÂ\ČęşalĂ*řŇÉ˝$ěËV°}!uřđŕRiŁż6Y/ĆĂKl()(1}˝fôÍ\¨'ŹT= µw°ÓČß„˘q_ľKŤ FM}|„4~0’’µé!áőBF÷’±X ©r<ע&3xe ŐŔŢâŮuĺ›!óÚ×hüĎŽçN&“á…6JAHĄď ĂSŃyBßc¸! «×ˇĆ†( ‰Ç-?Αĺٲ%+ńö)!BDČÄvĐ|ěäv 1™ăôđ`–†b}˛/^{i2âu0cĽ‚Č7‚gÁ/}'_vr<75Ęç† Ť2¨MĹuśD)3âüa76ęŃpĺ{ —áči‚Ŕ‰µd¦¤€Őjß2â CĂÝŚŮ3Ľöâ"´.Ço4—6Wpkęei0ňĂ`‚–‡‚V΄]¨˘Ń# 'ˇĆ#79…GCIw/ytŮÇ:µ5•Ĺčîę@ö,%ĘÍ||˛ÇŹŕ,Yď)¬ĂIc(îJäăëÂĂ ŹFi]77±öäşň R2^ůÁˇ‘dáÜ´rŐŠ`On¤ŻĂëLJ\íĄ‡Ý)¸é±P6‘ˇZŻá«Wݞ•6|Ň3äF‘Ű©·žL×’X0šë0TzÝigŻPčŠń䲂fྡ7á໯BN[°éö`¤Ü|+¬ Ű` YŽô[r°aAöďŮŤ¨0"©W”«°|Ųä±\Wľţ3oöĘOąB.Őjµ%ů[7'ŹĺĎôşĐř<ţúĺw, ńć©Ń޵ň]pX¸úśbč}Wăî Źˇ›‘âź:ŃUwÁöł°É#ŃŇ#…OěíXEŕâożB—ąÝŮ oě6šŚ±ß;Ô4¬Š9·ĎÎlôÎ3‘•G=4m‡Ţş ë^ŇNÇ·iÝ~UÜĆËHÁ=ëó Eay ęM6ŘŃţ,ŚSă•Ď`Ĺň•(.%+Śv#,drĄéü÷'Oh¸s,—ÍŤ†Ń¤˘ž‰GTB:÷BZtX ÷{ěÝ®ŕťťđ·–˘Ă/ Ks—â\Ĺy,śżĐąďŔ»Ôßv˝BŤĺşľ7)˙–EĚľý{i—?šË®čĽËÄÄtvv„aöuź‡ `+NÂľŐ°ő‘-kűą~łđlwÚŠş?ˬX~í“—ą»O>ő»M&ÓŽ{×=|ĂŢđ ‰{żÁ`|2>>Açęţ·_kmijŰ=óc…:†ëĘAš•˝ř6ŤF“c2çsďĂ(E掏 ˙ulá‚EwK¤˘­ëî[™LŽÝŻľŚ±ěáů’]Ę>Ź ČÉÉZ Ői“|汿§R©N;쎜8yęÓ¤Ääh÷仹ň‡·<”Ç0L~B¬÷LĽóz“ĄŰúl€VóŠ{&? ĂŽ+Ďo˙Óşúú†gâââÝá÷öľˇ·÷ő?ĺŁVľ9‘°§Úîć­ąK›––šCNóČĐ•Ë~ßßß˙K‘HônqqÉŃŤ.ź˘ťOL¤Ó<\‡şöěÜd#EńĆŕP±†Ř§Âť¬Ďf˛jőJ]FFzyĽz˘™Śű‰©©űÇ꼩ő˙asĎdĘ>B7ŐaOwŢgűŹ„`™ŻŃÍIEND®B`‚aptdaemon-1.1.1/data/icons/22x22/animations/aptdaemon-action-removing.png0000644000175000017500000000571112117271433026767 0ustar renaterenate00000000000000‰PNG  IHDRÜ«)ňStEXtSoftwareAdobe ImageReadyqÉe< kIDATxÚěś pTŐÇ˙÷±{÷˝›ÝĽ_˘±FńtlA­ăvŞŽX§ej-tˇŹa¦ĚTGí¨Ói+hĄľÚ‚UETŢ‚Ś„ÄŮá±ö‘ěf_÷Ýsď&!!*$KqÂÜ“9sďž=÷·gľó}çűľ{Ď ĄŞ*Śrq—yµ.dXę'±NáÚMKĄ¸!‘oݰ†.®rý †ö–Z/yé!#W«PŠ ËňęÍ6Ú †"]FĘľé)Ó-4ßŇ5 Ld±>¦*xKQÔç6.Ň?{ˇ4×ĐĐ`ĄlD~iŁGŔQ8‹y7îşE‹ń}Ť÷ÂrŁhCÔňd_.—4ĹVV“î2ěmÜęîů°Á7ěńĐă®MČ«d`sł ( bFA<ÂC8áĆ$á.Xá5ćí,\ÝÉrć‘iS¦M˝úęŮ´&HŽł “I CE_‡áóé“Gôń‡—¶jŐVĐçűzܡÜS=G±±ńU(˛¬W_w;\Vňe9qwµżŤőGţŤŠbŽ\_Ë":˘-¨zĺ’¨źu5ÂíAÜsé˘aÉaKŰëhj}Ą¸íů€‰/'`˛pxťHń8â_‹E3˙Ž •Ó }ř®npś™»ˇ¦fĽE’Dý"–5}Ů $ZźX,«Ő‚qŐ5Ööv˙ |±pÓ ą†vź®ÇRłŤA’ ¶ěsłvě L-˝vXÜ“]mxc˙ďQ\ăC™`f­P ‰÷D9E&™( źF±Ű‡HI#>8¸së>§ń~zdžŰú(śů˘~ÍÓůQS1 •%µhďŮŚ”†ĹÁ"]ŘWöý? ~źŁcÇŽŃĽES¬jy´˙óŤĹ?G±yŘ{Qč™np ”:Ź'O‹0 ”,Kú…ú §WÉţ¶ŢĎdBSé$h†‚ÓĺÔÔÉüéEŔmËlE[z+ľcż¦2g®‰eá4űĐvTL¶’LÄŰ©ÄPX„˘§é9Q†ĹÝxp8 ź­±“*Ú»­0ŮŇă®®,…¨fŔ‹)”;ë°ły=fWßwNăýďŃw0µxnšř Ćú¦ ?†÷š×ŕp˛UUÓĐÜą˛¨ÂbgĐqj7V~z„X6úşŽúÍ9Ď[’Źa‡vźX‡âĘ<0&’,bcŕiŇOĆUî‡1sÜ-çEövl á6 /[©ŠRĎŘĺË—Ó6WnłŮő‰NgRO tôAÉźÉdîµč Ü.7ąFÓíÜx:ЉőfľĐ™­Ęf\fż'gżâ”––€ŇdľE2142r]‰0¦”ŢA†Ĺő‡>ÍfC"žF Đ…ÇfŻ!F]€wľxÇĚ[QcĹN"ÖŮ ĄŰ…%׼vÎă˝cÚbäŰËúĺ[ęĽĚZŽ%['#ŘäGA‰‡(W‚($ Wľ…(Ţ&fC˛Žsź·Îîâý‹0«ü|_§_S3®ś+!­`Gŕoŕ%1gň}9ë‡+AKt3Ž*M(Mע–ą ^Źď‚čm·3c§HÓ”fČȤÓHĄ’XĹěQČVQoúŰdE"U&çků°ą dÄă „ľĚŕ‘+ź…ö茖̻¤ ÚŰŹ"ŇʢHşŹŐŻ–|ítŢ ů.ŢZ§›nŐ5pX<01đ‘x% .mE'ĺŮۇ5o…ö*L*¨Çeó±pÂK[´‡ŰÚŕR*Á2fřJśř$ň2üáĎrÖŻĄfŮ ››APlĆţë2ĽzĆŠ*3©¬¬L DQ˛Ú2H§SÜĄśâ‰5{ńŃžăg»+cuZéŐËÇśŃĘ=ÝŤĆđz¤… i¤ěĘŐŰů€¸;Ö‡G<ަŔfŘÝR|J*‘M´ˇ;lX[¶VVbí°ąvłbBÁ÷Ć/„Ťńč­qgzîĹÚMq¨Ł©® x7^Ŕ›9É7zŘ‹Â<Şf8a沊§ŔqśîRq‘Ô(ř”Śé÷˙eDóö‹uóĐ“ôA 2 [˝ IŮNjÂ]~ůŹ…:—Łów.Ă˛Š‘ę«¸ů• ­ B°,Ü‚LOé˙]ĎXJU'•X4+íꊢ¨¸TżOÄűăÔ•Ż6âă}'ńŔçiĆţŤeŐËoŢPuŰ^~d¶Ú8ą;Źżžçˇ…ŞDV)’0÷YÜŰë9´¶ńx1?|E.}%Ô&’„úD[7UëĆ6Rî$o=ZŰQWúÝArřŕ˝ě٧žWů®Ľó?ş|ß{mĽEݨżµ !¦çDÉů”ă{§ŕAň›#™·cGŻÇÍw…IŢ9ŽxÍ 8ńž2‡8oA‘§µ5$łRTěض§<}ĄYܧ`˛ĐĆÉ໵ÖnĽ»Ö3b=“\ۡpí`2ăÁô\ů•ňe9ÎtYA~>«Ĺ›I’č;~e%đxĽFĂdµIčĐĄ?»O>µ4kÖ«É–—=ZÝ ‰PôvrÔMŕ —ŤÜŰ-Ëކ°1Ř;1:‹ÉD 0‘^k‹;§ńJ’„žD6«Ťôa‹$PÂŐáp«-'n™˝·OxnwŢ”ďť ľ…É7eôP2Ěz7‰˙)Öok!w ž\Ů€›ěEÍřZbĚ)˛@ń" Ă9Ö^éĆÜ9ďŔżkäúŕÓĽ2í«Mżwڍ`TšŚ÷Ç#Ö3›WBŐ'áČ˙=ˇ]8ŮzÍůŇ$ˇ»ŇE»$‰O·oۆQ‡[ĐA~ŔdćPY>fŔcršXąE ™ěQ>}®JýĎ 1šą«w/%1;ŹH$ŞßŢUŠÄ0öśąÁ“ťHtg D9ŐŤńľY¸·~qÎÜťŰw˘Ü:ĺ[‘o¸yvüy>>y˝@oňo^ž;—”÷×LÄ#ÍĆ:Mé ŕTôiŹ@¤çĺ¤ÝM1>'n*ʢó`DA†Í÷% ŞvW$–¸Ć2‡Ăˇ¦_6Ţa%^Mň>»Ż˛dG,8sŔ^J ”–Nź6Łż±şjüţ.Ľř~3~`ÁY÷˛ěŮßÚ;©×ŕžî˘Ó§ß…rĐ˙äÓ\¶ăDŕ™†?5,fčˇiµÝ~:ŚşîňjĽńa´L_}oh«™öY[5 íŠŢfp ®ÁĘeźúŮUSgĚ\ěv×OęťĚ$ˇ7›Y°$Ŕ5ł$Če®Ő;—’Ä_¬¨u…ľŇ ťŽě-]kp îP®¶µ‹ëkÔŕ43 †fa’sšÖö¸ )f›§?Ь[âzâ8 \kpĎŕ˛cÇŤ“%IÚB¬xö×ơ…ĵÝŇ,E,ůtBÜwÔ<¨v›Ysź&{v[ŹÁ5¸w(—=â÷%Ç‘ęčµjŞ×ó™zߢÇŢ:łL®&SŻ÷Źőí’îŰKÖW ®Á5¸Cą EŞör–¶×AÖQR}ĐľďšCmM9(9űLA‘č잤^Sd<Ż îßŕ\{W{'¨Á2˝@%kśŞJť~˛f˙ŢƤžë›®» ®Á5¸Cą”ńO„Śb” Wţ'Ŕť4§ŤŢTVIEND®B`‚aptdaemon-1.1.1/data/icons/22x22/animations/aptdaemon-action-installing.png0000644000175000017500000000552412117271433027307 0ustar renaterenate00000000000000‰PNG  IHDRÜ«)ňStEXtSoftwareAdobe ImageReadyqÉe< öIDATxÚě› tTŐÇ˙oö-Ű$3YÉ:$L ! Id± ’*´¨çÔ…ŽZ*R+VŽ=hZ[%—VĹ­•j"ž DBQ–A@B’@B™™l3™íőľ÷’™LŚ™Ľś“SŢ=çÎťďÝďýŢťűľďÝďŢű†˘iCĄŤ÷sI±śä\üxŞ ůŤU¸*0Ě$pîŤĚĄ†r¸>čë‹î[—•Čk¨>„Ä©łP˙Í>ħţ„=ÖÖRʞ÷Ö1ĐĂi´Ŕ¸7:WôcĐy ÎŐFDÁí´ˇ˝ąTh((JĘ–ŚĚgę=FżďĽë6Vŕ Ü™+‚˝núěâܸqp[MlnnŞAdB:(±Š-ążŽŃcô™ó®ó€¸÷†çJSőIąEşÄéhąÚ‰ž®vtv´˘©®úôɰ´5°:5Ő•°9(h‚őPiÁč듊®ŐÚˇ¸_ŐíG‚ŇáŃi¬=Î w´Ú+pîHą’ˇŕ!qńP‚ňČę PĄbŹś–9é9s=˛ô°&śą'ě-ČNź »ł—•»ÚÚ‘7kÉą;-§q¶ňß^…¨óŔ­~¸7×ăp%%%„ĺŢŮ'ÓnďČÚ™Ză#ső}qÝřň‹Ĺ߲rĺĘŢáqÝČh´‡Xe+óÁµ“ö-šą6{+ďřň}^¸›Ş?»Iî‘ĺn6eÍâˇF«îXăzćp—mEşŃŮ/»]˝ä|;—ÝNHrOf nrśÓ±y®—śhȲڻ— ôčkq™ŠĄ.K¤¬Ě—Yy‰Ĺ¨ęŮ‘DDd7/\ißý·ŻĆťËŘÜi5óÂ]sň=żýO~şć3~úa”î›Ŕ śëq8ąL>Ç`Żđ:«ŤśhcW]hšx­ĹfĆ€ť¤ŢĘŐ§$”2‰tÎŔćnŻ*ÇçL>[N$÷0 86#oŻÚÍŐW•űĹŘ^Ň-“}Đ0tŔíőĺr!ÂaÓĽr{#Żą˙E<ôó§ŘlîľĘ ÷ÉS[PôÚ OţCí^¸|ÚĂŤĆő„”d ćQb ŚćěŠv9ŕě°Ŕl1!4$Ś•9„O”ÄěěMŘŕÁÜ©ŃFT4źAÂ8#"”jÔ·FWŹ ”‡ ť.­-ŤČŤN÷‹»ńŰ÷˝›‹Äqi»ÖîN¸vVX˙ČěUĂćěŇŁä)ć‚ÓÎ<ᜬh?řpűRyk ćęóÖŹŰďČÖv¶îo[źă…űĘů]p7ôX,!ˇµ/ĄO1—O;«\Öážyć‘J#ŹS©Ô8tRĚĽO6ť?K{hm„÷”/YŁVĂáp&ôËCq$äč“QŃxZU$”]@›©Şŕ(%Á¸|©™ăDBBÚî]i3±˝ćżČ0Î ş=8vˇv«'¬eČĚĘ€F‰şš3(L™ćW{WîŢŕÝCŃpőöÂił±%#ŻÜµÁÓ˝4lîŕţśíߡ¸?pärm$DpŢCč #1ăp[żx“·öňegc•ˆ”jµ8AŁ rD|‡N.^5¤¦“‘GCSF’r"yŇ“:g/«ă5H” …{ý†őă®ĹeťN—Śö΋ODl\ôéčîé έ\ć7W'W`AŇś<łáˇQ0č¦@« GLxât©¨=÷ćĆd#B®ô‹űŰś;"•˘húRü˘řQąş …cîm·bzţL„ůçj˘ç·°ô),(]Kʵ‹|ÝŽ‘ ˸:¦ô·űďŰPi$÷­ź+'ż_BîaeO$¤o™.ßv6ąěç ĹĆŘŘX·Ăá]q«â†±PĘŤ­˝Vn5ĐátBĺꪯIc¶Ő®ĹŐ¨€,e4ŽŐť„Á…ęď«‘“8“ŚD2ŚĆŤ yaî8ľł¦ă˛řbTy8|p/L\ťš ű~rc#ł°L‰·ŽnÁ‚‡0>|&ľď*'…8„É“°çŕ6Ü“y/â"`ó»á¶µXżgŠć®@hxľläFŇÝ—KP´°‹ ‡ěÄÚ[VűĹ-Úö¬ŹăväőźÜý¶ß÷Ťł ›i¶”˛ßąúŔíIoŮű€W Ur5\ŽŰaşÂf u]–V,űp•7Ľ'mäľŐ:P0u lÎP÷Ýť5-ĽŘŮhŮŻż\ÖáäriŽ6,ŚDRć>Š˘  Ť@WWš›/Ád1ĂfłÂIŤOv˙óŠ—ŕËO?Ç4ăď‘iWwv6ř8~ŕyśsíB†v¶Ľó*ç<‡Édľ×XŻlżďGůž›J‘’ç×ŕ6ăÝ]Oŕ¦ěźA¤ÄÁ–R+ġžrĚ\°´Uł§Ž`É´§ˇ‘DÔż’Łž3mŰ|+DˇËzŚ{-űő—Ë…”çT­6&s;ěߏĽü|\ji3YLMK#“> ‹şÉpď"pć" ĚLôŰÍěľ×ÉĘ“1c"ÂuDÇ5m,po5 \Í7''7›oƦíŹă‰{ß…N3nÄÜ[ň‹0a‚ëŢ)ÄŇĺ÷a˯⩥ĄĐk’ćĆi Xs×ÇxáĂ;ŕČŹŢń>¤фŰîW9O[‹m‡žÇ˘ůŹ _5ßw–#LX™ĺ»JQ0iŃ Ýa¨c/Ĺ"1! íšd$hPÓŤaĚŰ™?\ÖáHE¬FŁACS=˛s˛ˇ Ó˘ĺr3z{{ŃŢ~•ŤHŮżń0ËâLF_Ů—… Ć4Ň ÂÂÂIôJŏwnaę#¸ŇdA+ĚĽq—˙ômTîýËgż›™ÂSݸ4-ÇŠ9ďŕÄ]ťóNí?_ÍŢL" ĚVs@\‚˘Ě'qúŘ·HOÍC˘Ë‰w ÎUžÂüŚßAE˘»˝×/î×'ĘX}¦=zą¦f+”Öxtő¸ĄŹťG?ňÔ§éóǬť —+é۸˘Ün7˛'OńîŽ'ŤG ©»§›ąa)ńźţ˛^ŕúÁ-ÂŢą…X̱3ůă Evű9?w$Ü5CśuÇ˙­=°×p±ůŻ%›JXţôĽ ©öîAtww{Ž©T*\ąrĹç;»ŠăvÓŐU5›™E&+p®/—ýÇ7ńfcć”ü3!ÁjX:şŮɡL*!“@ $bRJ¸ďF2<ž;WCĘ 8rô8™ÓLFE·˛“ť‰CGʎ±ˇ©µľćÜŕţf&p®Ŕőrű_íňĽĎŔ™±X±HĚľ'&‰ŘŇE†×ä”d29´aŇ$#ËNšĆ„°°őr}Áˇaúľ–$Wŕ \_.ëp‰)).§ÓąŹxń¬kš [Żżďŕp$EłĹ&p®ŔőĺţO€rjĎ€€gIEND®B`‚aptdaemon-1.1.1/data/icons/22x22/animations/aptdaemon-action-updating-cache.png0000644000175000017500000000453412117271433030017 0ustar renaterenate00000000000000‰PNG  IHDR°`ň­sRGB®ÎébKGD˙˙˙ ˝§“ pHYs  šśtIMEŘ2á›ObÜIDAThŢíšmpTŐÇ÷u_’l6Ů@I @1aŃ*:•ŤSěŕű¤ý`h§´g¬¸Nťv:Ĺ;µ¦Řium ňApl vĐfS•[d$imŤ’5$ IČfw“ÍľŢÝsű!/&)`6É:mgĎĚÝŮűÜçţÎ3ĎůźłĎ=w%r-Łöĺ…ćŔGŃ^ŹńäLî&­ Ř lŞFÍg×çĽăő\¦§×¤˙ŐŔÝMÚ Ŕë1złŘO-°(6.Żsm=sj ¬őzŚł3ŕ5ęVeŻ«ÜNá|+şU O % öÄ%źôzŚły+P;ÁÔęő‡sž˝\^Ź10G¬zŕ‘ŃÓŽŃŁhzg#jw“v#p‡«ÜţŕÍš§ʤXą|5gşŢŁŻsř°×cÜž©xťĄÖ˝Ĺ íç—““|LaŇë č‰íózŚm3îîĘĄó«T]·B öÇĎ?ôzŚ}sűF hšłą€ü×Řݤݦ۔-ÉXşÉë1>#ćł5×-«®Ě»šÖŹ^Ă]Ĺ’ń4Éx !“äş›4'°ÓUnĐbW°ŘT lĹ“|¶bśJoś~…p qűtW6w“VĄY”Îâ2Ń!Y•°;4Ö-ÝĚ@˛bňbŢýĎŃ!cŰt7*Ţku +ç߬ä;őńë±°AŕăÁľĚ'Ć%ú{˛|…Łf8dđBü·^ŹńÔ˙Ą€ÝMš¸ĎUnŻÍ/Ňéz7ô×c4Í·ŘUą˛pÁâŇ+p*“®9z¨×ë12d>Z\fŰé*·_ÖOŃdŞíë9rôĐŮŃR"4 ö^`+°xpmZăćωd7}ĂŽű‡G„f‘ň'^¶eR˛¸›´˝E lŤ›jnăĚđ_‰ó>?ÁŢجjřQţzG‰eWĺJ'=ľ0ŹŁÍ^Źń“ĎZŔJ–Ĺ[ |kޢĽeË °ŘUâ‘”«ňFóĽŻEôÎRĽ»K—ä/-ż€¸94~´ůţJtĐhöµ·3©uu›r`ޢ<„0ÉÓ‹Đd+%ÖĹ „°X4¬ŠM¶Rd-Ă*; 8ýçŁV_‹đ~żÚ­ßőzŚ|-˘Ý×"Z}-âĄĹ›xŁ«ďL㚪kéú!L„0Ńt™á`E•Č“ćU~ QMěk/•ß Şú†?¬ýܢ/Š÷!›čiìŻÜ`¶ůZDűLÇŔ×"ş+o4ç-Ę#żH'eęňë…äk­łÔ̆j·˛Ř×"ş2^w7ȵŔéö˝vÇO‚w7i×w—UŘ&d׼C;ç‚;V:”TÚ«—HÎ|×ďĎŐÍQĽŹÎłît”XXĄ¬FÚw€w–ËUe-Ě/X<~óŘŠäč!ęOĄ/ď§ĺ·˝R¦dëŐ¤IŚô“6Äřµsď ňý+vręůL››˝=-ÉŤn]ÉtŚľH'’$ÓŢţ>ë^‹R_Č’Ú;ßŰüŤ_­Ę$ޱvr…̢UΑľR‚ľö!j|EĚ,‰ŕ’ýIŞz¶äĺÇMš Ýţt7ţŽ7‰†YYqU$$ I–,EN˘”rp—{üžý{śĄVŠÂUú‡ŕťsĹu7iőyNý‘ EË_⪛Cî1Wą}ÓęÂ*ěű˙Áö§»9wbťmŻňśÔĘŇMŐŘô‚ńZµ×&t!ÎS‹Đ–lą$÷rů˝˙ř·ąiËČüKĄ ’©8ńd”pt”!H‚ ]~ąá G~v÷´¸Żî˙GWGٰţ–IŁn¤b#I2B¤Ćí;ń›OĄ¦ďÔüţüý_P±Â4Ş˘3*ńе?Î(SąÍ=^’ÎA"Ň|±âVJË.™_i"ô«O´b vńöáÇđ÷tŽ@Wiš"ˇ*Îů¨Š„-żŇëîGw.!|ćeü üőĂ“ŕŮŕş›´]‹t˝~Ő‰XÝsŹ•ŰôMkŽÇĘ}yá Ą‹& ÷ćř|®J˛âŞşç!)›ś´ Pqď: Ă aÄ1DśˇHx4…OÓŘ}×ÔoĎ đÖHl©żk\8)a`¤ÄSĂH’„UͧůµW¸«ł°`FăvPí âJ’Š˘bŞ úu®·.fYŢĘëˇCäB™‰ŞI$‚2÷oŢCAÉĘ‹ćWŢÝ —§·=ц¬ęř;O’J&řs‹FD"„ĂĂ~?ý}=śű×›ôžy Ąü½ËW~ŕôîą6[Üü¸YşęD¬n®ą¶úšă1.Ć5+TÚßę§ý­~Öv9x`h9×h•ä; g•]H¬Ź•pţ…“`J $„Ši :hŚ n†\§łÍm&/y_üDŔih"L8â|o7ÍGGÄ[SwŰŚĆ­#áGµH(š‰˘™ČŞ DJ&‘‹–ĎJD "á((iŇz‚?ťúÍ%ó+ínÍű?Ť˘Zx·ů§\}Ë71E ÓČzŢ ˛j›t.R1L#JűźźÇî\€ŞŰÇf9nŽ›m® ĐÓ1ň°ľú¦Ż#üS`š‚´)0Í4bÜ6ţ]¤ÇvŢ1MÁ˛k¶Ňöćď&ušăć¸ŮćŞ-ĎlŕkŹ-§gÖÚ^Ý3é<ÇÍqłÍUwŇÔôö]hMŁ™rÉZiâöÄ'űlć„ωď>G,éd€"‡]iÜ3,rÜ7Ű܉Űhßfű&ĺ‘ÄăS¶MrÜ7kÜ©/2Ěú{"Ôq,#šcéM´Ľř3vŇ%6®sÜ7+\uŞ“n±“çpeÖt˧úä¸9n6¸° Ĺe‹uç¸9îÜsŐ 5´@łĺˇfNiă3Ă‘ă渟Wť d @w,DčůÓDš€„i*GŇ” ’ăć¸Y㎠بögžűŃ=ŰgđT(Gć~ŔLükVŽ›ăf•{±§D °€°Ś }ěżĂH1 D€ř¨í˛5xŽ›ăÎ5÷ß>z˘(ń‹/IEND®B`‚aptdaemon-1.1.1/data/icons/22x22/animations/aptdaemon-action-waiting.png0000644000175000017500000000455312117271433026606 0ustar renaterenate00000000000000‰PNG  IHDRÜ«)ňStEXtSoftwareAdobe ImageReadyqÉe< IDATxÚěśkl×€ĎÜyíěË»‹aÍŁĹ&u’–G\‹”ŞJ *´QS’šĄ%‰”*M m$őO[Z‚EŞH­"”¨Š›DTIÓV-M iQŇÂ+Á.ŚAÁü^ĽŢÝyőÜ»^ă±wÝ™AŁjŽtwćžŮýćřÜsî˝sF2gš&řâ‹/źŚp~Âů⋟pľřň˙źpżjäăá°KÖ’Ç^ÖŹ”şŕs}®Ď—pEčż9ÝmoC&=€ÝÂ5ÂaŁ(<8ŽűśĐó E’°ë§w–4Úçú\ź{•Ë®ÝĐtÔ8ř§­ĐÝŮ^€iÉ9 "QŔ‰Í`G%‡ä­Ź€KAúÔnčîíןßlű\źës­\îéűÉLě\řvÓQŕ>~˙%8up7ô÷\ÍňHEoŔ±ŚVBQŕ,Éa¨X°BÓo€čěˇíŤ_Bőgľ/5mdpl]>×çú\+—&śąţ©Ă•áĂ7¶ĂÂ/= ¦ˇi@¤Đ„ )KßІÁT3Đş˙eĆŞ@‚ĹŚźës}®•+Đ‹ťmŮ—n^ľŚîc¸E5XgGťő‹şŃsC/Gô5 ÷ŔŃ·˙`ą©Ďőą>×Ęe+\±óť­űŔhł@삹ŞĎCóOV–,Óř\źës "ŕ·ë3]ěştDŃ$•KXŮ…+fäčWMŕĹ .§A‹1z~é =ź]±VlřőĂáßÇK‡ěr‰"Ćq‡‘ŔĄ9µ _»ľżë>B„x©Ĺ6——€Ăf]ęsx? t5 łëľ÷nŮ{;öĎ⥻\ŽtaášşĘô†: ‰ŮuĐřó7ă6â^ę¶Íĺجă˘NÇ퉩„őM%‘Ę+x%c—{ős¬ÁćčřQ‰GüúgÓ=źj{˝ňŻWńŕ$~Çľř¶MöB&Ôý)‹î–XűÝ7?ńvÚĺRZÓł,şşČ…«:1ň±)F/"w+ö^łËĄ<—™fŃÍ öŚęĚŔŚ™áyG‘ű"v߱˥Ţť‹Zt•ňŕ¨Î Î|ͨ\şą”Ůb—K4ŁË]ĎŤęĚ@ĺ3úĽµÍČí f—kCžŔ‰÷©qĺđ)ł×+˙zNâwtˇGř¶Uk7AŰľ’ŕŐs1ąXB±ţö¦m*ˇ+v¸‰šś?ÉĂëÖł~óď^€Pwˇ#÷|eĚHŐ_tĂŤĚYŮóî\ÉŢ…Ŕž˝{ŕ¦O%Ŕ7Ő΢ČQ7\%‘‚ö^.\ĚúÇŽT„NR˘zîřîł{Üp%ýĂ$“U¬ßŐubŠ j˘ÚŹ˙gő7»á–“čüĺ°÷•0>٦Ú^ŻüëU<8‰_aüŹ%9ˇč´’`9@«3YĐuÚÚ˙3Awň̉˛;)W‰ŕrź§µ8á,ž ¨ ˛‰şn@˩㮸J0 ˘¤±-Ăĺî.< N’ćÁ0Üsĺp ¤ŚĆľ3î } „ŕóyÓ5WT@ŽE!—ËŞ€PŔQb[·Ür"Jň˙üÎTŘë•=‹ń["áśúeŔ…äÎf@D‹.›Ă=+/Lbpyn Ć߀Šűt ťŔó<Óq$y5ĽvÇĹ@¤!|Îŕpb⹌ş:„MSAqiŻ®y0‹{t,Â&%ŚvŠ×5×~ŕĺd@gH÷˙9Ő„`„‡,‘X@¸ĺ–"l$Ü'oŻWţő*śÄ/»GSqOßO@ÄĘ€%¶šő°ŮŚx‹NUó­ď"ěr 3Äh8’42CDđ÷˝ĚBP¤vjNąu°?ăx´SÁs™9ťg tÍŕ3lÎ)WŔ€xt®LžÓ€X  ô§CxĚ8ĺ) #2™hč0ś7đ9I>'}Öţđř‰ MÓŇNąĺDĺ"‡NÝ}&+·M˝˝^ů׫xpżÂÄcK–ť†TzEáŁŐřyg˛p#uš˘Ž:80qĆ´ÇŤU' ‚ʉ@ÄžQW#š.p%™ł†lr…p҆×ăčÜJ(• Ä'žF¬Ćá*M\Ů?Đ žťÉŁ:Óféď˘(ŽpďĆ^Zí„+ŔÇ@đďpŔÄ8fo†&ŃTM ç”;Q™č[žqG׍˝^ů׳xpżBˇBlŞĚiLĹť/üěNVĄH‰N0 “!Ľ··™éÁe40®”k“K«<=éYĐÓŮŽł„ =]đÖź@ę¤ŕŠžp8˘Ť­lŰĺ«Rqe=cž:vrm¤:.őĺµ'+§MĎ"Ç1·XEë>S‹~ĐáĚévh+TѸEKďxŻşzŢBá”[¬ú% 6P}}}ĹŞ™>§n÷˛eËú;ΞuĚťlW™É™t»Möbéú°×+˙zNâW§KéCxďQ_Ң­ňŇsä{üţGÖ­ű·ĐźŇ%˝¸÷Ź~đüÎgx"ŕ=ql‡ű—Ćo-Ď;ĽAŽ×ś–34ąĘhhüń¶Íż}÷Üş%˝í§W«Wş©j™VUýÜ7x±ýŐß˝fÉ]†[î“O®Iőe{}şvµ!ň¦ÚséÝěmkîŰ÷÷7÷4,ý꣮ąwß˝4ĆHŢZłT—)×:xrčöŰ–źĽtćTrăcŹënąĹWN#Űšalt›G_ŔeéÔľĄÔ8…özĺ_ŻâÁIü %n â¶ÁăP˙îýPU5 xRÇx<ž+T€”Q”ŔɸŐ-­ećĎŻeŚżýőuH&“l¶ąFnp{Ó¶†Ĺ‹oaŚ·ö˝©TjąĆ5r3ČM¬Zµš1đYęëë3˙Ü÷ćµr+‘[˝iÓfĆ ĄäĆĆĆ!<ę×Ču-SdŻWţő*lÇŻŕfvěh˛Ąóą××+ńýkźëô_,ÔŹ´±r¨ŚîîŤ#m¬´”ѵ8ŕŇŠÎÜqşset¸•ئŹÓ].ŁëvŔ Ž4Ël_F—ąrÍ+{˝ňŻWń`;~˙+ŔäN/µfŠ(IEND®B`‚aptdaemon-1.1.1/data/icons/22x22/status/0000755000175000017500000000000012202062656020367 5ustar renaterenate00000000000000aptdaemon-1.1.1/data/icons/22x22/status/aptdaemon-download.png0000644000175000017500000000211212117271433024646 0ustar renaterenate00000000000000‰PNG  IHDRÄ´l;sRGB®ÎébKGD˙˙˙ ˝§“ pHYs × ×B(›xtIME× ,÷vé˝ĘIDAT8Ëí•[LśE†ź™˙°ÝÝî»rhµ&"B=ÄŁD1iHLă!(‰­¦¤µ7ÔÔÖč•©!ŃBč…©)JRMl‹)&L©Á nZ@ž˘B­KZĘah—…Ý˙/8”SL4^úŢL&ß7Ofľďťř_s‹'Ő%2čú—¬ĽÝuv÷ đ<´ěP?ˇľ6˘“ă€@ r6U „@Hp¤€5éIç«ýEKŕb1ôŤĘnâăA:*ÝĽ6 ’ŕOĎÄĐş&đ$§ˇkçÚҟ܅™|“˝Ť„FÇh®ÝłŐ%r0°­˛M7¸ŃyŚŢŽF"á…3z’Rř$öQe­Zd·ź˛6sov>Ç*·ä‰ę©^˙¸ MwpéŰä<»e'PĘFšî…ĹE•ŹQµ«ž„'aÇ™Ť0 đéń >şWrşé˘ąv:ŔÍľzz;vč(Ąl,eŁ”Ęžm´÷źf:eäV?WC]Ľ”ű.YŹż@OŰ× ŃÎÔ”đfEë\»V×âCw­÷ś=|Ľ»ÎuĺŹ  w[JŢ•'Űe‰•B)Ąş4—RĄ@Š×Ąm=|ËÖJöT—Č}GŢ+řh>Ż5U2î`5©°•…ĄX*ÁätxI¬řP!¬—@ĚĘG,ż ęůWŢ&Ň×Ęąhv‡ť[öŁkĆ\Í-Ázf¬)‚‘ DbClÉއR Äă3Ô·‰ŽŤ‡Ęőĺu2.Ü^?…^?W.rćüQ 6sy° KĆQZś„şÍ”c:5N÷@)ÉS÷”ňËĹÎéČD¨)P•řL®;q{}¸˝>vnȧçJ+ÁÁßČô?€’3 %™éĂp L§Äpjäe>Cx,Ä•Ţî!ĄŘ ő( Ŕpşqy}¸Ľ>|)iĽź»™úłźłFzHrů‰ŞQ¦µqĚ5Ó©q·oiÎ,ľűľ‘±kvi *]°ŰÜhŢőŘćÚ…Üź[•““-5ĽVüÁ©N ‡D3NÝĂĂľç8Őp’ěđ4­őv1ćÁq`ÝUóŇ/—­ćáźŕ‡ź›ŘSŔůŃ ş)Ů”ZL{ŕ'ţIĆúÖ ›ÎÉś€p@w§áÉ)ŐNĽXüj:ľ1ˇéIQÇŽ^ŹÉą|Š,±ő*ŕ80ÜzK@Ďía~T6EŤ-ßÄRyż˝‘†¦S1e‹ÍˡÚ?yÉŻźSCëž°†‡ ďű5>)T%š˙ło§`Ż^[°WŻý»śż¦€‰ť287IEND®B`‚aptdaemon-1.1.1/data/icons/22x22/status/aptdaemon-add.png0000644000175000017500000000157512117271433023603 0ustar renaterenate00000000000000‰PNG  IHDRÄ´l;sRGB®ÎébKGD˙˙˙ ˝§“ pHYs × ×B(›xtIME× *zy‰ŚýIDAT8Ëí•OhwÇ?żßĚNŘM˛$Fş© ˘â©VMŁŇ=T*îÁô`])Ô´&DŇ©P°"‚iĘzhkW¶ÖvëA«$Řb@Ä‹ŐdµÔBţ Ř®­6ŰMvvç÷zHv˛ŃŁř`ďýŢďóŕ}ż3Ďc:Te’Lč•ŔŔS˛š:Ófđ!pÚöĺm˛ĂçÉŹ?­@ë©VKR ĄŞŞ<§6ĆŹ]pU }·gâ[\:ąŹěčŤ)††ŘB–¶µu/`[ŠpM=±W;pę1>t†ěß˙Đ{x—·’ ý"0ÔŇ“Á˛îţŢGvä:“〶,JĄ"Eץäy &] ĆĆťś <˙ĆNđÚ¦®]<ÝYťRÉ„–wş°ě*~ëű”ĺëŰSBÄ ťę‡©íp 7Ą ¤çŹ ?©kÄv"ôŢ… 0:| €—^oĹdŻ‚D žD<ă×:~Şgč^€Ą .źoEİdő&2çŹűm€ł‡Úxo_˙´\łÇĐ˝];Ö°çŕąŔYć—Ô ¸3mTúýĆcw˙ô‰žŰ¤*í2ăÇňČëµpžűőѵ-•36@âŔX&™Đ»żůhíţÇşµćH ýúĂ5•éîm©śńWĐ™6ÝÉ„Ţëî÷űťÝ7·2RÍ:çűŕ Íđvw\§*Bu´ÁĎG 1zvľAŃ (z3*tíX‡Č”%đqę\s@Ľ 8 Ń9Z®ŕqëŻ<"`Ś`ň®ŕyBÉĆŔâĆ  í Ť˘ˇp5vxI]ŽORýKoĆWpęç_u1Ą  cW 8Ńy§Ćoţb €ëçńŻšŐ2pcęÍěkwqĹ2Ç>kŃťi/© .ăŘ‘CßîÝÜö$®ř®g;€ÎäĽŮ®†¦×2X ,VÍ@óŞÖŁŇ{ĺŽô^ą#«ZŹ Pó(­ěG€‹ÓĎżł|·/ď9č«Č=ż¦˙Q*ĘN’A2IEND®B`‚aptdaemon-1.1.1/data/icons/22x22/status/aptdaemon-cleanup.png0000644000175000017500000000216312117271433024474 0ustar renaterenate00000000000000‰PNG  IHDRÄ´l;sRGB®ÎébKGD˙˙˙ ˝§“ pHYs × ×B(›xtIME× mPSZóIDAT8Ëí•[l”E†źů»în»ínK·]HÚZDB)´Qb €rh"cÔpŁ‘VBÂU EîQ¤ÁDŚ(‰$Ćš$€ČÁ 6`z®=‚=…˛ôĽ‡˙Ý/ŔÍr0&^xĺ›LfľdňĚĚ—÷űţ×}‰ô nłV4˙KÖ’šzŮňř/čÖC„ú/™žšM»·U „@háôA2Ž#3Ŕ7»×=éĐ-űZ°'i8Ľ‹žîn¤TY=Y‚© ]™ť‡ˇ \>ĎoÇ‘]ĚtßIBcăś:´#×ë6k@ßŰűZŃ ·?Íů3ÇtPŕ7éžÂé00tŹ“H&±¬(V,Ž% â±(®ŮKąŐ|”ĺ›¶Ó~éĶőeâÜ|kO3B3iűa/‹ÖlC7÷“á’dy ĘŠÜ OÁ+»ľ˘ŁíSć—Vá|—J¬LDQVeş˝=BeŐ>NÚŃlŚô_ tŐ;ČPËVVŇôóq––čäű Üĺô‘ LY7:˛ńşfˇdňYI”’”Tl˘őÂw© €ł·Pőá9đě˛ŐڇnŃŘŢȢür‹Ü9Ü3Nâv\łk‹Ö†ĎRk­¦^Šü@^9@S‘»¨`muĎmz“Q…+)+_Ľ§©î[Îw}Nř&‰@zá:Ś˘JĐL|^·^S/EşÝvĄžâS¸‹á…ĺÉÍ- ˙†Źö˛đŔkä”f3pµ‰®ÎF˘!‹ŘuP¶xݦ^îy\¨őoĽËD˙9ĆŐ]îë󟂯ɱ0+ľ| §_á݇ťđĐŃŢ@GŰ/Xwbč>VŞk‘ĆĂyr8ÝxĽ9xČ!¨ćŇýń%ĚLŹ× i# @ň6Řťč‰)žžWLaŃ3 ·2p­ýÄřŘŤ(÷° ĽţTů€Ă‹W,(™»ŔMýŠĂ=Í,äZßĹDOOÓ)YY]Kď•÷ěűc*˝o+Ĺ‹˝=WšĽYÁŮYŮÚŕ`§Ý×w6!“±R˛˝ş–Đß6úŇ{)‚&!PŔq)Ů]]Ë˙é×ô'Ř$ť7_….IEND®B`‚aptdaemon-1.1.1/data/icons/22x22/status/aptdaemon-working.png0000644000175000017500000000176512117271433024534 0ustar renaterenate00000000000000‰PNG  IHDRÄ´l;sRGB®ÎébKGD˙˙˙ ˝§“ pHYs × ×B(›xtIME× $0kuIDAT8Ëí•]h[e€źďä$1I›µÍLŇVuŕM—¦ť­(˘CÜ´…á…Ň+Qk6čUe”B/ëĆ¬Ţ Í¶ o¬2ć±Ýa¬l¶vMÓ4Ů&´0ÜHcFşŘóźsĽH“%͆Îk_8śď{ßsžó˝żţ—m•›‰~i/ŕ˙Ź,çĐ”˛\.AÝ_Ü"¶6K2± ¨H$©ř¨F€! „ľ Ytő6ľ{ł .*ˇž\&·ů;Wż?N,rł’Ŕb{ ­F kő VdŤŔP×­{]Ă“$V§‰ÝŤsţĚŃ2\3Ń/5«ś  ‘uDŻ_ vűéTUIŁ!źĎ‘ËfÉ d2)2é,E&›Nahíŕ˙·Ľrhŕ/Ţ#ÚÄb˘_Rß÷Ł‘ő„.|ŽăŤ#¨JUUt¦š@J˛ˇjŻäS¨ą$ż]ţ cYgäü™ŁČ‘µ«ĽđÚÇ(±PTUˇ *¨jTĄ¬+Ż•B‘Ľ­şëŮsĺĘ?yÜ|tüâvşţYN]QĘëžâ=đóä=φ¦a·Y÷ĐŞěvÂŁ.„µ a{ÉţRóËăv<—Rxf3·žŔ=p€kÉ=śúîW2Î1ÍFÍĐ”"*ËmřěA'Ě8Çpfee…ů…9Zš[qv¶ă_ ° Ó˝Ż‡Ăçô$#ĂŁbg¨Ţű„?×.Ö€/)ďĐ˝Ż‹­ńáŮĆ™_cdxTČ;Ť:˝“ŮRóŇžŘećŕíľ·ßZ^Ä´ËÂ_›8»z°Ú­Ě/Ěáó-ő•“W 6€ą©JwöVČĐŇÜ @(ŕŁ.żNkň:wňŹôëŘđ`ŃîÂëru U´ö.­Á„ŃÜTu•ĺělŔdnâ)KÎgvó¸E‹ŢT_ťíĺ„Ęe§Đ™[PtuŐn„"xNO––I§¸cnăF"ÉÍtŽd~ ˙b€éČL8$Ťž/?}×˝3÷<ׂY3›É(Żî€őHźo©ďě7ç~÷I®0ő€q›+ź?ćŞîcĎ[@XB@Ŕáp°Ť3íťÁż¸çľw†Ťh‡ĂQÝŇ˙BÔ‘áQQĐ>ßR.Ľ˝¶^¦#3Ąó–N[óy91~¬Ší„8=ř7ŢąŁ%Ćh,Ż€‘äw>Ňą®AßŐŇJv¸ ť:Ŕ–ťOˇgOŃŁQF3|vŚă“ :pt]ŕľţ7É^u·°çŕ±âqý#Ý:p”žžw¸8=…ëşX–Ťm[evç·óŔýĎňâČVGŻ›ăµ[®áĘfŘt ˘öVD|{©@ňÔ<Ď# 5L8&ŽmôĹ4k]·€×Voí¸ŐČîÇ÷ÓÔÔĽ®Qü0ňőw•=łëáçO+ņ¦–HţîłcÇ6Ň3)¤Ň(iŇ ¤Ć÷5A ÁJ)Ś1=ÎęŠ^¨‚ĘXMÉżďú’_ź§e[sóy´6,΢ Çľ‚ąůi2‹9–˛’H¤áď‡é{˙çö5ŔUŻŠž/­Śšęz®Ně ›ăĚąA˛˛»”ç¬u ŔŤTâ”Á¶ĺŃP÷$–eňęCíeíZŤaaŚbćR?Ő±V<çŞ*ă\wí#ś˙xůÉkU(tĽűçÓŔ3@@čÁGIJ­0F‘/,pá×_!„ËىOđ ­$ZĘ5Á¬č>‹~ŕBj.hhĽÉ B ©5Rjňąę7oG)ŤR†źÎMĹ‘zÎ:îĽďäK˝ľ÷Ę:rÝ|.x˙Ů×ô>ţgDŠ :IEND®B`‚aptdaemon-1.1.1/data/icons/22x22/status/aptdaemon-update-cache.png0000644000175000017500000000233012117271433025364 0ustar renaterenate00000000000000‰PNG  IHDRÄ´l;sRGB®ÎébKGD˙˙˙ ˝§“ pHYs × ×B(›xtIME× #žJÂ8XIDAT8ËíÔ]hSgŔń˙{ÎÉ9&ibŇ´Iúeµ( EmýT;" ¶uS6:™Ă!c7Á¶2§¬° Á 0tcě u7›Žµ›­ő«ŘhWkÓ´É’Ć´9É99çě˘ÖŐé`ězĽ/<üxyŢçyŕ˙xbúĄ˝UjşţŁŐĽď¤Ýý<…î>|ŹTěů\pHŇdŞ,@B ‚e ú"|ńţćÇp1Ýy¨3;@çwm¤†ű'! B‘Z\˛@‘ľ@E¸Ë‚DVíE Ě!×wšT:Ă™Łűár{«Tôí8tYQąy–Ôŕ- zÇI–)•LLĂ dY‹:Ĺ‚AŃV0 :îš%$şľaíÖ˝\ë8µ§eˇř^´·JÎ+w!+×ĎdѦ=8v DZ‘TďcE<ߓⵠ#YÓrPevłj~ĺ©SxQŐĂ™ŁűQ†cť4nŘ…ťęÇĆql,ÇĆq,3p¤ĂG´şšMk3§&„GÓČŚëÄ“tܤ_ò±NBÚĐäçµ·JÎÔ‹^kű'{ăŘô§l>í°uC‹ç…ÉŚë$ă÷PĘÂŕB>IM$ÄĺCüđÓ%$>Âc"í;i‹h$Ü`ár¨h†ĘĄđrDd%Ç»ĂlYż… ĺ¤S BáZć.ZI¸ş{|©T@˛t6.o`ăşܨýđâľ“¶Ţno¦×4|OÓ.Ţ|ią±?ÎDkg#˝h’şKĐ#SWSŤ¦©ÜľźćóÓż1Oď”§sם_ZŠ÷Z^x‹Šj««čťąťŐKńk%’†—Ępt˛SË},AfÜ łwx÷óťZиýö$÷Ç9ąynrÎ{ß˙G_‰·P TţGVŢú˛ęŕtő®züu' ôtŠEąsU „@(aó@<‚áĚŕ“×gݡ«¶UíşĹą/Jń7ÝĽR 5#]hŞŔ鄦 Ěd“J0ÜĂé©ý{ĺ{6ôĂUoˇ2¨]ąí"ŞfĐňóqü 5„‚=X(ŞJ,%‰‹Ç ‡„CÂR# bGsĺçL[XÂĺ3G×ĚÎ_ oˇb­(«DŐlT“1Ź­Á’1,K˘Žţ>ö#Ő5uÄâiI4MeĘÄ<Ďű>ĎţŹxˇ˘0G›śűʬ¬‚bYů/đ4˙żhŞ-#ÜŮ(4šÖźŞ B 4°űŔŠ`s§P˛áÉŰŕb(ôĹm•DŰŻröŕFšŻô4HN‹© ]ŕöŽÄĐ—Ź”™ë°yÓé¬9LSK+ß~Ľ~. s4?pí…mçŃ “`E5gÓÖ|m°G÷0]ĘĂ©đ\V:­n3ĆźĆÂÝĚź•IĂŃ-ŚËśEѶ<ľqlÜ! s4µzË9tĂÎďG¶2uÁZ”ڎ”Dł98uąwöÉďgü¸düI.PŠ›ma.T© 4ó\zs&”’ř¤ÂĐX{€)óňM@I”’XJŇТŘ|hKçMĹçu`ËaĂ™`1ÖËăYc µő°˝ÄÁ‰`#­2 Ť˘0GS-ż´ńŞ˝vŚ’ĽW–@H¤‘`Łüb€ľh »©1!ŐĂś‡21ÉŹ® 4MđUisłďcýűßaKQüʨi×o„*-LĄ ĎCÇĺx}Bo"“:¬š3’'¦zhő±çř%~ŞĽĘšeŮŚđ&ňü˘ÉHaD‡ŽŰkŔć;‡sźs/6S0+é2gBŁ™ß˝· Ţ׳9ăČg{Á”ĐHžČŠ·EŤ„‚bąĄ0GŰĽhĹ«´Ő»®R<ă?Ç4W ‹ĽeŘ&Ć`)Ayp +gO&-ĹMWo ˝Ţ…qg…6{"NOň Ţ™]‚CŹĹ•#~úăŁúǨéöÓq¦ŽŇň¤°ő" • w;Ŕ“4¨óJźÂRâ¶5B‘ékfͤó¬Wľ )ŮĘ~çŽôxŠa Ym€épb +%8´i9 PJq¤ü*ŹţÂëŹÖă˛%K4p¨vFÉÚäű§/ôžľPbl&€Í3isÝr)­ßęotcjŠ]~eÝl _jVÜK=]~íÜ©M| ăĺżo¶M‰[Ę`Ř Wą¶ ç}š÷^lzK*„€ş`;ďť$ÚRMVx/Ăe=ŐĆ|ţpĺöy“GŘo¶´+Kʸ‹ý™ńr‰3×îűóÓ7k?ţP‹g¤ K)Z»"ś<T?”×ő†Zæˇ P†ˇ‹aN;-=_{™ěŚ5E2#5©Ż&ĐR7*Ů•–ż,Ű9Âë ł'JWoڶî(×›»Db¸&_~1łä#ú˝Ŕţěĺo·vöî*˙pĺ÷ħ«OV\jh˛b›Ą@*D,›:¬Ł?×öYRćWěÎ-˝gĹç}ţ°şbw®ŠkXj3őuR©)–%}¦ˇ‡„ŕt_ÄzŁbwn-Ŕ?—–ĽË<Ĺ·ĘIEND®B`‚aptdaemon-1.1.1/data/icons/22x22/status/aptdaemon-wait.png0000644000175000017500000000171712117271433024015 0ustar renaterenate00000000000000‰PNG  IHDRÄ´l;sRGB®ÎébKGD˙˙˙ ˝§“ pHYs × ×B(›xtIME× %VtđOIDAT8Ëí”Kh\UÇç|gw2™¤ŹĚÄQ‘*¶±ZAč¦ b7¦YµFQ1Ć…‘ î\(µť`ˇ X’ŞU[µ¤¨â˘E’´Zmcy0>’čLîÜąç¸É8ŹŇµßćžóçđ»ľüŐPő—ˇ>}/0q¬˝#v˛Ľíógň3ăÖV€V uĺ©(PJˇ´BŶ@X"ÚžáÔ+5ŔU=ôÉc“+ó\3Ö^\±Ľ?{'Ă'ßŕŃÇsčöiśćv2|ňTUÄ^žú~·iDc ÚRŰZŔíXD„0 ™™»ŠĐޱë\Mż6{ˇ««‹MŔ¤¶¶€“Ş(®b„dÇVśsÖý""1Bş¬€@ÄkĂlÖ#E|ßGŚ`ÄěHU¦S A‰xĚ«8N§k`D˘©,6šlÇÚD.ŕ> …h!–Ů(Śą€sŽx,ŽčFǰ†IçŐCý›¶EĽ ńzpÖb]%ßź˝ý2 Đ^Z ń¸Áˇ+ÝcŕÝ?žž< H1Ŕ<¸oÇ­·™Ó8t–cě|GßţL&]…ëߊ6ÚDLµxéÖâUÝŔjýŢÎĺrĹsŁźĐÝťE´`"†Ţ‡{ó(řřĚiĽ„WŐ# ©ř·pŮlÖ‰{ńĄÁę:Ő:•J¤bńäjłžLy)ő_÷ŔŇňŇNśB)P p §jc⪋`ř¸7?üZ9e†IEND®B`‚aptdaemon-1.1.1/data/icons/clean_svg_icons.sh0000755000175000017500000000031212117271433021754 0ustar renaterenate00000000000000# clean to reduce file size subdirs="categories status" for subdir in $subdirs; do cd scalable/$subdir for i in *.svg; do inkscape -f "$i" --vacuum-defs --export-plain-svg "$i"; done cd - done aptdaemon-1.1.1/data/icons/generate_48x48_icons.sh0000755000175000017500000000055212117271433022472 0ustar renaterenate00000000000000 subdirs="categories" for subdir in $subdirs; do cd scalable/$subdir for i in *.svg;do target="../48x48/"$( echo $i | cut -d . -f -1 ).png echo "converting $i to $target" if [ ! -e $target ]; then inkscape --without-gui --export-png=$target --export-dpi=72 --export-background-opacity=0 --export-width=48 --export-height=48 "$i";done fi cd - done aptdaemon-1.1.1/data/20dbus0000644000175000017500000000036312117271433016176 0ustar renaterenate00000000000000// Notify all clients to reload the cache APT::Update::Post-Invoke-Success { "[ ! -f /var/run/dbus/system_bus_socket ] || /usr/bin/dbus-send --system --dest=org.debian.apt --type=signal /org/debian/apt org.debian.apt.CacheChanged || true"; }; aptdaemon-1.1.1/README.PackageKit0000644000175000017500000000442712201760213017123 0ustar renaterenate00000000000000AptDaemon optionally is capable of providing the PackageKit system D-Bus interface (see http://www.packagekit.org/gtk-doc/api-reference.html). The goal is to provide the complete PackageKit API to run client applications smoothly. There won't be any additions or changes to the original PackageKit API. Unsupported or not fully covered methods: * org.freedesktop.PackageKit: - GetTimeSinceAction - could make use of the apt history - GetDaemonState - only reports that all is fine (used for debugging only) - SetProxy (should we change the apt config?) * org.freedesktop.PackageKit.Transaction: - GetOldTransaction - SetHints (cache_age doens't make any sense with APT, interactive and background/idle not yet implemented, locale and frontend_socket working) Issues and shortcomings: - Messages are not used (possible candidates could be UNTRUSTED_PACKAGES, NEWER_PACKAGE_EXISTS, CONFIG_FILES_CHANGED, OTHER_UPDATES_HELD_BACK) - The post update hook (/etc/apt/apt.conf.d/20packagekit) cannot call StateHasChanged since caller and callee are the same process (aptd) and the call is blocking. So you see a time out warning in the apt logs. - Translations of package description don't work - RepoListChanged signal doesn't get emitted Supported roles: - Get(Packages|Depends|Requires|Details) - (Download|Install|Remove|Update)Packages - InstallFiles (only one file at a time is supported) - GetUpdates - GetUpdateDetail - GetDistroUpgrades - WhatProvides (no builtin handling, only plugins) - RepoEnable (only enabling, not disabling) - InstallSignature - RepairSystem Unsupported roles: - GetCategories: Curently groups are used, would be nice to reuse the categories from software-center or the Debian ones - GetRepoList: not implemented - RepoSetData: not implemented Roles we won't support at all because of missing infrastructure in APT: - AcceptEula: there isn't any equivalent mechanism in Debian/Ubuntu. Most packages mis-use debconf for this. Supported filters: - (not)installed - (not)free - (not)gui - (not)devel - (not)collections - (not)supported - newest - (not)arch Not yet supported filters: - (not)basename - (not)application - (not)source - (not)downloaded (0.8.9+) Thanks to Richard Hughsie for his work on PackageKit! aptdaemon-1.1.1/PKG-INFO0000644000175000017500000000177612202062656015351 0ustar renaterenate00000000000000Metadata-Version: 1.1 Name: aptdaemon Version: 1.1.1 Summary: DBus driven daemon for APT Home-page: http://launchpad.net/sessioninstaller Author: Sebastian Heinlein Author-email: devel@glatzor.de License: GNU LGPL Description: Aptdaemon allows to perform package management tasks in a background process controlled by DBus. It is greatly inspired by PackageKit, which doesn't support essential features of apt by policy. The project homepage is at https://launchpad.net/aptdaemon You can report errors and suggestion there. Keywords: apt package manager deb dbus d-bus debian ubuntu dpkg Platform: posix Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: System Administrators Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL) Classifier: Programming Language :: Python :: 2.6 Classifier: Topic :: System :: Systems Administration Classifier: Topic :: System :: Software Distribution aptdaemon-1.1.1/apport/0000755000175000017500000000000012202062656015546 5ustar renaterenate00000000000000aptdaemon-1.1.1/apport/aptdaemon.py0000644000175000017500000000547012117271433020076 0ustar renaterenate00000000000000"""Apport integration to provide better problem reports.""" # Copyright (C) 2010-2011 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. __author__ = "Sebastian Heinlein " import os import re import apport import apport.hookutils import apt_pkg apt_pkg.init() def add_info(report): """Collect and append additional information about a crash. Note: Please consider that aptdaemon also manually creates apport reports for failed transaction which don't result in a crash of aptdaemon, see aptdaemon.crash :param report: The apport report of an aptdaemon crash """ # Attach apt configuration report["AptConfig"] = apt_pkg.config.dump() # Attach the sources list sources_list = "" etc_main = os.path.join(apt_pkg.config.find_dir("Dir::Etc"), apt_pkg.config.find_file("Dir::Etc::sourcelist")) try: with open(etc_main) as fd_main: sources_list += fd_main.read() except: pass dir_parts = os.path.join(apt_pkg.config.find_dir("Dir::Etc"), apt_pkg.config.find_dir("Dir::Etc::Sourceparts")) for filename in os.listdir(dir_parts): if not filename.endswith(".list"): continue try: with open(os.path.join(dir_parts, filename)) as fd_part: sources_list += fd_part.read() except: continue # Remove passwords from the sources list report["SourcesList"] = re.sub("://\w+?:\w+?@", "://USER:SECRET@", sources_list) # Add some logging data apport.hookutils.attach_file_if_exists(report, "/var/log/apt/history.log" "AptHistoryLog") apport.hookutils.attach_file_if_exists(report, "/var/log/apt/term.log", "AptTermLog") apport.hookutils.attach_file_if_exists(report, "/var/log/dpkg.log", "DpkgLog") report["SysLog"] = apport.hookutils.recent_syslog(re.compile("AptDaemon")) # vim:ts=4:sw=4:et aptdaemon-1.1.1/AUTHORS0000644000175000017500000000027312117271433015313 0ustar renaterenate00000000000000Maintainer: Sebastian Heinlein Developers: Michael Vogt Icon Artits: Mike Langlie Richard Hughes aptdaemon-1.1.1/aptd0000755000175000017500000000256212201760213015115 0ustar renaterenate00000000000000#!/usr/bin/python3 # -*- coding: utf-8 -*- """ aptd - apt daemon """ # Copyright (C) 2008 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __state__ = "experimental" import os import sys if __name__ == "__main__": # Ensure that the default encoding is set since Python's setlocale doesn't # allow to change it. This can be the case if D-Bus activation is used, # see LP: #1058038 and http://bugs.python.org/issue16162 if sys.getfilesystemencoding() == "ascii" and not "LANG" in os.environ: os.environ["LANG"] = "C.UTF-8" os.execv(sys.argv[0], sys.argv) import aptdaemon.core aptdaemon.core.main() # vim:ts=4:sw=4:et aptdaemon-1.1.1/ChangeLog0000644000175000017500000065377212202062653016034 0ustar renaterenate000000000000002013-08-12 Sebastian Heinlein Push local changes 2013-08-12 Sebastian Heinlein Merge fixes from trunk 2013-07-27 Sebastian Heinlein Push local changes 2013-07-22 Sebastian Heinlein Export Daemon(Fork|Lintian)Progress correctly 2013-07-22 Sebastian Heinlein Make sure to not remove transaction from the bus more than once 2013-07-22 Sebastian Heinlein Don't add an additional white space when releasing a new version 2013-07-22 Sebastian Heinlein Fix white space in release version 2013-07-22 Sebastian Heinlein packagekit: Fix supported roles (add remove_pages and install_files) 2013-08-11 Sebastian Heinlein Merge 1.1 release into stable branch 2013-07-16 Sebastian Heinlein Release version 1.1 2013-07-11 Sebastian Heinlein Update NEWS and README for 1.1 release 2013-07-09 Sebastian Heinlein packagekit: Emit untrusted packages 2013-07-09 Sebastian Heinlein packagekit: move the code to skip simulation before auth for simulated transactions 2013-07-09 Sebastian Heinlein Trivial fix to make sure that Transaction._check_simualted is always a defferd 2013-07-09 Sebastian Heinlein packagekit: Fix some weird formatings 2013-07-09 Sebastian Heinlein Avoid iterations on the complete cache if we only need the changes. 2013-07-09 Sebastian Heinlein Move the transaction simulation call from Queue.put() into a Transaction method and make sure that every transaction is simulated before the auth is checked. High trust packages require a simulation before. 2013-07-09 Sebastian Heinlein PEP8 fixes 2013-07-08 Sebastian Heinlein Ensure that the default encoding is set since Python's setlocale doesn't allow to change it. This can be the case if D-Bus activation is used, see LP: #1058038 and http://bugs.python.org/issue16162 Thanks Michael for the investigation and the patch! 2013-07-08 Sebastian Heinlein Merge Ubuntu patch to work arround a random crash while resizing dialogs It seems that either the gtk.Window.get_size() method doesn't always return a tuple or that the gtk.Window.set_size() method doesn't correctly handle * arguments correctly, see LP#898851 2013-07-08 Sebastian Heinlein packagekit: merge canauth branch to add support for the CanAuthorize() method The packagekit policies are mapped to aptdaemon ones. It would be nicer if CanAuthorize would accept RoleEnums instead of policies. 2013-07-08 Sebastian Heinlein implement canauthorize 2013-07-08 Sebastian Heinlein packagekit: Use ItemProgress to improve download progress reporting 2013-07-08 Sebastian Heinlein packagekit: Emit the dependencies with the full information including description since the simulate now happens inside the worker 2013-07-07 Sebastian Heinlein Remove some obsolete FIXMEs 2013-07-07 Sebastian Heinlein gtk3widgets: by default the configuration file conflict should be resolved by replacing the current one 2013-07-07 Sebastian Heinlein Unset the title of GTK3 dialogs 2013-07-07 Sebastian Heinlein packagekit: remove some obsoleted code 2013-07-07 Sebastian Heinlein pep8 fixes 2013-07-07 Sebastian Heinlein packagekit: Fix group searching and add new Debian sections 2013-07-07 Sebastian Heinlein packagekit: Merge filters branch which adds the ARCH and NOT_ARCH filters and fixes some smaller bugs 2013-07-07 Sebastian Heinlein packagekit: fix a typo in the is_package_free method 2013-07-07 Sebastian Heinlein packagekit: Fixes in previous commits 2013-07-07 Sebastian Heinlein packagekit: Fix a small typo in the resolve method 2013-07-07 Sebastian Heinlein packagekit: Also add arch filter to the _is_package_visible() method 2013-07-07 Sebastian Heinlein packagekit: Fix a small bug in the NOT_DEVELOPMENT filter 2013-07-07 Sebastian Heinlein packagekit: Use apt_pkg.get_architectures() to get the native arch 2013-07-07 Sebastian Heinlein packagekit: Add support for the ARCH filter 2013-07-07 Sebastian Heinlein packagekit: Convert the Python 2 origin label str to unicode, Thanks Colin. 2013-07-07 Sebastian Heinlein Push local changes 2013-07-07 Sebastian Heinlein packagekit: don't use monospace formatting in the update text, since it is not supported by the GNOME PK markup parser 2013-07-06 Sebastian Heinlein packagekit: Override core.Transaction._simulate_real to skip transactions with a simulate flag to be simuated before running 2013-07-06 Sebastian Heinlein packagekit: Only emit and set exit status of a simulated transaction if it hasn't failed yet 2013-07-06 Sebastian Heinlein packagekit: Merge simulate-in-worker-branch 2013-07-06 Sebastian Heinlein Fix a log message 2013-07-06 Sebastian Heinlein Adapt _process_transaction 2013-07-03 Sebastian Heinlein Merge from trunk 2013-07-03 Sebastian Heinlein Override the check auth method to not require an authentication for simulations 2013-07-02 Sebastian Heinlein We don't need to let the transaction method call fail if the transaction failed 2013-07-02 Sebastian Heinlein Call the _run method of the MergedTransaction 2013-07-02 Sebastian Heinlein Move the simulate code into the PackageKitWorker 2013-07-03 Sebastian Heinlein packagekit: Raise log level of D-Bus method calls to INFO Convert the D-Bus values to better strings (flags, and arrays) 2013-07-02 Sebastian Heinlein packagekit: don't use the debugger statement exit as a variable name 2013-07-02 Sebastian Heinlein packagekit: Fix run call in UpdatePackages 2013-06-30 Sebastian Heinlein packagekit: Add support for InstallFiles 2013-06-30 Sebastian Heinlein packagekit: Fix type of emitted changed NetworkState value 2013-06-30 Sebastian Heinlein PEP8 fixes 2013-06-30 Sebastian Heinlein Update NEWS 2013-06-30 Sebastian Heinlein Use a colored log output on the console 2013-06-29 Sebastian Heinlein packagekit: TransactionListChanged() signal still uses type as for the id list 2013-06-29 Sebastian Heinlein packagekit: Also ignore packages with RUNNING_TRIGGER state 2013-06-28 Sebastian Heinlein Use pk.AuthorizeEnum instead of a hardoced string 2013-06-28 Sebastian Heinlein Add a fake GetDaemonState() method to the PK interface 2013-06-28 Sebastian Heinlein Fix the Packagekit TransactionList type (changed from as to ao) 2013-06-28 Sebastian Heinlein Fix a small typoe = => == in the previous commit 2013-06-28 Sebastian Heinlein Fix setting the exit value of the PK transaction 2013-06-28 Sebastian Heinlein Merge the pkgpgcache branch. Report the correct PackageKit id for download/install progress including the version, arch and origin 2013-06-28 Sebastian Heinlein Cache the PackageKit package ids of to be changed packages to emit the correct id during download/install progress information 2013-06-27 Sebastian Heinlein Update NEWS file 2013-06-27 Sebastian Heinlein Merge the PackageKit 0.8 branch 2013-06-27 Sebastian Heinlein Merge with trunk 2013-06-26 Sebastian Heinlein Fix typo in method name 2013-06-26 Sebastian Heinlein PEP8 fixes 2013-06-26 Sebastian Heinlein By default we report the network status as offline 2013-06-25 Sebastian Heinlein Start the deferred network state fetching after all default values have been specified 2013-06-25 Sebastian Heinlein IF there aren't any active connections report as being offline 2013-06-25 Sebastian Heinlein Add cancel operations 2013-06-25 Sebastian Heinlein Fix group type in the Details signal 2013-06-25 Sebastian Heinlein The group map values should be the args for the sum method 2013-06-25 Sebastian Heinlein Set the version PK versionb correctly 2013-06-25 Sebastian Heinlein Fix a typo 2013-06-24 Sebastian Heinlein We don't support Ubuntu for the stable/testing/unstable state of update so remove it 2013-06-24 Sebastian Heinlein Take replaces into account for the UpdateDetails signal 2013-06-24 Sebastian Heinlein Allow to filter package versions and add a unit test 2013-06-24 Sebastian Heinlein Unify logging of signals and use the human readable strings for enums 2013-06-24 Sebastian Heinlein Add mapping for STATUS_AUTHENTICATING and STATUS_QUERY 2013-06-24 Sebastian Heinlein Export STATUS_AUTHENTICATING 2013-06-23 Sebastian Heinlein Update NEWS 2013-06-23 Sebastian Heinlein Fix what_provides 2013-06-23 Sebastian Heinlein Update RequireRestart signal 2013-06-23 Sebastian Heinlein Use upgrade_system instead of the removed rollback method to test not implmented methods 2013-06-23 Sebastian Heinlein Port install packages test to 0.8 2013-06-23 Sebastian Heinlein Ignore the dpkg-exec pseudo Package during the installation 2013-06-23 Sebastian Heinlein Fix a File call 2013-06-23 Sebastian Heinlein Update UpdateDetail signal 2013-06-23 Sebastian Heinlein Update Transaction signal 2013-06-23 Sebastian Heinlein Add a Message signal - nevertheless it is not used 2013-06-23 Sebastian Heinlein Add the RepairSystem method 2013-06-23 Sebastian Heinlein Add a non supported UpgradeSystem method 2013-06-23 Sebastian Heinlein Adapt File signal 2013-06-23 Sebastian Heinlein Remove UpdateSystem 2013-06-23 Sebastian Heinlein Remove Rollback transaction 2013-06-23 Sebastian Heinlein Use enums for InstallSignature 2013-06-23 Sebastian Heinlein Raise version number to 0.8.9 2013-06-23 Sebastian Heinlein Implement the simulate and only_trusted transaction flags The only_download is still missing. Furhtermore add some helpers to do the bitfield operations correctly 2013-06-22 Sebastian Heinlein Add support for DownloadSizeRemaining 2013-06-22 Sebastian Heinlein Fix Finished signature 2013-06-22 Sebastian Heinlein Set the status to UInt32 in the setter 2013-06-22 Sebastian Heinlein adapt input types for dbus functions with filters 2013-06-22 Sebastian Heinlein Remove subpercentage 2013-06-22 Sebastian Heinlein Fix transaction properties role and status type 2013-06-22 Sebastian Heinlein No need to split filters anymore 2013-06-22 Sebastian Heinlein Fix a filter bit removal 2013-06-22 Sebastian Heinlein Replace all pkenums references. Adapt filtering to bitfield operations 2013-06-22 Sebastian Heinlein Yeah! Port the PackageKit main D-Bus interface to 0.8. But the transaction interface is still missing. Start migrating the enums to the Gir PackageKit library. 2013-06-22 Sebastian Heinlein Import Python PackageKit Enums from current master (0.8.9) 2013-06-27 Sebastian Heinlein Add a test to check if installing from a CDrom works after failing 2013-06-27 Sebastian Heinlein Run the daemon always with debugging information in the test suite 2013-06-27 Sebastian Heinlein Export the STATUS_AUTHENTICATING enum 2013-06-22 Sebastian Heinlein Fix a copy and paste error which resultet in misleading download/elapsed time reports 2013-06-06 Martin Pitt data/lintian/ubuntu/aptdaemon.profile: Drop missing-pre-dependency-on-multiarch-support, it was dropped from saucy lintian 2013-06-06 Martin Pitt WorkerTestCase.test_install_file: Show actual error if we did not get the expected error 2013-05-04 Sebastian Heinlein Don't call the deprecated GObject.threads_init() method 2013-05-04 Sebastian Heinlein Push local changes 2013-05-04 Sebastian Heinlein The aptdcon command should not throw an exception on Ctrl+C 2013-04-02 Michael Vogt merged https://code.launchpad.net/~cjwatson/aptdaemon/debconf-flush/ 2013-04-02 Colin Watson Flush debconf-communicate stdin after writing to it. 2013-03-18 Martin Pitt Fix some PEP-8 issues, caught by test suite. 2013-03-11 Sebastian Heinlein Merge with stable branch 2013-03-11 Sebastian Heinlein Fix PiPY upload in release script 2013-03-11 Sebastian Heinlein Push local changes 2013-03-11 Sebastian Heinlein Apply Ubuntu patch to fix backwards compatibility for GLib.io_add_watch() 2013-03-10 Sebastian Heinlein Release version 1.0 2013-03-10 Sebastian Heinlein Update NEWS 2013-03-10 Sebastian Heinlein Update translations 2013-03-10 Sebastian Heinlein Fix typos/formatting of the man page - Thank to Anskar 2013-03-09 Sebastian Heinlein Push local changes in preparation for the 1.0 release 2013-03-09 Sebastian Heinlein Update NEWS 2013-03-09 Sebastian Heinlein Set a reasonable minimum size for the expanded child widget in the GTK2 dialog GTK3 has got a quite good balancing mechanism 2013-03-09 Sebastian Heinlein Disable the expander in expandable GTK(2|3) dialogs if there isn't any child widget 2013-03-09 Sebastian Heinlein Remove the gtk(3)widgets.AptMessageDialog since we don't support messages Rebase the gtkwidgtes.AptErrorDialog directly on _ExpandableDialog 2013-03-08 Sebastian Heinlein Fix backwards compatibility with the non introspectable gobject library 2013-03-06 Sebastian Heinlein Fix Python Gtk2 backwards compatibility 2013-03-06 Sebastian Heinlein Allow release names to include a dot 2013-03-06 Sebastian Heinlein Really fix the PEP8 issue 2013-03-06 Sebastian Heinlein Trivial PEP8 fix 2013-03-05 Sebastian Heinlein Add a small helper to make releasing more convinient 2013-03-03 Sebastian Heinlein Merge pkerrors branch 2013-03-03 Sebastian Heinlein Convert an authorization exception to the corresponding PackageKit one Otherwise the PK client will segfault if the auth fails since it cannot parse the DBus error name 2013-03-03 Sebastian Heinlein Replace a depricated Glib.unix_signal_add_full() call 2013-03-03 Sebastian Heinlein Store the default values of PackageKit transaction properties with the correct DBus type 2013-03-03 Sebastian Heinlein Fix a missing PackageKit transaction property assignment Instead of Speed the property AllowCancel was set. 2013-03-01 Michael Vogt merged https://code.launchpad.net/~barry/aptdaemon/lp1120322/ 2013-03-01 Barry Warsaw Restore Python 2 compatibility in the tests. Document that the tests still need to be Python 2 compatible. 2013-02-28 Barry Warsaw After better analysis by lifeless, fix LP: #1120322 in a complementary way: - Improve the REGEX_RANGE to allow for optional ,### parts, so that one line diffs will properly match. - Move the constant to the module globals for better wrapping (and because being a class instance isn't necessary). - Still initialize line_number to 0 because it can't hurt. - Be explicit about closing the file objects instead of hoping that gc does its job. This eliminates warnings in the test suite. - Add a test for both one line and multiline diffs, showing that LP: #1120322 is actually fixed, and doesn't regress. 2013-02-28 Barry Warsaw Set it to 0 as per: https://bugs.launchpad.net/ubuntu/+source/aptdaemon/+bug/1120322/comments/7 2013-02-28 Barry Warsaw Define line_number first outside the loop to prevent UnboundLocalError in show_diff(). LP: #1120322 The odd part is that I'm not sure how to get difflib to produce a diff that doesn't start with the three lines: --- blah +++ blah @@ blah to trigger the bug. This is clearly unexpected in the code (hence the UnboundLocalError in the first place) and it it definitely not covered in the test suite. Hand crafting a call such as this does not trigger the bug: $ PYTHONPATH=. python3 >>> from aptdaemon.gtk3widgets import DiffView >>> dv = DiffView() >>> dv.show_diff('/etc/passwd', '/etc/group') 2013-02-02 Sebastian Heinlein Fix a grammer issue. Thanks Steve! 2013-02-02 Steve Langasek Fix wrong grammar 2012-12-31 Sebastian Heinlein Adap to latest Python GLib changes (io_add_watch, child_watch_add) 2012-12-30 Sebastian Heinlein Unset an http_proxy in the test suite 2012-12-30 Sebastian Heinlein PEP8 fixes and test for the test suite 2012-12-30 Sebastian Heinlein PEP8 fixes for the test suite 2012-12-29 Sebastian Heinlein Merge PEP8 fixes and add test for PEP8 compliance 2012-12-29 Sebastian Heinlein Some small pyflakes fixes 2012-12-29 Sebastian Heinlein Fix lambda 2012-12-29 Sebastian Heinlein Rename transaction_only_installs_packages_from_high_trusted_repos to a shorter name 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein Do not test the automatically generated PackageKit enums module 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein More PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein Add a PEP8 test case 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein More PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-29 Sebastian Heinlein PEP8 fixes 2012-12-16 Sebastian Heinlein Don't fail if we want to remove a a package without a candidate during transaction simulation. 2012-12-16 Sebastian Heinlein If the user cannot be autohrized (either missing privileges or a cancelled password dialog) the transaction will fail. Therefor two new error enums have been introduced ERROR_AUTH_FAILED which catches a cancelled password dialog or missing policykit agent and ERROR_NOT_AUTHORIZED which catches missing privileges. This allows Unity to be notified about a cancelled installation. 2012-12-16 Sebastian Heinlein Fix a silly typo in a previous commit (= -> ==) 2012-12-16 Sebastian Heinlein Don't depend on dpkg-dev to select the correct lintian profile. (Fixes LP: #1066457) - merged from Ubuntu 2012-12-16 Sebastian Heinlein Add a regression test for LP: #750958 2012-12-16 Sebastian Heinlein Don't change the automatic installed state when upgrading packages. Thanks a lot to Daniel Hartwig for analyzing this issue and also providing a set of patches (Fixes LP: #1078544) 2012-11-30 Michael Vogt merged lp:~mvo/aptdaemon/fix-lp1060505 2012-11-29 Michael Vogt data/lintian/ubuntu/aptdaemon.profile: the tag "file-in-etc-not-marked-as-conffile" is not critical 2012-11-28 Michael Vogt merged lp:~mvo/aptdaemon/multiline-comments-fix 2012-11-28 Michael Vogt support multi line comments in the configuration 2012-11-28 Michael Vogt merged lp:~mvo/aptdaemon/use-glib-unix-signal-handling 2012-11-28 Michael Vogt aptdaemon/core.py: use GLib.unix_signal_add_full() to fix hang with latest python-gi. Its also conceptually cleaner 2012-11-26 Michael Vogt tests/test_client.py: use the fake bus instead of the real one in test_tid_caching and fix kwargs parsing 2012-11-26 Martin Pitt Force debconf priority to high for test_debconf This allows the test to work even if the system debconf priority is set to critical. Thanks Colin Watson ! 2012-11-26 Martin Pitt Fix deprecated GObject.* API Call GLib API through GLib.*, not GObject.*. The latter has been deprecated for some time and causes PyGIDeprecationWarnings with PyGObject >= 3.7.2. This gets rid of 247 of the 311 deprecation warnings during the tests. The remaining ones will need bumping the minimum pygobject version, and will be fixed later. 2012-11-26 Martin Pitt Drop MemoizedTransaction mixin. This uses internal implementation details of PyGObject (GObject.GObjectMeta) which stopped working with PyGObject 3.7.2. Replace it with overriding __new__ which does the caching. Extend ClientTest.test_tid_caching to ensure that different TIDs actually generate different transactions. 2012-11-26 Martin Pitt Drop MemoizedTransaction mixin. This uses internal implementation details of PyGObject (GObject.GObjectMeta) which stopped working with PyGObject 3.7.2. Replace it with overriding __new__ which does the caching. 2012-11-26 Michael Vogt tests/test_pk.py: *cough* typo *cough* 2012-11-26 Michael Vogt setup.py: add workaround for nose failure 2012-11-26 Michael Vogt tests/test_pk.py: fix long keyid test 2012-11-26 Martin Pitt Add test for TID caching aptdaemon.client has some metaclass magic to cache transactions with the same transaction ID. Add a test case that this works properly. Suggested by Michael Vogt and spotted in https://code.launchpad.net/~pitti/aptdaemon/pygobject-fixes/+merge/134942 2012-10-08 Michael Vogt tests/test_py2_string_handling.py: fix import during python setup.py test 2012-10-08 Michael Vogt merged lp:~mvo/aptdaemon/lp846044 to fix LP: #846044 2012-10-08 Michael Vogt ensure we provide a unicode version of the error TransactionFailed and also return utf8 encoded string 2012-10-07 Sebastian Heinlein PEP8 fixes 2012-10-07 Sebastian Heinlein Fix a typo 2012-09-27 Martin Pitt Open Apport crash report files in binary mode 2012-09-26 Steve Langasek Open our crash report for writing in binary mode Recent versions of apport are more finicky about ensuring the crash report handle supports writing binary output, so explicitly open the file in binary mode. 2012-09-13 Michael Vogt tests/test_high_trust_repository_whitelist.py: tiny robustness fixes 2012-09-13 Michael Vogt tests/data/high-trust-repository-whitelist-broken.cfg, tests/test_high_trust_repository_whitelist.py: fix test to work with python2 2012-09-13 Michael Vogt merged lp:~vorlon/aptdaemon/lp.1034806 2012-08-10 Steve Langasek Fix the string type handling of gettext functions. 2012-09-13 Michael Vogt merged lp:~mvo/aptdaemon/support-for-whitelisted-repositories 2012-09-03 Michael Vogt some more renames 2012-09-03 Michael Vogt data/org.debian.apt.policy.in: fix name to match org.debian.apt.install-packages.high-trust-repo 2012-08-31 Michael Vogt more renaming 2012-08-31 Michael Vogt trans.whitelisted_packages, -> trans.high_trust_packages 2012-08-31 Michael Vogt -PK_ACTION_INSTALL_PACKAGES_FROM_HIGH_TRUST_WHITELISTED_REPO -> +PK_ACTION_INSTALL_PACKAGES_FROM_HIGH_TRUST_REPO 2012-08-31 Michael Vogt rename AptWorker._whitelisted_repositories to _high_trust_repositories 2012-08-31 Michael Vogt read the high-trust repository whitelist from /etc/aptdaemon/high-trust-repository-whitelist.d by default and make it a .d directory to ensure packages like e.g. webapps can drop there whitelist in 2012-08-31 Michael Vogt rename /etc/aptdaemon/repository-whitelist.cfg to /etc/aptdaemon/high-trust-repository-whitelist.cfg 2012-08-31 Michael Vogt rename PK_ACTION_INSTALL_PACKAGES_FROM_WHITELISTED_REPO to PK_ACTION_INSTALL_PACKAGES_FROM_HIGH_TRUST_WHITELISTED_REPO 2012-08-31 Michael Vogt rename self._whitelisted_packages to self._high_trust_whitelisted_packages 2012-08-31 Michael Vogt rename transaction_only_installs_packages_from_whitelisted_repos to transaction_only_installs_packages_from_high_trust_repos 2012-08-31 Michael Vogt rename read_repository_whitelist to read_high_trust_repository_whitelist 2012-08-28 Michael Vogt documation updates and ensure that the is install-from-whitelist only applies to install 2012-08-28 Michael Vogt aptdaemon/test.py: make the debug in start_session_aptd option to have less noise 2012-08-28 Michael Vogt test that non-whitelisted package fails to install with aptdaemon.policykit1.PK_ACTION_INSTALL_PACKAGES_FROM_WHITELISTED_REPO 2012-08-28 Michael Vogt test that the right polkit action is used for whitelisted packages 2012-08-28 Michael Vogt move the whitelsit releated tests into a single file 2012-08-28 Michael Vogt small cleanup/comment updates 2012-08-28 Michael Vogt make config parser more robust against errors in the config file and add tests 2012-08-24 Michael Vogt aptdaemon/worker.py: more paranoia 2012-08-24 Michael Vogt never allow unauthenticated and log whitelist in use 2012-08-24 Michael Vogt add support for /etc/aptdaemon/repository-whitelist.cfg to allow whitelisting specific repors for (potentially) passwordless installs 2012-08-24 Michael Vogt move transaction_only_installs_packages_from_whitelisted_repos back into worker 2012-08-24 Michael Vogt aptdaemon/core.py: honor enums.ROLE_INSTALL_PACKAGES and enums.ROLE_COMMIT_PACKAGES when checking for the whitelist priv 2012-08-24 Michael Vogt aptdaemon/policykit1.py: fix missing PK_ACTION_INSTALL_PACKAGES_FROM_WHITELISTED_REPO in __all__ 2012-08-24 Michael Vogt data/org.debian.apt.policy.in: add new policykit priv org.debian.apt.install-packages-from-whitelisted-repo 2012-08-24 Michael Vogt improve tests and add another a repo for the whitelist tests 2012-08-23 Michael Vogt initial stab on the whitelisted repository support 2012-09-12 Michael Vogt tests/test_worker.py: fix test on buildd when LANG/LANGUAGE is unset 2012-09-07 Michael Vogt merged lp:~mvo/aptdaemon/support-change-credentials-on-add-repo 2012-09-07 Michael Vogt aptdaemon/worker.py: use close() instead of flush(), thanks to Martin Pitt 2012-09-05 Michael Vogt use some special chars 2012-09-05 Michael Vogt address the first two review points from Martin (many thanks!) by using open(.., "rb") and read().decode("utf-8") 2012-09-04 Michael Vogt tests/test_worker.py: rename test function to ensure it reflect better what its actually testing 2012-09-04 Michael Vogt add code to ensure that if the regexp for replacing existing auth.conf entries does not work we just prepend as a fallback 2012-09-03 Michael Vogt add comment 2012-09-03 Michael Vogt aptdaemon/worker.py: surround machine/login with \n 2012-09-03 Michael Vogt use tempfile.NamedTemporaryFile() instead of hardcoding a .tmp 2012-09-03 Michael Vogt preserve order/comments in auth.conf when updating a existing record 2012-06-26 Michael Vogt instead of simply appending to auth.conf allow updating credentials too 2012-09-06 Martin Pitt Fix crash in widget's diff view if a @@ line does not have a range 2012-09-05 Brian Murray continue if there is no match in show diff 2012-09-05 Michael Vogt merged lp:~mvo/aptdaemon/lp1044900 to fix LP: #1044900 after review from Martin Pitt 2012-09-05 Michael Vogt aptdaemon/policykit1.py: rework to be both py2 and py3 compatible, thanks to Martin Pitt 2012-09-03 Michael Vogt aptdaemon/policykit1.pya: open /proc/%(pid)s/cmdline with utf8 encoding by default to avoid crash for cmdlines that contain a special char (LP: #1044900) 2012-08-23 Martin Pitt pkcompat: Fix get_files() Do not open the .list file in text mode and then call decode() on it, as that will try to decode a string. Also narrow down the bare "except:" (which hid this bug) to only intercepting IOErrors. Add test case. 2012-08-10 Michael Vogt tests/test_worker.py: comment out spurious "import pdb" 2012-08-10 Michael Vogt merged lp:~evfool/aptdaemon/lp1030988 to fix #1030988 2012-08-01 Robert Roth Change the error message for installation required from unauthenticated sources (LP: #1030988) 2012-08-10 Michael Vogt merged lp:~dobey/aptdaemon/fix-imports, many thanks 2012-08-09 Rodney Dawes Check that the item in sys.modules is not None before trying to import it 2012-08-02 Martin Pitt fix "compatibilty" typo 2012-07-12 Martin Pitt aptdaemon/client.py: Prefer GI GObject module If 'gobject' is not available (such as in Python 3), but this module gets imported before importing any gi.repository module, aptdaemon crashes with Traceback (most recent call last): File "./software-properties-gtk", line 37, in from softwareproperties.gtk.SoftwarePropertiesGtk import SoftwarePropertiesGtk File "/home/martin/ubuntu/software-properties-additional-drivers/softwareproperties/gtk/SoftwarePropertiesGtk.py", line 34, in from aptdaemon import client File "/usr/lib/python3/dist-packages/aptdaemon/client.py", line 43, in import gobject as GObject ImportError: No module named gobject Fix this by swapping the order around and only using gobject if it is already imported. 2012-06-17 Sebastian Heinlein lintian supports skipping user profiles since 2.5.9 If $HOME is unset custom profiles of the user will be skipped. Make use of this. Unfortunately we need a complete LINTIAN_ROOT for the test case - so we have to copy it around. 2012-06-14 Sebastian Heinlein test: Give the fake-polkitd more time to get known to DBus. Thanks Steve. Would be nice to switch this to dbus activation in the future 2012-06-14 Sebastian Heinlein test: run the fake-polkitd also with Python 3. Thanks pitti for spotting 2012-06-13 Sebastian Heinlein Merge fixes from Steve! Thanks 2012-06-13 Steve Langasek restore compatibility with python2, which doesn't have urllib.parse. 2012-06-13 Sebastian Heinlein Fix PK tests 2012-06-13 Sebastian Heinlein test: Set the language of the pk.Client to C if we parse error messages 2012-06-13 Sebastian Heinlein test: remove obsoleted setting of apt_pkg.config["Dir"]. Thanks to vorlon for fixing this issue generally 2012-06-13 Sebastian Heinlein test: Re-use setUp() and tearDown() if the module is executed 2012-06-13 Sebastian Heinlein test: Use an atexit handler to kill the PK dbus daemon The pk.Client uses a DBus connection with exit-on-disconnect set to True which cannot be modified. Furthermore the registered signal handlers cannot be removed. Since GIO would kill the test suite if the daemon disappears we have to delay killing the daemon 2012-06-13 Sebastian Heinlein test: Set apt_pkg.config["Dir"] to the chroot This is required by the key handling of apt.auth to use the chroot. In the other tests it gets set by apt.Cache() 2012-06-12 Michael Vogt merged lp:~aptdaemon-developers/aptdaemon/lintian-profiles 2012-06-11 Sebastian Heinlein Update NEWS 2012-06-11 Sebastian Heinlein Merge with trunk 2012-06-11 Sebastian Heinlein Push local changes 2012-06-10 Sebastian Heinlein Adopt the lintian test case 2012-06-10 Sebastian Heinlein Allow to overwrite the location of the lintian HOME by using the APTDAEMON_LINTIAN_HOME env var. 2012-06-09 Sebastian Heinlein Set $HOME to a temporary dir before executing lintian Setting LINTIAN_INTERNAL_TESTSUITE doesn't load any custom profiles from /etc and would not allow admins to modify the installed policy easily 2012-06-08 Sebastian Heinlein Move the lintian handling to a new DaemonLintianProgress and add some enhancements This makes the lintian call unblocking by using existing infrastructure 2012-06-08 Sebastian Heinlein Convert the lintian tag files into lintian profiles. Thanks to Niels Thykier 2012-06-12 Sebastian Heinlein Fix package status enum description for an unknown status which resulted in a type mismatch in the gettext call (fixes LP: #900982) 2012-06-12 Sebastian Heinlein Still report available blocked updates if the dependency system ist broken (final partial fix to LP# 932581) 2012-06-11 Sebastian Heinlein Update NEWS 2012-06-08 Sebastian Heinlein Update NEWS from the 0.4x branch 2012-06-08 Sebastian Heinlein Support InstallSignature transaction of PackageKit. Thanks a lot Pitti! 2012-06-08 Sebastian Heinlein Use the fake keyserver of aptdaemon.test and apt.auth in the test 2012-06-08 Sebastian Heinlein Add the fake keyserver to aptdaemon.test. Thanks a lot Pitti! 2012-06-08 Sebastian Heinlein Add some basic sanity checks to parameters of the key handling 2012-06-07 Sebastian Heinlein Fallback to hkp://keys.gnupg.net on non-Ubuntu systems as keyserver 2012-06-07 Sebastian Heinlein Merge with trunk 2012-05-31 Martin Pitt pkcompat: Implement InstallSignature 2012-05-31 Martin Pitt worker.py: Get along with apt-key returning non-zero on success With current apt, apt-key exits with code 2 even on success. In that case, check the output and only raise an error if the total number of processed keys is 0. Also change the decoding to work with Python 2. 2012-06-07 Sebastian Heinlein Trun DaemonForkProgress into a context manager to avoid manual start_update() and finish_update() calls. 2012-06-07 Sebastian Heinlein Refactoring: Replace the DaemonAptAuthProgress class by a more generic DaemonForkProgress and inherant the DaemonInstallProgress from it. 2012-06-06 Sebastian Heinlein Port aptdaemon to new apt.auth interfaces. This removes the dependency on python3-software-properties A new DaemonAptAuthProgress class was introduced to fork and not block the main daemon. The GetVendorKeys call needs some re-design. 2012-06-06 Sebastian Heinlein Use apt.auth for test chroots 2012-06-05 Sebastian Heinlein client: Use INT64 in signals where required (Fixes LP: #981124) 2012-06-04 Sebastian Heinlein Fix another pkenums import 2012-06-04 Sebastian Heinlein Fix PK what provides test by using the shipped pkenums instead of packagekit.enums 2012-06-04 Sebastian Heinlein Don't test the worker with a DBus daemon. This isn't required sice we don't check the client side. 2012-06-04 Sebastian Heinlein The client allows to be used with the old gobject and the introspection based one. We have to make sure that the old one isn't imported by the client 2012-06-04 Sebastian Heinlein Only ship the documentation for the gtk3 widgets 2012-06-02 Sebastian Heinlein test: Clear the apt_pkg.config for each test case 2012-05-31 Martin Pitt aptdaemon/pkcompat.py: Add error message to _fail_not_implemented(), as the GLib.GError does not have the status code 2012-05-31 Martin Pitt pkcompat: Implement RepoEnable for adding a repository 2012-05-31 Martin Pitt tests/test_pk.py: Drop duplicated add_test_repository() calls, already done in setUp() 2012-05-31 Martin Pitt README.PackageKit: update WhatProvides() support status 2012-05-26 Sebastian Heinlein Import latest translations from upstream 2012-05-23 Martin Pitt aptdaemon/test.py: Create /etc/apt/preferences.d/ in the chroot, to stop a warning from apt 2012-05-21 Martin Pitt aptdaemon/test.py: Do not destroy environment when running with local D-BUS 2012-05-16 Sebastian Heinlein Merge fix from python2 branch 2012-05-16 Sebastian Heinlein Fix: Use the error string to represent a TransactionFailed error 2012-05-15 Sebastian Heinlein Push local changes 2012-05-13 Sebastian Heinlein test: re-enable the Python2 string/unicode handling test again by using a loader module 2012-05-13 Sebastian Heinlein tests: Use a local copy:// repo instead of one hosted on a private server 2012-05-13 Sebastian Heinlein tests: Skip the debconf serialisation test under Python2 and nose. The test itself gets completed successfully, but results in a failing test later (test_simulation). No idea why. 2012-05-13 Sebastian Heinlein pkcompat: Fix relative imports 2012-05-12 Sebastian Heinlein Only run the client tests with python2 2012-05-12 Sebastian Heinlein test: Always run the session aptdaemon with python3 since we also want to test Python2 clients 2012-05-12 Sebastian Heinlein Merge Python3 support 2012-05-12 Sebastian Heinlein Kill the dbus daemon in the pk test in a more friendly way and wait until it is gone 2012-05-12 Sebastian Heinlein gtk3widgets: Fix download progress 10 / 3 isn't the same in pyhton2 and 3 2012-05-11 Sebastian Heinlein Merge fix from trunk 2012-05-11 Sebastian Heinlein Skip the worker tests for Python2 2012-05-11 Sebastian Heinlein Use system python interpretaros by default 2012-05-11 Sebastian Heinlein Fix pkenums import 2012-05-11 Sebastian Heinlein Merge with trunk 2012-05-11 Sebastian Heinlein Ship the PackageKit enums to get rid of the python-packagekit dependency 2012-05-10 Sebastian Heinlein Skip the update cache test if we are running nose. Needs some further investigation 2012-05-10 Sebastian Heinlein Update README.tests 2012-05-10 Sebastian Heinlein test: Use apt-key instead of direct gpg commands to add keys to test chroots 2012-05-10 Sebastian Heinlein Use with in some test cases to avoid not closed fds 2012-05-10 Sebastian Heinlein Allow to run the PK tests in nose by providing the same system dbus for the whole test suite 2012-05-10 Sebastian Heinlein Allow to start a dbus server outside of the TestCase 2012-05-10 Sebastian Heinlein Remove missed debugging breakpoint 2012-05-10 Sebastian Heinlein Skip the dbus type tests We need to use a type full client in the test, e.g. the gio based one 2012-05-10 Sebastian Heinlein Make the unsecure license key test compatible with python3 2012-05-10 Sebastian Heinlein Don't use 2to since the code is usable by python2 and 3 2012-05-10 Sebastian Heinlein The unicode decoding test isn't required any more with python3 (yeah!) 2012-05-10 Sebastian Heinlein Fix debconf test 2012-05-10 Sebastian Heinlein Fix: Write config file prompt answers as bytes 2012-05-10 Sebastian Heinlein Fix not creating bytes for the error messages in Python3 2012-05-09 Sebastian Heinlein test: actually use the same python version for the to be tested aptdaemon as the test is running in 2012-05-09 Sebastian Heinlein Add tests if dependency resolution errors get catched 2012-05-09 Sebastian Heinlein gtk3-demo: Don't inspect exceptions by raising them. In python3 the exception will be deleted after. 2012-05-09 Sebastian Heinlein Run all scripts with Python3 by default 2012-05-08 Sebastian Heinlein lock: close the fd finally 2012-05-08 Sebastian Heinlein Fix a non-closed file descriptor in the worker test 2012-05-08 Sebastian Heinlein Update number of to be found packages in the cache loading test 2012-05-08 Sebastian Heinlein use an octal number for chmod in the worker test 2012-05-08 Sebastian Heinlein Regenerate local repository package and Release 2012-05-08 Sebastian Heinlein worker: fix handling strings in the deb file installation 2012-05-08 Sebastian Heinlein utils: Port to latest ElementTree API 2012-05-08 Sebastian Heinlein Error: make sure to handle str/unicode/bytes correctly 2012-05-08 Sebastian Heinlein Convert debconf to py2/3 2012-05-08 Sebastian Heinlein Convert collected output in the pk test 2012-05-08 Sebastian Heinlein Use imp.reload() in the lock location test to by Python3 ready 2012-05-08 Sebastian Heinlein Port index test to Python3 2012-05-08 Sebastian Heinlein Don't use any UTF8Strings in the dbus type test 2012-05-08 Sebastian Heinlein test: Support python 2 and 3 2012-05-08 Sebastian Heinlein client: Don't use dict.iteritems() anymore 2012-05-08 Sebastian Heinlein console: Handle input differently for Python2 and 3 2012-05-08 Sebastian Heinlein client: Make meta classes work with Python2 and 3 at the same time 2012-05-08 Sebastian Heinlein client: Remove obsolete utf8_string in DBus call 2012-05-08 Sebastian Heinlein console: Remove obsolete decode() statments 2012-05-08 Sebastian Heinlein errors: the dbus.DBusException.message attrib is now gone for real 2012-05-08 Sebastian Heinlein Remove obsoleted decodes() from the worker 2012-05-08 Sebastian Heinlein Adapt to os.read() API changes 2012-05-08 Sebastian Heinlein Adapt to uuid API changes 2012-05-08 Sebastian Heinlein core: remove some obsolete decodes 2012-05-08 Sebastian Heinlein Conversion to python by using 2to3. The client module is skipped currently 2012-05-08 Sebastian Heinlein Merge with trunk 2012-05-11 Sebastian Heinlein pkcompat: Fix a changed NetworkState property 2012-05-11 Sebastian Heinlein Update the version number of the provided PackageKit Interface 2012-05-08 Sebastian Heinlein Simplify the distro detection. Use platform.dist() and apt_pkg.architectures() instead of a dpkg call and the lsb_release tool. Thanks to mvo for the nice hint! 2012-05-08 Sebastian Heinlein networking: Fix sanity of network monitors (fixes LP: 971748) The get_network_state() method should always update the cached state and return it. 2012-05-08 Sebastian Heinlein Fix calling the networking.ProcNetworkMonitor.get_network_state() inline callback (Fixes LP: #971748) 2012-05-08 Sebastian Heinlein pkcompat: Only report GetDistroUpgrade as supported if update-manager-core is available 2012-04-13 Sebastian Heinlein pkcompat: Catch unresolvable depedencies in GetUpdates (fixes LP: #932581) 2012-04-09 Sebastian Heinlein Fix: Raise NotImplementedError instead of NotImplemented if the pkcompat layer hasn't been loaded (the exception should only be raised theoretically) 2012-04-09 Sebastian Heinlein Fix: Allow to cancel a transaction which hasn't been queued yet and is still in limbo 2012-04-09 Sebastian Heinlein Fix cancelling: Raise StopIeration instead of using return in an inline callback 2012-04-09 Sebastian Heinlein core: Keep a finished transaction longer on the DBus to give the clients enough time to call Sync() again 2012-04-09 Sebastian Heinlein client: API change, rename Transaction.disconnect() to Transaction._disconnect_from_dbus() to not overwrite the GOBject.disconnect() method 2012-04-09 Sebastian Heinlein client: Sync all properties of a transaction before calling its Finished signal (Fixes LP#747172) There isn't any gurantee in which order signals get received by a DBus client. This could result in PropertyChanged signals being received after the Finished signal, e.g. the transaction could be marked as failed but the error property hasn't yet been set. 2012-04-09 Sebastian Heinlein Fix a variable name in the license key failed error message 2012-04-08 Sebastian Heinlein progress: Fix a wrong variable name (country -> region) (fixes LP #976521) Thanks Douglas. 2012-04-08 Sebastian Heinlein Fix: Convert exceptions to a string before sending to TransactionFailed() as details TransactionFailed.__init__ requires a string, so call str(execp) before. 2012-04-06 Sebastian Heinlein Fix: Catch a possible exception in apt.cache.Cache.required_download (Fixes LP# 659438) Under some strange circumstances APT fails processing the cache if the system was rebooted during a debconf question. The issue shows when accessing apt.cache.Cache.required_download. So we report an error here as a broken cache. The situation can be recoverd by calling FixIncompleteInstall or running sudo dpkg --configure -a 2012-04-06 Sebastian Heinlein Fallback to the defatul terminal width of 80 chars if the width cannot be retrieved (fixes LP#948588) 2012-04-05 Sebastian Heinlein Don't show the name of aptdaemon in crash reports (fixes LP#973370) Remove the .desktop file which contained a short description of aptdaemon. Aptdaemon is a system daemon and so has to work and fail silently in the background - without having the user to bother about obscure parts of the operating system in detail. 2012-04-04 Sebastian Heinlein progress: Catch a possible pipe reading error (fixes LP #733090) 2012-04-04 Sebastian Heinlein test: Add a test case for the config file prompting 2012-04-02 Sebastian Heinlein Fix wrong variable naming in the download progress (fixes LP #971839) 2012-04-02 Michael Vogt do not use __simulate but instead _simulate_real as __ has a special meaning in python and its not available outside of the class scope 2012-04-02 Michael Vogt merged patch for #959131 2012-04-02 Sebastian Heinlein pkcompat: Don't crash if the system time went backwards during a transaction (Fixes LP# 940367) 2012-04-02 Sebastian Heinlein worker: catch SystemErrors from python-apt when performing a system upgrade (fixes LP#932581) 2012-04-01 Sebastian Heinlein Push local bug fixes 2012-04-01 sebi@glatzor.de pkcompat: Don't crash if an unsupported locale is used for the transaction, fixes LP #944553 2012-04-01 sebi@glatzor.de Fix download progress information for translations of languages with an ISO 639 2T code (3 letters), e.g. Asturian (ast) - fixes LP #966111 Use the ISO 639 2T code as a fallback for the ISO 639 1 code during lookup. If the locale cannot be converted to a human readable name show the code instead of failling. 2012-03-19 sebi@glatzor.de test: Add a test to ensure that every transaction is simulated before it gets queued. 2012-03-14 sebi@glatzor.de tests: Fix use of chroot in the dbus test 2012-03-14 sebi@glatzor.de Push local changes 2012-03-14 sebi@glatzor.de lock: Fix an exception if the lock file doesn't exists (fixes LP:#954581) 2012-03-14 sebi@glatzor.de Decrease the priority of the daemon to avoid blocking the user interface (fixes LP:#942437) 2012-03-13 sebi@glatzor.de Push local bug fixe changes 2012-03-13 sebi@glatzor.de Make the network detection code more robust (Fixes LP:#933597) If we fail to detect the network or get an error from network-manager report the networking state as unknown. 2012-03-13 sebi@glatzor.de pkcompat: Make use of the PropertiesChanged signal, since it is required by the 0.7.x clients after the switch to GDbus 2012-03-13 sebi@glatzor.de core: Add support for the "new" standardizised PropertiesChanged signal (which was introduced in 2010 to the Dbus Specification) 2012-03-13 sebi@glatzor.de pkcompat: Fix RestartRequired detection if a non PK-transaction is processed by the PKWorker 2012-03-13 sebi@glatzor.de pkcompat: Fail correctly if update-manager-core isn't installed 2012-03-13 Martin Pitt Add missing file to POTFILES.in. (LP: #953938) 2012-03-13 Gabor Kelemen Add missing file to POTFILES.in. LP: #953938 2012-03-11 sebi@glatzor.de Merge local changes 2012-03-11 sebi@glatzor.de gtk3: Fix resizing of dialog because of a long status label GTK3 requires to set gtk_label_set_max_width to define a minimum width 2012-03-09 Michael Vogt aptdaemon/pkcompat.py: run _emit_require_restart() with the transaction as argument 2012-03-09 sebi@glatzor.de Push local changes 2012-03-09 sebi@glatzor.de Merge use-apt-auth-conf branch from mvo! Thanks a lot also to pitti for reviewing 2012-03-09 sebi@glatzor.de Clean up the test 2012-03-09 sebi@glatzor.de Merge latest updates from mvo 2012-03-08 Michael Vogt fix review comments from Martin Pitt: a) typo fix b) do not chmod/chown but instead set umask c) check for exceptions in splituri() 2012-03-09 sebi@glatzor.de Clean ups 2012-03-06 Michael Vogt add a comment when credentials are moved 2012-03-05 Michael Vogt write the netrc as a multi-line output for easier readability, parsability with a rfc822 parser (even though the netrc parser in apt will use a simple strtok() approach) 2012-03-05 Michael Vogt REFACTOR: remove no longer needed chown/chmod code 2012-03-05 Michael Vogt GREEN: username/password data is written to /etc/apt/auth.conf 2012-03-05 Michael Vogt RED: add failing test for auth.conf writing 2012-03-08 sebi@glatzor.de Push local changes 2012-03-08 sebi@glatzor.de pkcompat: Support the RequireRestart signal The signal gets emitted if an upgrade gets installed (e.g. UpgradeSystem, UpgradePackages) or if GetUpdates is called. The later one is an enhancement to the reference packagekitd. There isn't any persistent restart required notification in packagekitd/yum. 2012-03-08 sebi@glatzor.de pkcompat: Add a test to detect required system upgrades 2012-03-08 sebi@glatzor.de core: Move the reboot-required stamp check to the worker 2012-03-08 sebi@glatzor.de pkcompat: Add the RestartRequired signal to the transaction interface 2012-03-06 sebi@glatzor.de worker: Allow to install an alternative version (by number or by origin) of an already installed package 2012-03-06 sebi@glatzor.de Simplify the version/origin comparision by using a single if statement 2012-02-14 Michael Vogt aptdaemon/worker.py: allow install if pkg_ver or pkg_rel is different 2012-03-01 sebi@glatzor.de pkcompat: improve UpdatesChanged signal emission If a new signal should be scheduled and there is already one scheduled the former signal is re-scheduled with the timeout of the new one. Furthermore the default timeout is raised to 60 seconds and the one for cache updates to 30 seconds. This helps to avoid races with non-aptdaemon tools (e.g. dist-upgrade.py) 2012-02-28 sebi@glatzor.de pkcompat: Add a note about the time outs of PK clients prior 0.7.3 (not yet released) 2012-02-28 sebi@glatzor.de pkcompat: Completely adapt to the python-apt 0.8 API 2012-02-17 sebi@glatzor.de pkcompat: Don't throw an error if we try to cancel a native pk transaction 2012-02-17 sebi@glatzor.de Replace some obsolete APT api calls (apt.package.Package.isInstalled) 2012-02-02 Martin Pitt Add plugin support to PackageKit compat layer Support plugins for PackageKit's apt backend, to easily extend the functionality of "what-provides". This is a pretty straightforward port of the corresponding commit in PackageKit: https://gitorious.org/packagekit/packagekit/commit/b516f18e2 2012-02-01 Martin Pitt test_pk.py: Properly clean up local dbus-daemon Kill the locally spawned D-BUS daemon even if a test fails. 2012-02-01 Martin Pitt tests: Add tagged gstreamer package Update gstreamer0.10-silly_0.1-0_all.deb to have actual gstreamer tags, and add it to "Packages". 2012-01-31 sebi@glatzor.de Use gobject introspection in the client test 2012-01-27 sebi@glatzor.de Remove a debug trace statement 2012-01-24 sebi@glatzor.de Apply print and import fixes of 2to3 2012-01-23 sebi@glatzor.de Don't fail if we cannot get the hostname of a download (in the case of local files) 2012-01-23 sebi@glatzor.de Fix bug in error creation by using a tuple for the string format arguments 2012-01-23 sebi@glatzor.de Disable system plugins in all unit tests 2012-01-23 sebi@glatzor.de Merge the gir branch which ports aptdaemon to gobject introspection 2012-01-23 sebi@glatzor.de Fix a missing tempfile import in pkcompat 2012-01-23 sebi@glatzor.de Fix GioFileMonitor creation 2012-01-23 sebi@glatzor.de Merge with trunk 2012-01-23 sebi@glatzor.de Trigger the loading of the gi client in the cdrom test 2012-01-23 sebi@glatzor.de Fix Gio.File creation 2012-01-23 sebi@glatzor.de Convert the daemon to gobject introspection using the conversion tool 2012-01-23 sebi@glatzor.de Add an option to the daemon to disable the loading of plugins. Make use of this in the tests. 2012-01-03 sebi@glatzor.de This reverts r757 because a) DebFile.check() will do the same b) apt_pkg.config.value_list("APT::Architectures") is empty even on a multiarch system (arguably a bug in apt) 2012-01-03 Michael Vogt aptdaemon/worker.py: revert check for architecture, because "DebFile.check()" will do that too plus apt_pkg.config.value_list("APT::Architectures") is empty even on a multiarch system 2011-12-16 sebi@glatzor.de Check if the architecture of a debian package is supported before installing 2011-12-16 sebi@glatzor.de Catch exceptions in apt.debfile.DebFile.check() 2011-12-16 sebi@glatzor.de Thankfully merging a fix from Chris! 2011-12-16 Chris Coulson After simulating a transaction, correctly disconnect from the "transaction-simulated" signal 2011-12-15 sebi@glatzor.de Fix downgrade option of aptdcon 2011-12-14 sebi@glatzor.de Push local changes 2011-12-14 sebi@glatzor.de Always set the overall progress of the repository downloader to unknown 2011-12-14 sebi@glatzor.de Fix expanding the dialog to the previous size 2011-12-14 sebi@glatzor.de Ensure that the transaction cannot be simulated concurrently 2011-12-14 Michael Vogt merged typo fixes from lp:~evfool/aptdaemon/lp903911, many thanks 2011-12-13 Robert Roth Change from up-to-date to up to date for consistency (LP: #864336) 2011-12-13 Robert Roth Fix license typo (LP: #903911) 2011-12-13 sebi@glatzor.de Do not force v as type for values in MetaData 2011-12-07 sebi@glatzor.de Push local changes 2011-12-06 sebi@glatzor.de Update the PackageKit README 2011-12-06 sebi@glatzor.de Add a test case for detecting security updates and backports correctly. 2011-12-05 sebi@glatzor.de Add support for cancelling the transaction in PK 2011-12-05 sebi@glatzor.de Fix PK transaction status emitting (copy and paste error) 2011-12-02 sebi@glatzor.de Fix changelog cache clean up (typo os.rm -> os.remove) 2011-12-02 sebi@glatzor.de Don't break API and still accept sv as MetaData 2011-12-02 sebi@glatzor.de Accept only strings for the meta data key and value. Already convert the dictionary on the client side. So we don't fail anymore if a client tries to set an empty dict, see LP: #898879 2011-12-02 sebi@glatzor.de Trivial typo fix 2011-12-02 sebi@glatzor.de Fix a patch merging error which resulted in the obsoleted dependency check crashing (Fixes LP: #898756) Also add a test suite for obsoleted dependency removing. 2011-12-01 sebi@glatzor.de Separate bewteen InRelase and Relase file in the download progress to avoid showing the same item twice 2011-12-01 sebi@glatzor.de Resizing for simple textbuffers works quite well so we don't need to add extra width and height. 2011-12-01 sebi@glatzor.de Fix the sizing of details dialog (LP #892607) Rebase the error and message dialog on _ExpandableDialog. Fix storing the initial unexpanded size as expanded size. Furthermore resize the window by 100x150 pixels if there isn't any stored expanded size. Wrap the details message by words. 2011-12-01 sebi@glatzor.de Fix resizing the GTK3 progress dialog (LP# 840942) Unfortunately the expander only resize to a good size for its children if they are show on the first rendering of the window. Afterwards we have to deal with the resizes on our own. This resulted in a 2 line terminal widget. 2011-11-28 sebi@glatzor.de test.py: Remove unused import and export AptDaemonTestCase 2011-11-28 sebi@glatzor.de Merge more exception fixes by mvo. Thanks! 2011-11-28 Michael Vogt some more new style exception fixes 2011-11-27 sebi@glatzor.de Map DOWNLOADING_REPO to the packagekit enum 2011-11-27 sebi@glatzor.de Update GetUpdates: it was still using the old python-apt API and emitting only updates which don't require to remove any installed software. This is obsolete nowadays (since SimulateUpdatePackages exists) and quite resource hungry. 2011-11-27 sebi@glatzor.de Use apt_pkg.version_compare to detect up-to-date packages 2011-11-26 sebi@glatzor.de Merge pretty repo branch 2011-11-26 sebi@glatzor.de Use the translated language/country name in the language of the transaction 2011-11-26 sebi@glatzor.de Fixed description of download items 2011-11-25 sebi@glatzor.de Also show the dist and section in the details 2011-11-25 sebi@glatzor.de Show an human readable description durch the cache update for the to be downloaded files 2011-11-25 sebi@glatzor.de Add IsoCodes class which allows to access the iso-codes language and country names database 2011-11-24 sebi@glatzor.de Also show the details in the gtk progress dialogs for STATUS_DOWNLOADING_REPO 2011-11-24 sebi@glatzor.de Add a new DaemonAcquireRepoProgress which shows the hostnames of the repositories in the status details instead of the "Downloading Packages" 2011-11-23 sebi@glatzor.de Add a new enum to indicate downloading repository information 2011-11-26 sebi@glatzor.de Remove obsolete socket module, since the timeout is already set by python-apt 2011-11-26 sebi@glatzor.de Rename the Changelog cache to Changelogs 2011-11-25 Michael Vogt merged from lp:~aptdaemon-developers/aptdaemon/cached-changelogs 2011-11-25 sebi@glatzor.de Cache the downloaded changelogs 2011-11-25 sebi@glatzor.de Fix a missing reference to the pk_enums module 2011-11-25 sebi@glatzor.de Push local changes 2011-11-25 sebi@glatzor.de Use the except Exception as excep syntax in more places 2011-11-25 sebi@glatzor.de Merge branch from mvo. thanks 2011-11-24 Michael Vogt move exception from "except Error, e" to "except Error as e" 2011-11-24 Michael Vogt aptdaemon/worker.py: fix typo 2011-11-24 sebi@glatzor.de Update PackageKit README 2011-11-24 sebi@glatzor.de Add a delayed UpdatesChanged after we return from resume (180 seconds to avoid too much activity after resume) 2011-11-24 sebi@glatzor.de Small fix 2011-11-24 sebi@glatzor.de Also emit UpdatesChanged after StateHasChanged was called 2011-11-24 sebi@glatzor.de Emit the UpdatesChanged signal after the cache has been modified 2011-11-22 sebi@glatzor.de Update NEWS 2011-11-22 sebi@glatzor.de Add a packagekit error mapping for the new enum 2011-11-22 sebi@glatzor.de Add a new error enum to indicate that the system is already uptodate. But don't use it yet, since this would break API (in the case of no upgrades the transaction would fail. 2011-11-22 sebi@glatzor.de Remove partially uncommented check for updates in upgrade_system. If the user is interested in blocked updates simulate should be used beforehand 2011-11-22 sebi@glatzor.de Don't fail on date parsing errors in the changelog 2011-11-22 sebi@glatzor.de Skip marking the changes of a transaction twice after simulating Store the tid of the transaction whose changes are currently marked in the cache. If the transaction gets committed just after being simulated we don't need to mark the changes again. 2011-11-21 sebi@glatzor.de Merge Ubuntu's patch to do an additional resolver run to ensure that autoremove does not leave the cache inconsistent. Thanks mvo. 2011-11-21 sebi@glatzor.de Add a document about the PackageKit compat 2011-11-21 sebi@glatzor.de Add support for the store_in_cache argument of DownloadPackages 2011-11-21 sebi@glatzor.de Adapt worker test cases to the new simulated callback 2011-11-21 sebi@glatzor.de Don't fail if pkcompat isn't avaliable or packagekitd is already running 2011-11-21 sebi@glatzor.de Merge with simulatecb branch 2011-11-21 sebi@glatzor.de Make the simulate call non-blocking 2011-11-21 sebi@glatzor.de Iterate the mainloop more often to improve responsiveness This is done by adding a small helper which iterates the mainloop on an iteration of the available packages after a specified interval 2011-11-20 sebi@glatzor.de Push local changes 2011-11-18 sebi@glatzor.de Specify the exact type of the inital packagekit properties 2011-11-18 sebi@glatzor.de Add support for introspection of properties of type unsinged integer 2011-11-18 sebi@glatzor.de Ship the PackageKit dbus configuration files which are overwritten by the native ones if PackageKit is installed 2011-11-18 sebi@glatzor.de Merge the PackageKit compatibility branch 2011-11-18 sebi@glatzor.de Remove not used control fields 2011-11-18 sebi@glatzor.de Also connect PackageKit to the same bus 2011-11-18 sebi@glatzor.de Also use the connect statement for packagekit 2011-11-18 sebi@glatzor.de Fix add license key test 2011-11-18 sebi@glatzor.de Push local changes 2011-11-18 sebi@glatzor.de Merge with trunk 2011-11-17 sebi@glatzor.de Fix a wrong enum and using the C time locale to parse debian changelogs 2011-11-17 sebi@glatzor.de Push local changes 2011-11-17 sebi@glatzor.de Implement download packages and remove support for what provides. Should be handled by session-installer 2011-11-17 sebi@glatzor.de Add Gstreamer information to test Packages 2011-11-17 sebi@glatzor.de Add a test for downloading packages 2011-11-17 sebi@glatzor.de Use the gi PK client for the tests 2011-11-14 sebi@glatzor.de Add a new enum to indicate that a transaction role is not yet supported 2011-10-21 sebi@glatzor.de Fix automatic network monitor selection 2011-10-21 sebi@glatzor.de Add tests for Get(Requires|Depends) 2011-10-21 sebi@glatzor.de Add support for GetDepends and GetRequires 2011-10-19 sebi@glatzor.de Provide better status and progress informsation in get-update-detail 2011-10-19 sebi@glatzor.de Some small fixes to the GetUpdateDetail method 2011-10-19 sebi@glatzor.de Use the network state monitor in the packagekit backend 2011-10-19 sebi@glatzor.de Set the state in the get_network_state call directly to make reusing in aptdaemon easier 2011-10-19 sebi@glatzor.de Some small fixes and automatic monitor selection 2011-10-19 sebi@glatzor.de Implement get_network_state for all monitors 2011-10-19 sebi@glatzor.de Add a fallback network monitor which makes use of the /proc/net/route file - taken from PackageKit 2011-10-19 sebi@glatzor.de Monitor the default active connections' Default property and the active connections 2011-10-19 sebi@glatzor.de Use deferreds for async calls to network manager 2011-10-19 sebi@glatzor.de Adapt to latest NM api, remove modem detection, since not usable by packagekit, a lot of sanitizing 2011-10-19 sebi@glatzor.de Merge AlertWatcher and roam to networking 2011-10-19 sebi@glatzor.de Add an old copy of UpdateManagers AlertWatcher which still uses the old gobject 2011-10-19 sebi@glatzor.de Set the default network state to online 2011-10-18 sebi@glatzor.de Add supported filter and fix a missing role setting 2011-10-18 sebi@glatzor.de Add a test for get updates 2011-10-18 sebi@glatzor.de NotImplemented exception doesn't support any messages so use the TransactionFailed one 2011-10-18 sebi@glatzor.de Check if pkcon is availbale before running the tests 2011-10-18 sebi@glatzor.de Add a test case for the resolve and install transaction by using pkcon 2011-10-17 sebi@glatzor.de Do not crash on set_locale("C") 2011-10-17 sebi@glatzor.de Use a custom dbus config and fake a system bus daemon (preparation for the pk tests) 2011-10-17 sebi@glatzor.de Adapt tests to latest API changes 2011-10-17 sebi@glatzor.de Create the tid if not provided - makes testing easier 2011-10-16 sebi@glatzor.de Support (Get)TransactionList(Changed) 2011-10-16 sebi@glatzor.de Emit Package signals for progress information during installation - currently lacks arch and version information. 2011-10-16 sebi@glatzor.de Add a package progress (will be used by the packagekit layer only) 2011-10-16 sebi@glatzor.de Merge with trunk 2011-10-15 sebi@glatzor.de Cherry pick cmdline support from pkcompat branch 2011-10-07 sebi@glatzor.de Fix setting locale and debconf 2011-10-07 sebi@glatzor.de Simulate should only emit dependencies 2011-10-07 sebi@glatzor.de Add all Transaction methods and fail if not implemented by aptdaemon 2011-10-06 sebi@glatzor.de Add support for debconf and fix multiarch support 2011-10-06 sebi@glatzor.de Handle multiarch 2011-10-06 sebi@glatzor.de Unify package_ids argument 2011-10-06 sebi@glatzor.de Also queue query transactions 2011-10-06 sebi@glatzor.de Implement support for PackageKit deeper into aptdameon by allowing running query transaction on the queue 2011-10-06 sebi@glatzor.de Implement GetDetails 2011-10-06 sebi@glatzor.de Add support for the Search* methods 2011-10-06 sebi@glatzor.de Push local changes 2011-10-06 sebi@glatzor.de Implement GetPackages 2011-10-05 sebi@glatzor.de Implement GetFiles 2011-10-05 sebi@glatzor.de Rough implementation of GetUpdateDetail 2011-10-05 sebi@glatzor.de Sort imports 2011-10-05 sebi@glatzor.de Use the worker for getting updates 2011-10-05 sebi@glatzor.de Don't loop remove from connection 2011-10-05 sebi@glatzor.de Add support for resolving! 2011-10-05 sebi@glatzor.de Load the PackageKitWorker 2011-10-05 sebi@glatzor.de Add a status enum to indicate searching 2011-10-05 sebi@glatzor.de Start again with a custom AptWorker to handle query transactions 2011-10-04 sebi@glatzor.de Add a method to emit package signals in the merged transaction 2011-10-04 sebi@glatzor.de Add an enum for merged transaction whihc perform a PK query 2011-09-30 sebi@glatzor.de Allow to set the locale 2011-09-30 sebi@glatzor.de Fix package ids handling 2011-09-30 sebi@glatzor.de Push local changes 2011-09-30 sebi@glatzor.de A lot of fixes and StateHasChanged support 2011-09-30 sebi@glatzor.de Fixes to the getdistroupgrade call 2011-09-30 sebi@glatzor.de Add distro upgrade support 2011-09-30 sebi@glatzor.de Safe a lot of typing work by using simpler names for the enums modules 2011-09-30 sebi@glatzor.de Unify creation of merged transactions 2011-09-30 sebi@glatzor.de Release references if done 2011-09-30 sebi@glatzor.de Store the MergedTransaction in the PackageKit Transaction 2011-09-29 sebi@glatzor.de Add support for UpdateSystem 2011-09-29 sebi@glatzor.de Updates supported role enums 2011-09-29 sebi@glatzor.de Add support for removing packages and fix some minor bugs 2011-09-29 sebi@glatzor.de Add support for UpdatePackages and SimulateUpdatePackages 2011-09-29 sebi@glatzor.de Remove not existing Categories property 2011-09-29 sebi@glatzor.de Remove unsused imports 2011-09-29 sebi@glatzor.de Remove the PackageKitWorker. For the first time we stay with mapping aptdaemon transactions. 2011-09-29 sebi@glatzor.de Fixes and clean ups to the property handling 2011-09-28 sebi@glatzor.de Add support for GetUpdates by simulating UpgradeSystem 2011-09-28 sebi@glatzor.de Use the PackageKit worker in compat mode 2011-09-28 sebi@glatzor.de Perform the simulate call during idle times to avoid time outs on the Dbus method 2011-09-28 sebi@glatzor.de Add support for InstallPackages and SimulateInstallPackages 2011-09-27 sebi@glatzor.de Rename enum convert methods 2011-09-27 sebi@glatzor.de Use setter/getter for PackageKitTransaction properties to emit the Changed signal automatically 2011-09-27 sebi@glatzor.de Set the error in case of a cancel 2011-09-26 sebi@glatzor.de Big code drop to get a working PackageKit RefreshCache, yeah! 2011-11-18 sebi@glatzor.de Merge the AddLicenseKey method! Has been a long way ... 2011-11-18 sebi@glatzor.de Add the new plugin to the sphinx documentation 2011-11-18 sebi@glatzor.de Minor variable name fix 2011-11-18 sebi@glatzor.de Reduce the license key error enums 2011-11-18 sebi@glatzor.de Merge local changes 2011-11-18 sebi@glatzor.de Merge with mvo's branch 2011-11-18 sebi@glatzor.de Remove obsolete imports 2011-11-18 sebi@glatzor.de Minor setup fixes 2011-11-18 sebi@glatzor.de Remove obsolete tests 2011-11-18 sebi@glatzor.de Remove the no longer needed helper 2011-11-18 sebi@glatzor.de Move getting the license key to a plugin 2011-11-18 sebi@glatzor.de Doc string fixes 2011-11-18 sebi@glatzor.de Reorder NEWS 2011-11-18 sebi@glatzor.de Merge trunk 2011-11-10 Michael Vogt more test fixes, fix indent 2011-11-10 Michael Vogt add simple helper test 2011-11-10 Michael Vogt move the license-key acquire into its own helper for easier testing, readability, extensability 2011-11-09 Michael Vogt fix failing test, this needs refactor more to avoid the special "mock" target in worker 2011-11-09 Michael Vogt use multiprocessing to avoid the blocking call 2011-11-09 Michael Vogt first cut on the new add_license_key system 2011-09-20 Michael Vogt merged from trunk 2011-08-25 sebi@glatzor.de Minor fix for the NEWS file. upside, down you turn me ... 2011-08-25 sebi@glatzor.de We don't need to change the LICENSE_ROOTDIR in the worker test anymore 2011-08-25 sebi@glatzor.de Set the umask to aovid creating executable files 2011-08-25 sebi@glatzor.de UPdate news 2011-08-25 sebi@glatzor.de Fix client test case. 2011-08-25 sebi@glatzor.de Fix variable names in the DBus method 2011-08-25 sebi@glatzor.de Take the apt root dir into account when building the license key root dir 2011-08-23 sebi@glatzor.de Adapt client side 2011-08-23 sebi@glatzor.de Allow to install the license key directly after installing a package without entering the password 2011-08-23 sebi@glatzor.de Adapt DBus API 2011-08-23 sebi@glatzor.de Handle a not available pkg 2011-08-23 sebi@glatzor.de Fix small typo, sorry richard 2011-08-23 sebi@glatzor.de Rework license key installation by retrieving the license key path from the package records 2011-08-23 sebi@glatzor.de Add some error enums for the license key installation. The descriptions are still missing. 2011-08-23 sebi@glatzor.de Add an enhanced test suite for the license key installation. 2011-08-23 sebi@glatzor.de Add a new silly-license package to the test repo 2011-08-23 sebi@glatzor.de Remove LicenseKeyLocationInvalid error 2011-08-19 Michael Vogt add new "AddLicenseKey call 2011-11-18 sebi@glatzor.de Replace the backported unittest2 framework by the native one of Python 2.7 and Nose to collect the tests 2011-10-24 Michael Vogt lp:~mpt/aptdaemon/bug-635138: merged string fix, many thanks! 2011-09-08 Matthew Paul Thomas Fixes bug 635138 (Apt cache repair 'In Progress' text is 'Repairing broken deps'). 2011-10-08 sebi@glatzor.de Map messages from apt on the status-fd to enums to provide better terms and translations in the future - fixes LP#641262 2011-09-30 Michael Vogt aptdaemon/progress.py: fix crash when a translation has the wrong number of %s (LP: #858684) 2011-09-19 sebi@glatzor.de Use constructor of super class instead of the gobject one for gtk3 widgets 2011-09-19 sebi@glatzor.de Push local changes 2011-09-19 sebi@glatzor.de Merge non-blocking-lintian branch 2011-09-18 sebi@glatzor.de Don't block on lintian calls to avoid time outs on the DBus by making use of the excellent preexec_fn of subprocess. 2011-09-18 sebi@glatzor.de Minor improvement to error message in worker test 2011-09-19 sebi@glatzor.de Push local changes 2011-09-15 Michael Vogt pyflakes based import fixes, this fixes a unneeded glib import that can cause crashes with gtk2/gtk3 (pygtk/pygi) 2011-09-07 sebi@glatzor.de Workaround a bug in apt's ListUpdate which doesn't handle cancellation properly 2011-08-27 sebi@glatzor.de Push local changes 2011-08-27 sebi@glatzor.de Unset the apt-listbugs frontend if in interactive mode 2011-08-27 sebi@glatzor.de Push local changes 2011-08-27 sebi@glatzor.de Avoid creating an apport crash report for valid DBusExceptions that are send to the client (subclasses of AptDaemonError) 2011-08-26 sebi@glatzor.de Merge mvo's defer branch with some minor changes and fixes 2011-08-17 Michael Vogt make aptdaemon.gtk3widgets.AptProgressDialog.run() deferable 2011-08-26 sebi@glatzor.de Avoid apport crash reports for the forked child, e.g. on dpkg failure, fixes LP# 799982 2011-08-26 sebi@glatzor.de Rename "shutdown" to "quit" to avoid confusions, see lp# 834104 2011-08-26 sebi@glatzor.de Python Dbus automatically converts the unsigend long to a long. So we just stick with a signed long for the elapsed time. 2011-08-26 sebi@glatzor.de Enhance dbus type test to also take double and unsigned long into account 2011-08-26 sebi@glatzor.de Finally handle use the same types as in apt for elapsed time and download speed. This should resolve all outstanding overflow errors. 2011-08-26 sebi@glatzor.de Push local changes 2011-08-26 sebi@glatzor.de Provide additional debug information in the case of a failed dbus type conversion 2011-08-26 sebi@glatzor.de Fix install of apport package hook 2011-08-26 sebi@glatzor.de Move showing a nicer name in apport reports to the package hook 2011-08-26 sebi@glatzor.de Re-enable the purge test again since the bug is now fixed in python-apt 2011-08-25 sebi@glatzor.de Refactor apport integration by moving some of the code from the crash module to an apport package hook. This will allow us to get information on crashes which are not handled by the crash module, e.g. in the core. 2011-08-25 sebi@glatzor.de Fix cdrom test case. It failed because apt-cdrom refused to add an untrusted cdrom 2011-08-25 sebi@glatzor.de Only create an apport crash report if we are running as a system service with / as the working directory. This helps as to avoid crash reports if we are running in a test environment 2011-08-25 sebi@glatzor.de Fix default values for the ProgressDetails using long 2011-08-25 sebi@glatzor.de Improve error message if a type doesn't match in the dbus test 2011-08-25 sebi@glatzor.de Merge local changes 2011-08-25 sebi@glatzor.de Update NEWS 2011-08-24 sebi@glatzor.de Make the handling of exceptions in the forked child process more robust 2011-08-24 sebi@glatzor.de push local changes 2011-08-24 sebi@glatzor.de Fix showing the header of the translation (.mo file) if we try to translate an empty string 2011-08-23 sebi@glatzor.de Remove white spaces 2011-08-23 sebi@glatzor.de Merge the apt command history log integration. Thanks to MVO! 2011-08-23 sebi@glatzor.de Move the command history creation into the progress to also get direct dpkg calls. Minor changes to the test. 2011-06-28 Michael Vogt aptdaemon/worker.py: move the log writing down into _apply_changes() 2011-06-27 Michael Vogt set apts CommandLine::AsString with the actions that are going to be performed to have this information in the apt history log file 2011-08-22 sebi@glatzor.de Merge mvo's little branch witch fixes total and done bytes in the ProgressDetails. Thanks! 2011-08-22 sebi@glatzor.de Add API changes to the NEWS file 2011-08-22 sebi@glatzor.de Merge mvo's branch 2011-08-19 Michael Vogt switch bytes_{done,total} to 64bit to follow a change in apt 2011-08-22 sebi@glatzor.de Merge mvo's multi arch branch with some minor adoptions 2011-08-22 sebi@glatzor.de Remove obsolete valid arch regex 2011-08-22 sebi@glatzor.de Harden vaild package name regex to catch names like "apt:123:" 2011-08-22 sebi@glatzor.de Add some nasty package names to the test. 2011-08-22 sebi@glatzor.de Only test packages with release if there is actually any release information 2011-08-22 sebi@glatzor.de Merge mvo's mutli arch branch 2011-08-19 Michael Vogt fix multiarch names 2011-08-17 Martin Pitt fix previous patch to only use GObject when using gi 2011-08-17 Martin Pitt convert aptdaemon/client.py and aptdaemon/debconf.py from gobject to GObject as well; works with earlier pygobject versions and gtkclient.py, and makes this work with pygobject 2.90 2011-08-17 Martin Pitt aptdaemon/gtk3widgets.py: Drop unnecessary dbus import and main loop setup, this is client code only 2011-08-17 Martin Pitt Move from static gobject to GI GObject module, to be compatible to upcoming pygobject 3.0. 2011-08-12 Michael Vogt merged lp:~mvo/aptdaemon/fix825056 2011-08-12 Michael Vogt aptdaemon/core.py: fix crash in python where _parse_localename() does not handle dbus.String() 2011-08-09 Michael Vogt merged lp:~mvo/aptdaemon/setup2to3 2011-08-09 Michael Vogt setup.py: build py3 version using 2to3 2011-08-03 sebi@glatzor.de Implement the missing PropertyChanged signal for the daemon (fixes LP#818521) 2011-07-28 sebi@glatzor.de Merge the reboot required property! Thanks to mvo 2011-07-28 Michael Vogt add reboot-required property to aptdaemon 2011-06-28 sebi@glatzor.de Merge the fixoverflow branch of Robert Roth. Thanks a lot for the work! 2011-06-28 sebi@glatzor.de Add a note to the NEWS file about the api change 2011-06-27 Robert Roth Use int64 for transaction space and download, as these might overflow (lp:#771678, lp:#758837) 2011-06-16 Martin Pitt aptdaemon/crash.py: only create crash reports if apport is enabled; also fix the __main__ test to actually work 2011-06-15 Brian Murray aptdaemon/crash.py: only create crash reports if apport is enabled 2011-06-01 sebi@glatzor.de Let aptdamen take advantage of traceback processing tools in Launchpad. Thanks Brian! 2011-05-26 Brian Murray aptdaemon/crash.py: title attachments Traceback to be consistent with apport 2011-05-25 Michael Vogt merged lp:~kelemeng/aptdaemon/bug786500, many thanks! 2011-05-22 Gabor Kelemen Add missing files to POTFILES.in, fixes LP:786500 2011-05-13 sebi@glatzor.de The TransactionCancelledError() doesn't provide any details by default 2011-04-28 sebi@glatzor.de Overwrite the dbus.exceptions.DBusExption.get_dbus_message() method to handle unicode error messages. 2011-04-28 sebi@glatzor.de Just one more comment :) 2011-04-28 sebi@glatzor.de Add some comments to the dbus exception test 2011-04-28 sebi@glatzor.de Add a small test which demonstrates the encoding/decoding problems regarding Dbus exceptions 2011-04-20 sebi@glatzor.de Handle interrupts in the forked child. Otherwise the atexit methods would be called, e.g. the frozen status decorator. 2011-04-20 sebi@glatzor.de Return the file descriptor of a lock if it was already acquire to avoid leaking file descriptors. 2011-04-19 sebi@glatzor.de Convert the message of AptDaemonErrors to unicode 2011-04-19 sebi@glatzor.de Update NEWS 2011-04-18 Michael Vogt merged lp:~evfool/aptdaemon/fix764422 , many thanks! 2011-04-18 Robert Roth Fixed bad parameter name (LP: #764422) 2011-04-18 sebi@glatzor.de Don't fail if the master_fd was already closed at the end of the run() call and the io callback was still queued on the main loop 2011-04-18 sebi@glatzor.de Don't crash on the dpkg disappear status by adding a mapping 2011-04-17 sebi@glatzor.de Fix argument handling in wait_for_lock call. Fixes LP #763642 2011-04-15 sebi@glatzor.de Catch broken and really large install sizes specified in third party packages which result in an overflow error, LP #758837 2011-04-15 sebi@glatzor.de Set the status of queued transaction to waiting instead of running (running is set by the worker) 2011-04-15 sebi@glatzor.de Unify cache opening method to catch cache breakages 2011-04-15 sebi@glatzor.de Don't require a dependency on libc in the lintian check - lsb packages don't have it. 2011-04-14 sebi@glatzor.de Configure the mount point for the cdrom test via files instead of hardcoding in the worker 2011-04-14 sebi@glatzor.de Test cdrom test now works perfectly. No need to skip it anymore. 2011-04-14 sebi@glatzor.de The worker should read configurations file from a given chroot. Also specify the dpkg-wrapper in the test.Chroot in aconfig file (fixes the cdrom test) 2011-04-14 sebi@glatzor.de Fix the deferred client test 2011-04-14 sebi@glatzor.de Add a test for the cdrom installation - unluckily the dpkg call in the chroot seems to fail. 2011-04-14 sebi@glatzor.de Hardcode the media mount point iif a chroot is used 2011-04-14 sebi@glatzor.de aptdaemon.test.Chroot now has got new methods to handle faked cdrom repositories: add_cdrom_repository(), mount_cdrom() and unmount_cdrom() 2011-04-14 sebi@glatzor.de Fix remaining refactoring issues in watch_lock 2011-04-13 sebi@glatzor.de Fix detection of a failed lintian check by convert the exit status correctly 2011-04-13 sebi@glatzor.de Fix the string decode helper. Decode() method doesn't support key word arguments and actually return a converted string. 2011-04-13 sebi@glatzor.de Freeze (copy) the dpkg status file during a dpkg call to allow simulating other transactions with the frozen dpkg status. This is a small revival of the former future status. 2011-04-13 sebi@glatzor.de Important fix: call apt.cache.Cache.open() after update(). Could be the cause for some strange errors. 2011-04-12 sebi@glatzor.de Fix a small logging message typo, thanks johnnyboy0y 2011-04-12 sebi@glatzor.de Update NEWS 2011-04-12 sebi@glatzor.de merge local changes 2011-04-12 sebi@glatzor.de Don't treat a lintian error as a policy violation (using correct exit states) 2011-04-09 sebi@glatzor.de Don't segfault if we cannot read the status of the process holding a lock - fixes LP #745517 2011-04-09 sebi@glatzor.de Fix closing a not used terminal file descriptor 2011-04-09 sebi@glatzor.de Add a small reminder that we need to remove the unused AptMessageDialog in the future 2011-04-09 sebi@glatzor.de Fix a wrong reference to arch 2011-04-09 sebi@glatzor.de Fix some refactoring leftofters in the lock module (thanks to Barry Warsaw and pylint) 2011-04-08 sebi@glatzor.de Fix errors from last commit. 2011-04-08 sebi@glatzor.de Make the get_dbus_string method more pythonic. Thanks juliank 2011-04-08 sebi@glatzor.de Open the controlling terminal of the client when it is needed and don't keep open fds around. Furthermore fallback to non-interactive mode if the terminal isn't available. Fixes a lot of bugs. 2011-04-07 sebi@glatzor.de Switch to non-interactive mode if the terminal cannot be attached 2011-04-07 sebi@glatzor.de Don't keep the terminal fd open by reverting 596.1.1 2011-04-07 sebi@glatzor.de Fix copy and paste error: do not call logging in the lock module (fixes LP #752220) 2011-04-07 sebi@glatzor.de Merge the relax lintian branch 2011-04-06 sebi@glatzor.de Merge with trunk 2011-04-06 sebi@glatzor.de Improve lintian handling: Run lintian twice once with the fatal and a second time with the non fatal tags. Allow distributions to ship alternative tag files. 2011-04-06 sebi@glatzor.de Allow to install files in opt 2011-04-06 sebi@glatzor.de Use the the lintian tags from the lintian package (2.5.0RC2) as a starting point. 2011-04-06 sebi@glatzor.de Install the lintian tags file 2011-04-06 sebi@glatzor.de Remove the tags provided by mvo 2011-04-06 sebi@glatzor.de Allow to install files in /opt 2011-04-06 sebi@glatzor.de Add lintian tags from the Debian ftp masters 2011-03-26 sebi@glatzor.de Uncomment the not used test instead of removing to make changes more transparent 2011-03-26 sebi@glatzor.de Revert the original lintian checks 2011-03-23 Michael Vogt tweak checks, add really broken package, update tests 2011-03-23 Michael Vogt add initial lintian check list based on ftpmaster tags 2011-04-06 sebi@glatzor.de Fix unicode decoding test 2011-04-06 sebi@glatzor.de Merge local changes - mostly unicode decoding fixes 2011-04-06 sebi@glatzor.de Put an end to UnicodeDecodeErrors! Make sure to convert all strings to unicode before processing. 2011-04-05 Michael Vogt aptdaemon/gtkwidgets.py: remove leftover debugging pdb import 2011-04-05 sebi@glatzor.de Make the run method of the GTK2 progress dialog deferable 2011-04-05 sebi@glatzor.de Client: Exit the transaction processing if there has been an error 2011-04-05 sebi@glatzor.de API adoption: The Transation.attach() method was replaced by sync() 2011-04-05 sebi@glatzor.de Allow to specify package names with an architecture 2011-04-05 sebi@glatzor.de Remove the url to the aptdaemon bug tracker since we nowadays use apport directly 2011-04-05 sebi@glatzor.de Merge the no future branch 2011-04-05 sebi@glatzor.de Remove the support for the future status. It allowed to simulate a transaction with the queued changes. Multi arch adds more syntax and complexity 2011-04-05 sebi@glatzor.de Merge mvo's workaround of lp #724735 with some minor changes. 2011-04-01 Michael Vogt aptdaemon/core.py, tests/test_worker.py: fix i18n crash (#724735) and add test 2011-04-05 sebi@glatzor.de Instead of failing wait for the dpkg status lock after a transaction was processed. The lock_cache moves to the lock module as wait_for_lock and is reused by the progress for the status lock. 2011-03-24 sebi@glatzor.de Merge local changes 2011-03-24 sebi@glatzor.de Don't override DBusException.args in TransactionFailed 2011-03-23 Michael Vogt aptdaemon/config.py: rename "last_char" to "prev_char" to avoid confusing it with the last char of a line, fix parser when a // is found inside a value (like for http urls); tests/test_configparser.py: add regression test 2011-03-23 Michael Vogt aptdaemon/core.py: simplify verification by using the split code from the worker and verifying each regexp individually; tests/test_valid_package_names.py: add more test cases 2011-03-23 Michael Vogt aptdaemon/core.py, tests/test_valid_package_names.py: fix the verification of the packagenames, based on http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source and http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version and add test 2011-03-22 sebi@glatzor.de Fix variable name in the Finished signal 2011-03-22 sebi@glatzor.de Don't raise an error if trying to close an already closed fd 2011-03-22 sebi@glatzor.de Merge local changes 2011-03-22 sebi@glatzor.de Check the package names 2011-03-22 sebi@glatzor.de Open the controlling terminal already at the SetTerminal call time and keep it open. This way we don't get into problems if the client dies before we start executing the transaction. 2011-03-22 Michael Vogt aptdaemon/worker.py: fix typo (LP: #733732), thanks to seb128 2011-03-17 Martin Pitt ./data/org.debian.apt.policy.in: Drop gettext domain field, it will be added during package build. (LP: #690270) 2011-03-16 sebi@glatzor.de Name Sergey in the security issue test. Thanks. 2011-03-08 sebi@glatzor.de Fix the installation of local packages which are not yet known to the cache. There have been two small bugs: One that assigns the packages to the depends andanother one trying to item assign in a dbus.Struct. 2011-03-03 Michael Vogt tests/test_client.py: simplify (thanks to Sebastian Heinlein for his suggestions) 2011-03-02 Martin Pitt gtk3widgets.py: Fix require_version usage. Drop usage of require_version() from gtk3widgets.py; this was meant to be commented out, and doesn't belong in a library. Instead, move the (now really commented) call to gtk3-demo.py. 2011-03-02 Michael Vogt aptdaemon/worker.py, tests/test_client.py: fix crash in client.add_repository(), add test for client.add_repository(), refactor test for enable_component() to make it more generic 2011-03-02 Michael Vogt aptdaemon/worker.py, tests/test_client.py: fix crash in enable_distro_component and add test, update docstring (and fix docstring for remove_vendor_key along the way) 2011-03-01 sebi@glatzor.de Call waitpid after reading the output from lintian to avoid interrupted system calls on systems under heavy load 2011-03-01 sebi@glatzor.de Update NEWS 2011-03-01 sebi@glatzor.de Show details about broken dependencies 2011-02-24 sebi@glatzor.de Merge 2011-02-24 sebi@glatzor.de Merge security fix for LP #722228 an update NEWS for a new release 2011-02-22 Michael Vogt merged lp722228 fix from glatzor 2011-02-22 sebi@glatzor.de Fix the security issue CVE-2011-0725 tracked in LP #722228 and add a regression test. The UpdateCache method allows to specify an alternative sources.list snippet to only update the repositories specified in the corresponding configuration file. Aptdaemon did not restrict the path to the sources.list.d directory and allowed to inject packages from malicious sources specified in a custom sources.list and even to read every file on the system. Thanks to Michael Vogt for the inital patch and test! 2011-02-22 sebi@glatzor.de get_tests_dir should return a normalized path which already resolved any symbolic links 2011-02-22 sebi@glatzor.de Only report packages as kept back if marked as keep - otherwise we also get upgradable packages which would get removed. 2011-02-19 sebi@glatzor.de Merge the set-candidate-release branch 2011-02-19 sebi@glatzor.de Update the documentation 2011-02-19 sebi@glatzor.de Make use of the new SetCandidateRelease function of APT to allow selecting the release of a package. The traditional apt-get syntax package/release will be used to specify the release. 2011-02-09 Michael Vogt tests/test_lock_location.py: ensure that aptdaemon.lock gets reloaded in the test (this should fix the test failure during build) 2011-02-08 sebi@glatzor.de Make sure to test a newly initiated aptdaemon.lock module. Otherwise we get the lock pathes of previous tests. 2011-02-08 Michael Vogt tests/test_lock_location.py, tests/test_lock.py: split LockFileLocationTest into its own file to avoid pollution of apt_pkg.config from one test to the next 2011-02-08 Michael Vogt tests/test_lock.py: make tests work when Dpkg::Post-Invoke has root only commands 2011-02-08 Michael Vogt aptdaemon/worker.py: clear DPkg::Post-Invoke when inside chroot mode 2011-02-08 sebi@glatzor.de Don't hardcode UTF-8 encoding for the worker child process. Convert the output from the child process to unicode before adding to the error message in the case of an package manager failure 2011-02-08 sebi@glatzor.de Don't show the same short desc of a download twice if e.g. two Packages files are downloaded simultaneously. 2011-02-07 sebi@glatzor.de Push today's train ride outcome 2011-02-07 sebi@glatzor.de The io_add_watch callback should either return True or False. By default it should be True. 2011-02-07 sebi@glatzor.de The install local package file now includes detecting of invalid packages using lintian. 2011-02-07 sebi@glatzor.de Convert status_messages of apt from the default fs encoding to unicode. 2011-02-06 sebi@glatzor.de Instead of using sudo, fork and change uid to run linitan 2011-02-02 sebi@glatzor.de Only try to remove a listener for the debconf socket if one is running 2011-02-01 sebi@glatzor.de If there isn't any transaction on the queue we send an early progress information. Otherwise it juse seems that aptdaemon hangs since it doesn't send any progress information after the the transaction has been started. Thanks Gary for the hint! 2011-01-31 sebi@glatzor.de Push local changes 2011-01-31 sebi@glatzor.de Start a private dbus-daemon for the tests and automatically use it for the started aptd and fake polkitd 2011-01-30 sebi@glatzor.de Don't replace another testing aptdaemon 2011-01-30 sebi@glatzor.de Fix dbus type test 2011-01-30 sebi@glatzor.de Switch the dbus type test to unittest2 to get support for cleanups 2011-01-30 sebi@glatzor.de Add a patch from mvo to protect sources.list files which contain passwords. Thanks! 2011-01-30 sebi@glatzor.de Remove the test chroot in a cleanup. So we also remove chroots of failed tests 2011-01-30 sebi@glatzor.de Add a new class aptdaemon.test.AptDaemonTestCase which provides the start_session_aptd and start_fake_polkitd methods. Use cleanups to kill the helper processes even if the test failed. Make use of the new class in the client test. 2011-01-29 sebi@glatzor.de Move tests/utils.py to aptdaemon.test to allow writting tests for aptdaemon clients easily. Furthermore system wide installed test data is used optionally. 2011-01-27 sebi@glatzor.de Push local changes 2011-01-27 sebi@glatzor.de Update NEWS file for release 2011-01-25 sebi@glatzor.de Add the transaction error to apport report 2011-01-22 sebi@glatzor.de Remove the execute privileges from the crash module 2011-01-22 sebi@glatzor.de Remove unused import of sys in crash 2011-01-22 sebi@glatzor.de Respect the flags argument in the policykit1.check_authorization_by_pid method. 2011-01-22 sebi@glatzor.de Fix missing trans arguments in the worker 2011-01-22 sebi@glatzor.de Adapt the future status test to the latest API changes 2011-01-22 sebi@glatzor.de Use an AptWorker in the lock test to set the lock pathes to the chroot. 2011-01-27 Martin Pitt adjust gtk3widgets.py to work with current pygobject/gtk 2011-01-21 sebi@glatzor.de Make sure to output the details of a TransactioNFailed error if it gets raised 2011-01-21 sebi@glatzor.de Fix Packages remove failure test. Chroot env won't be set anymore by utils.Chroot.setup() 2011-01-21 sebi@glatzor.de Push local changes! 2011-01-21 sebi@glatzor.de Add a test for the client module 2011-01-21 sebi@glatzor.de Allow aptdaemon to apply changes to a chroot. Move the code from the test utils to the worker. 2011-01-21 sebi@glatzor.de Add a small policykit fake daemon which can listen on the session bus. 2011-01-21 sebi@glatzor.de Minor clean up in the worker test 2011-01-21 sebi@glatzor.de Allow to run aptdaemon on the session bus 2011-01-20 sebi@glatzor.de Add a test which tiggers a nasty bug in apt: If Packages lists are removed the apt.Cache.required_download method fails. This is corner case if the repository lists are updated. 2011-01-19 sebi@glatzor.de Push today's train ride outcome! 2011-01-19 sebi@glatzor.de Store the output of all progresses in the transaction. Add the output to the apport crash report. Furthermore raise an PACKAGE_MANAGER_FAILED error instead of an unknown error if the dpkg call failed. 2011-01-19 sebi@glatzor.de Respect the Dir::bin:DPkg and Dpkg::Options settings when launching dpkg. 2011-01-18 sebi@glatzor.de Push local changes! 2011-01-18 sebi@glatzor.de Update the test worker 2011-01-18 sebi@glatzor.de Move setting the transaction properties from the simulate results to the worker 2011-01-18 sebi@glatzor.de Reuse the processing code for simulating a transaction. Unify the install/remove/upgrade_packages methods to use commit_packages. 2011-01-17 sebi@glatzor.de Simualte and test fix_broken_depends transaction 2011-01-17 sebi@glatzor.de Allow to install packages with broken depends into the test chroot. 2011-01-13 sebi@glatzor.de Switch the worker test to unittest2 and skip the purge test, since it is known to fail. 2011-01-13 sebi@glatzor.de Skip the archives lock list if there isn't any internet connection 2011-01-13 sebi@glatzor.de Switch to unittest2 for test collection and discovery. Seems to handle apt_pkg better. 2011-01-13 sebi@glatzor.de Add the process and path to the LockFailedError message. 2011-01-13 sebi@glatzor.de Call apt_pkg.init in the lock module to make sure using the correct pathes 2011-01-13 sebi@glatzor.de Replace sys path modification by a symlink 2011-01-13 sebi@glatzor.de Add a tests for the locking mechanisms. 2011-01-13 sebi@glatzor.de Add missing spaces to error messages. Thanks, Adnane Belmadiaf 2011-01-13 sebi@glatzor.de Merge mvo's fixes for the cache open progress! Thanks! 2011-01-12 Michael Vogt make the cache-open progress emit the signal and add test for it 2011-01-12 sebi@glatzor.de Don't capture the logging in tests by default 2011-01-12 sebi@glatzor.de Make the tests work again (except of the trans chaining one). Allow to launch the tests by setup.py. Add a test for the worker. 2011-01-12 sebi@glatzor.de Fix clearing apt_pkg config values in the utils 2011-01-12 sebi@glatzor.de Allow to add a prefix to the chroot path and reset the root dir and status file config in the apt configuration during clean up 2011-01-12 sebi@glatzor.de Make sure to reset the status file in future status test. 2011-01-12 sebi@glatzor.de Use the tests dir location helper in the debconf test 2011-01-12 sebi@glatzor.de Add a small helper to detect the path to the tests direcotry. Allows to launch each test by file or by a global collector, e.g. nose. 2011-01-12 sebi@glatzor.de Adapt future status test to latest API 2011-01-12 sebi@glatzor.de Don' start the debugger on test failures. Disable non working test coverage 2011-01-12 sebi@glatzor.de Temporarilly disable the transaction chain tests. Require a running aptdaemon 2011-01-10 sebi@glatzor.de Remove no longer needed test for dpkg_journal_clean. It is now part of python-apt 2011-01-10 sebi@glatzor.de Use a real chroot for the dbus type test 2011-01-10 sebi@glatzor.de Move all chroot related methods to a separate class utils.Chroot 2011-01-10 sebi@glatzor.de Add a wrapper to run dpkg with fakeroot 2011-01-10 sebi@glatzor.de Move the chroot creation to a separate module for easier reuse 2011-01-10 sebi@glatzor.de Add a test for the aptworker 2011-01-10 sebi@glatzor.de Add a test repo with the silly packages 2011-01-07 sebi@glatzor.de Move test folder to project root 2011-01-07 sebi@glatzor.de Use UTF8Strings 2011-01-12 sebi@glatzor.de The sizes in the ProgressDownload are now of type long - following the API changes in APT. Therefor the signature of the ProgressDownload struct changed to "ssxxs". 2011-01-05 sebi@glatzor.de The sizes in the ProgressDownload are now of type long - following the API changes in APT. Therefor the signature of the ProgressDownload struct changed to "ssxxs". 2010-12-21 sebi@glatzor.de Make sure to convert the content of dbus structs correctly. The dbus bindinges don't seem to enforce the types speficed in the signature of the struct. 2011-01-10 Martin Pitt gtk3widgets.py: Make work with GTK2, too - Rename variables which are GObject properties, as with GTK2-gi they are not writable. - Work around GTK2 Gdk.WMFunction enum bug. - Drop GTK 3 requirement from gtk3-demo.py, as it now also works with 2. 2011-01-09 Martin Pitt aptdaemon/gtk3widgets.py: When using GTK 2, import the correct Vte GIR version 2011-01-09 Martin Pitt gtk3widgets.py: Put back AptTerminal class, now that vte has a GTK3 GIR 2010-12-14 sebi@glatzor.de Merge lp:~mvo/aptdaemon/python-apt-0.8 2010-12-13 Michael Vogt aptdaemon/progress.py: python-apt 0.8 does not call with percent argument anymore 2010-12-14 sebi@glatzor.de Push local changes 2010-12-14 sebi@glatzor.de Allow to change the packages property of a transaction. Set the packages correctly if installing localfiles. 2010-12-14 sebi@glatzor.de Fix two small errors: self.trans isn't used in simulate. Error messages have to be converted to string, since the replace method in the gettext call 2010-12-14 sebi@glatzor.de Run lintian as the user who initiated the transaction using sudo instead of root 2010-12-13 sebi@glatzor.de White space fixes 2010-12-10 sebi@glatzor.de Fix: Don't inject empty string in the packages and dependency property. We now set the signature. 2010-12-10 sebi@glatzor.de Update NEWS 2010-12-10 sebi@glatzor.de Convert properties to the documented dbus types before emitting: Dependencies, Packages, MetaData, ProgressDownload, UnattendedUpgrades. Fix documentation of ProgressDownload (missing status message) and typo in ConfigFileConflict. 2010-12-10 sebi@glatzor.de Add support for nested structures and aptdaemon properties to the type check. 2010-12-09 sebi@glatzor.de Convert values of transaction properties to the final dbus type in the setter calls. 2010-12-09 sebi@glatzor.de Add a test to check if the correct types are emitted by the dbus daemon 2010-12-09 sebi@glatzor.de Fix minor spelling error in documentation 2010-12-07 sebi@glatzor.de Push local changes 2010-12-07 sebi@glatzor.de Call the __init__ of gobject.GObject instead of the Gtk class one in subclasses 2010-12-07 Michael Vogt aptdaemon/core.py: do not raise if there is no aptdaemon translation for the given locale 2010-12-07 sebi@glatzor.de Merge GTK3 support. Thanks a lot Martin! 2010-12-06 Sebastian Heinlein Use new style classes for the GTK(2|3) demo class 2010-12-06 Sebastian Heinlein GTK3: call the __init__ method of the parent class instead the one of gobject.Gobject 2010-12-06 sebi@glatzor.de Merge with trunk 2010-12-02 Martin Pitt remove workaround for GNOME#636043, fixed now 2010-11-30 Martin Pitt Fix NEWS entry 2010-11-30 Martin Pitt gtk3widgets.py: Put back text tagging 2010-11-29 Martin Pitt gtk3widgets.py: Do not wrap title label in AptConfirmDialog, looks ugly 2010-11-29 Martin Pitt Port gtk3widgets.py and gtk3-demo.py to GTK-3.0 and gobject-introspection 2010-11-27 Martin Pitt create gtk3-demo.py and gtk3widgets.py as copies of gtk-demo.py and gtkwidgets.py (will be ported next) 2010-11-27 Martin Pitt core.py: Fix documentation of "packages" property 2010-12-04 sebi@glatzor.de Don't fail if an error string contains a % but doesn't make use of string replacements. 2010-12-04 sebi@glatzor.de Push local changes 2010-12-04 sebi@glatzor.de Fix transfering the force parameter in the install file call. Furthermore reuse could between simualte and the actual function. 2010-11-22 sebi@glatzor.de Store the exception in the error property of the transaction. It allows to easily raise it again. 2010-11-18 sebi@glatzor.de Release 0.40 2010-11-18 sebi@glatzor.de Push local changes 2010-11-18 sebi@glatzor.de Update NEWS 2010-10-26 sebi@glatzor.de Fix localtion of the lists lock 2010-10-22 sebi@glatzor.de Don't use unnamed arguments in string formating of ngettext calls. Thanks David! 2010-10-22 sebi@glatzor.de Use gettext domain in policy file 2010-10-22 sebi@glatzor.de Raise invalid package file error if the Installed-Size is invalid 2010-10-22 sebi@glatzor.de Add a force option to InstallFile which allows to install packages which violate the Debian/Ubuntu policy. 2010-10-22 sebi@glatzor.de Use lintian to check local deb file before installing 2010-10-22 sebi@glatzor.de Add two new error enums to handle unreadable and invalid package files 2010-10-21 sebi@glatzor.de Add a desktop file to show a nicer error message in apport 2010-10-21 sebi@glatzor.de Use the Crash type 2010-10-21 sebi@glatzor.de Remove passwords from the sources list in crash reports 2010-10-21 sebi@glatzor.de Send custom error reports to Launchpad with additional information about the transaction and the apt configuration. 2010-10-20 sebi@glatzor.de Fix more variable names 2010-10-20 sebi@glatzor.de Fix variable name 2010-10-20 sebi@glatzor.de Fix gettext call 2010-10-20 sebi@glatzor.de Code cleanup with a little help from my friend pylint 2010-10-20 sebi@glatzor.de More pylint clean ups 2010-10-20 sebi@glatzor.de More pylint fixes! 2010-10-20 sebi@glatzor.de A lot of code improvements and bug fixes thanks to pylint! 2010-10-19 sebi@glatzor.de Be more robust in the installed-size conversion 2010-10-19 sebi@glatzor.de Push local changes 2010-10-19 sebi@glatzor.de Fix thousands commas in debian packages. 2010-10-18 sebi@glatzor.de Add documentation for daemon properties 2010-10-08 sebi@glatzor.de Push local changes. 2010-10-08 sebi@glatzor.de Move plugin documentation to sphinx 2010-10-08 sebi@glatzor.de Add a new privilege to change the APT config 2010-10-07 sebi@glatzor.de Update NEWS 2010-10-07 sebi@glatzor.de Allow to change apt configuration files! 2010-10-07 sebi@glatzor.de Use the new ConfigWriter to allow persistent changes of the apt configuration! 2010-10-07 sebi@glatzor.de Convert the value to string, check if a value needs to be changed at all. Use logging for logging. 2010-10-07 sebi@glatzor.de Add a set_value mehtod to the configuration writer. 2010-10-07 sebi@glatzor.de Add test for the configuration parser 2010-10-07 sebi@glatzor.de Move parsing of the configuration file to a separate method. Use a Value class which stores the coordinates of the value in the config file. 2010-10-05 sebi@glatzor.de Add a basic APT configuration parser. 2010-10-01 sebi@glatzor.de Allow to read and change the popcon participation using a property of the org.debian.apt interface 2010-10-01 sebi@glatzor.de Move properties support to a more generic DBusObject class 2010-10-01 sebi@glatzor.de Push local changes 2010-10-01 sebi@glatzor.de Add properties to the org.debian.apt interface to configure apt peridoic 2010-09-30 sebi@glatzor.de Add a transaction to reconfigure already installed packages using debconf. 2010-09-29 sebi@glatzor.de Add a new transaction to clean up the downloaded package files. 2010-09-28 sebi@glatzor.de Remove the defer argument in the chained exampled 2010-09-28 sebi@glatzor.de Add documentation for the unauthenticated property 2010-09-28 sebi@glatzor.de Include the chained.py example in the documentation 2010-09-28 sebi@glatzor.de Merge changes from the stable branch 2010-09-28 sebi@glatzor.de release 0.33 2010-09-28 sebi@glatzor.de Merge latest translation updates! Thanks a lot to all the translators! 2010-09-28 sebi@glatzor.de Update documentation 2010-09-28 sebi@glatzor.de If the lists are locked by e.g. apt-get update raise an error lock error instead of a "programming error". The locking was reworked in the trunk branch. 2010-09-28 sebi@glatzor.de Push local changes 2010-09-28 sebi@glatzor.de Merge michaels changes with some small adoptions. Thanks a lot! 2010-09-28 Michael Vogt make "unauthenticated" property fully work 2010-09-28 Michael Vogt add unauthenticated property 2010-09-27 Michael Vogt aptdaemon/enums.py: show correct error text when a key can not be installed (copy/paste error in the source) 2010-09-27 Michael Vogt aptdaemon/worker.py: do not crash if sys.stdin.encoding returns None 2010-09-18 sebi@glatzor.de Fix gettext string - thanks gabor! 2010-09-27 sebi@glatzor.de Push train ride work 2010-09-27 sebi@glatzor.de Fix property signatures in the documentation. minor improvements to the dbus doc 2010-09-27 sebi@glatzor.de Inject the properties into the xml introspection data 2010-09-27 sebi@glatzor.de Be more strict with the type of the properties 2010-09-25 sebi@glatzor.de Document the use of PolicyKit and properties. Many minor doc fixes. 2010-09-24 sebi@glatzor.de Push local changes 2010-09-24 sebi@glatzor.de More documentation fixes. 2010-09-24 sebi@glatzor.de Fix references in the documentation 2010-09-24 sebi@glatzor.de Improve setup.py 2010-09-22 sebi@glatzor.de More documentation ... 2010-09-21 sebi@glatzor.de only release all locks if one of them failed and not always. 2010-09-21 sebi@glatzor.de Upload today's train work 2010-09-21 sebi@glatzor.de Even more documentation in reStructuredText 2010-09-21 sebi@glatzor.de Copy a deb file which is located on a gvfs (FUSE) directory to /tmp before installing, since root is not allowed to access it. 2010-09-20 sebi@glatzor.de Rework locking: Lock the lists too. During an installation the lock on the archives/lists is still hold and we only unlock the dpkg status. This should fix races between apt-get and aptdaemon. 2010-09-17 sebi@glatzor.de Small refractoring: move the get_lock_fd method to the module level 2010-09-17 sebi@glatzor.de Refractor the lock module: move the lock holder name detection to a separate method 2010-09-17 sebi@glatzor.de Update NEWS 2010-09-17 sebi@glatzor.de Merge the auth-later branch which moves the authentication to the run method of the transaction. This allows to simulate transaction without having to authenticate. 2010-09-13 sebi@glatzor.de Set authentication and running state for the transaction 2010-09-13 sebi@glatzor.de Add a new status STATUS_AUTHENTICATING 2010-09-13 sebi@glatzor.de Convert CommitPackages to use the _create_trans helper 2010-09-13 sebi@glatzor.de Remove the action argument from the _create_trans helper 2010-09-13 sebi@glatzor.de Require authentication at running the transaction and not on creation 2010-09-13 sebi@glatzor.de Do not export a removed privilege 2010-09-17 sebi@glatzor.de Fix package argument for (Remove|Install|Upgrade)Packages 2010-09-17 sebi@glatzor.de Fixes to the async wait statement: It should only return the exit state instead of the transaction. Furthermore disconnect the signal handler for the finished signal if the transaction has been completed. 2010-09-17 sebi@glatzor.de Merge with 0.3 branch 2010-09-16 Michael Vogt aptdaemon/client.py: ensure that deferred_wait.callback() is called only once (the subsequent one will raise anyway). this can happen e.g. when AptClient.get_transaction() is called, this will sync the properties and lead to the "finished" signal getting emited again 2010-09-16 Michael Vogt aptdaemon/core.py: remove unneeded inline_callbacks decorator 2010-09-16 sebi@glatzor.de Allow to purge already removed packages which still have config files left on the system. 2010-09-16 sebi@glatzor.de Fix looping logic in the client to fix a combined wait and sync call e.g. client.install_packages(["angi"]) 2010-09-15 sebi@glatzor.de Fix wrong wait default value for enable_distro_component - thanks mvo 2010-09-15 sebi@glatzor.de Set STATUS_WAITING if a transaction is queued. 2010-09-11 sebi@glatzor.de Merge with stable branch 2010-09-10 sebi@glatzor.de Fix local dpkg installation from unicode pathes by converting the strings to UTF-8 2010-09-10 sebi@glatzor.de Fix mapping of the Transaction error property. Set the default error code to "" since we now use strings as enums. 2010-09-10 sebi@glatzor.de Remove obsolete defer arguments 2010-09-10 sebi@glatzor.de Cherry pick automatic deferreds in the deferable decorator. 2010-09-09 Michael Vogt aptdaemon/core.py: allow enums.ROLE_ADD_VENDOR_KEY_FROM_KEYSERVER as well for INSTALL_PURCHASED_PACKAGES 2010-09-09 sebi@glatzor.de Fix a typo 2010-09-09 sebi@glatzor.de Fix queuing the after transactions 2010-09-09 sebi@glatzor.de defer: fix missing warnings import 2010-09-09 sebi@glatzor.de handle a non available traceback in the inline_callbacks 2010-09-09 sebi@glatzor.de Merge the auth me less branch! 2010-09-09 sebi@glatzor.de Fix allowing every non high level transaction. 2010-09-09 sebi@glatzor.de Add an example script 2010-09-09 sebi@glatzor.de Modify the auth-me-less patch to accept the new privileges 2010-09-09 sebi@glatzor.de Add new privileges install-packages-from-new-repo and install-purchased-packages 2010-09-09 sebi@glatzor.de Apply auth-me-less patch 2010-09-09 sebi@glatzor.de Revert some accidental changes to the policykit1 module 2010-09-09 sebi@glatzor.de Update NEWS 2010-09-09 Michael Vogt aptdaemon/worker.py: if sources_list for a partial cache update is not a absolute path, use dir::etc::sourceparts 2010-09-09 sebi@glatzor.de Merge the update-cache-partially branch 2010-09-09 sebi@glatzor.de Update documentation 2010-09-09 sebi@glatzor.de Add the sources_list as an optional argument to client.AptClient.update_cache. 2010-09-09 sebi@glatzor.de Add a new method UpdateCachePartially() to the org.debian.apt D-Bus interface which allows to update only the repositories from a given sources.list snippet. 2010-09-09 sebi@glatzor.de Don't fail if LC_ALL cannot be unset 2010-09-08 sebi@glatzor.de There isn't any need to unset LC_ALL in the console client 2010-09-08 sebi@glatzor.de Don't set the textdomain in the gtkwidgets (this overwrite's the domain of the application importing the module). Thanks mvo! Fixes LP:#631675 2010-09-04 sebi@glatzor.de Cherry pick from stable branch 2010-09-04 sebi@glatzor.de Fix: Also add CommitPackages transactions to the limbo 2010-09-04 sebi@glatzor.de Fix a wrong reference to the defer module 2010-09-04 sebi@glatzor.de Fix: export new role enums and add documentation string 2010-09-04 sebi@glatzor.de Merge with stable and update documentation 2010-09-04 sebi@glatzor.de Update NEWS 2010-09-04 sebi@glatzor.de Merge with make-trans branch. 2010-09-04 sebi@glatzor.de Make AddRepository and EnableDistroComp transaction based 2010-09-04 sebi@glatzor.de Add a small example on how to use transaction chaining 2010-09-04 sebi@glatzor.de Merge stable branch and update documentation 2010-09-03 sebi@glatzor.de Push local merge of run_After branch 2010-09-03 sebi@glatzor.de Merge the run_after branch 2010-09-03 sebi@glatzor.de Add a test for chaining of transactions 2010-09-03 sebi@glatzor.de Fix an arg rename 2010-09-03 sebi@glatzor.de Add a new RunAfter method to the transaction which allows to chain transactions. It is only required to call the Run method on the first transaction in the chain. If a transaction in the chain fails all other one which follow will fail too with the new exit state EXIT_PREVIOUS_FAILED. 2010-09-03 sebi@glatzor.de Add a new exit state to indicate if a transaction failed because of a previously chained one. 2010-09-03 sebi@glatzor.de Enhance the DummyWorker to have transaction which fail or succeed automatically. Furthermore set the transaction of the worker to none after before emitting the transaction-done signal. 2010-09-03 sebi@glatzor.de Let the update_cache and upgrade_system transaction fail in the dummy worker for testing 2010-09-03 sebi@glatzor.de Add a limbo to keep track of not yet queued transactions 2010-09-03 sebi@glatzor.de Send the transaction object instead of only its tid to the queue after completing 2010-08-31 Michael Vogt data/org.debian.apt.policy.in: add missing gettext prefixes 2010-09-04 sebi@glatzor.de New reStructuredText documentation for AptTransaction 2010-09-03 sebi@glatzor.de Fix spelling errors in aptdaemon.enums.__all__ 2010-09-02 sebi@glatzor.de Add a short introduction to the usage of the client module 2010-09-02 sebi@glatzor.de Fix sections 2010-09-02 sebi@glatzor.de Strip white spaces from signal parameters 2010-09-02 sebi@glatzor.de Big beautification and documentation update of the enums module. 2010-09-01 sebi@glatzor.de Add a new signal directive to the sphinx documentation 2010-08-27 sebi@glatzor.de Cherry pick from stable 2010-08-27 sebi@glatzor.de Allow set the transaction of the AptCancelButton later 2010-08-26 sebi@glatzor.de Adapt docstrings to sphinx for the org.debian.apt interface 2010-08-26 sebi@glatzor.de Add a basic sphinx-based documentation 2010-08-25 sebi@glatzor.de Merge from stable branch 2010-08-25 sebi@glatzor.de Fix __all__ of lock 2010-08-25 sebi@glatzor.de Fix defer imports 2010-08-25 sebi@glatzor.de Remove defer module from aptdaemon project 2010-08-25 sebi@glatzor.de Merge changes from the stable branch 2010-08-25 sebi@glatzor.de Lock the cache before running fix incomplete install 2010-08-25 sebi@glatzor.de Move the locking to a separte module to get a SystemLock singelton. Furthermore use this to keep the apt system locked during downloading. Fixes LP #616470 2010-08-25 sebi@glatzor.de Try to fix an incomplete install instead of failing 2010-08-25 sebi@glatzor.de Use an unkown progress range for dpkg operations by default 2010-08-25 sebi@glatzor.de Handle unkown progress better. Emit an unkown progress for dpkg operations instead of 0 2010-08-25 sebi@glatzor.de Translate messages in the progress to the lang of the transaction 2010-08-25 sebi@glatzor.de Add plural gettext to the transaction 2010-08-25 sebi@glatzor.de Merge stable changes 2010-08-24 sebi@glatzor.de Give the user more time to authenticate - to be exactly a whole day - fixes LP#623424 2010-08-24 sebi@glatzor.de Actually only a fake _ function is required in worker. the translation itself is performed by the Transaction instance later on. 2010-08-24 sebi@glatzor.de A lot of work just to translate a short string. 2010-08-24 sebi@glatzor.de Forward port changes from the stable branch 2010-08-24 sebi@glatzor.de Merge local changes 2010-08-24 sebi@glatzor.de Don't construct a list in the arguments spec 2010-08-24 sebi@glatzor.de Call missed Exception.__init__ in LockFailedError 2010-08-24 sebi@glatzor.de Remove add-or-remove-vendor-key privilege and use change-repository instead 2010-08-24 sebi@glatzor.de Merge local changes 2010-08-24 sebi@glatzor.de Use with statement for the actiongroup 2010-08-23 sebi@glatzor.de Forward port changes from the stable branch 2010-08-23 sebi@glatzor.de Clean up news 2010-08-23 sebi@glatzor.de Add a small suggestion in the docs to use the system-wide proxy instead of set-proxy 2010-08-23 sebi@glatzor.de Don't reuse the user's proxy by default in the gtkwidgets. The system proxy should be used instead. 2010-08-23 sebi@glatzor.de Fix a small typo 2010-08-23 sebi@glatzor.de Adapt aptd to the changed privileges 2010-08-23 sebi@glatzor.de Allow every active user to update the cache 2010-08-23 sebi@glatzor.de Require to auth every time to cancel a foreign transaction 2010-08-23 sebi@glatzor.de Require an admin to authenticate every time a proxy should be set. If a user wants to use a custom proxy it should be set as the system wide. 2010-08-23 sebi@glatzor.de Remove upgrade-system privilege. upgrade-packages should be used instead 2010-08-23 sebi@glatzor.de Merge add- and remove-vendor-key privileges 2010-08-23 sebi@glatzor.de Remove install-packages, remove-packages and fix privilege in favour of the new install-or-remove-packages 2010-08-23 sebi@glatzor.de Merge changes from the high-level-pk branch without the high level logic :) 2010-08-22 sebi@glatzor.de Add a new high level privilege install-or-remove 2010-08-22 sebi@glatzor.de Make the AuthorizationFailed error an inheritance of NotAuthorizedError 2010-08-22 sebi@glatzor.de Raise an AuthorizationFailed exception in a non-interactive check if the user could obtain the privilege in interactive-mode (is_challenged) 2010-08-22 sebi@glatzor.de Forward port changes from stable branch 2010-08-21 sebi@glatzor.de Workaround a bug in optparser which doesn't handle unicode/str correctly, see http://bugs.python.org/issue4391 Fixes LP:#613147 2010-08-21 sebi@glatzor.de Unset LC_ALL to get translations from APT, fixes LP:#620978 2010-08-21 sebi@glatzor.de Cherry pick: fix translation of console client 2010-08-20 sebi@glatzor.de Cherry pick language fixes 2010-08-21 sebi@glatzor.de Allow to translate messages from aptdcon 2010-08-21 sebi@glatzor.de Allow to translate TransactionFailed errors in the worker by using a gettext translation instance for each transaction. 2010-08-20 sebi@glatzor.de Merge language fixes from mpt thanks! 2010-08-17 Matthew Paul Thomas Adds a missing word. 2010-08-17 Matthew Paul Thomas Alters PolicyKit text to put the task at the start of the sentence. 2010-08-17 Matthew Paul Thomas Miscellaneous spelling and grammar fixes. 2010-08-13 sebi@glatzor.de Fix the version splitting 2010-08-12 sebi@glatzor.de Merge version branch: Allow to select version of packages and downgrades. ATTENTION: API break in CommitPackages which now requires an additional downgrades argument. 2010-08-12 sebi@glatzor.de Add --details option to the console client to show version information of to be changed packages 2010-08-12 sebi@glatzor.de Fix not defined names 2010-08-12 sebi@glatzor.de Format version information in GTK confirmation dialog 2010-08-12 sebi@glatzor.de Break API and add a downgrade argument to CommitPackages. 2010-08-12 sebi@glatzor.de Show the version number in the dependencies 2010-08-12 sebi@glatzor.de Allow to specify the to be installed/removed version of package. The package name and version are separated by "=", e.g. "xterm=258-1". The CommitPackage method allows to downgrade packages by reinstalling a package with a former version number 2010-08-05 Michael Vogt aptdaemon/client.py: make sure we have a _signal_matcher before we delete it 2010-08-05 Michael Vogt aptdaemon/worker.py: only check _cache if its not None (it will be None for transactions like add-vendor-key-from-keyserver 2010-07-21 sebi@glatzor.de Merge local changes 2010-07-20 sebi@glatzor.de Update NEWS 2010-07-20 sebi@glatzor.de Introduce a new privilege org.debian.apt.set-proxy which allows to specify a proxy server for a transaction. By default this is granted to every active user. 2010-07-18 sebi@glatzor.de Introduce errors.PolicyKitError which is used as a parent class for NotAuthorizedError and AuthorizationFailed. Use the new error class in the console client. 2010-07-17 sebi@glatzor.de Only Raise the AuthorizationError if the auth request was interactive 2010-07-17 sebi@glatzor.de Raise the AuthorizationFailed error if there isn't any polkit agent who could authenticate the user 2010-07-17 sebi@glatzor.de Fix a wrong variable reference - LP #602091 2010-07-17 sebi@glatzor.de Update translations from Launchpad 2010-07-17 sebi@glatzor.de Add a warning to convert_dbus_exception that it requires introspection. 2010-07-17 sebi@glatzor.de Don't use any introspection to detect the existance of the reply_handler and error_handler arguments in the decorated function. Nested decorators won't keep the calling signature. 2010-07-17 sebi@glatzor.de Rename deferable_function to deferable 2010-07-15 sebi@glatzor.de Fix missing textdomain in the gtkwidgets 2010-07-14 sebi@glatzor.de Only ask for confirmation of changes in the console client if there are any 2010-07-14 sebi@glatzor.de Add an error string for the new download enum from the previous commit 2010-07-14 sebi@glatzor.de Workaround a bug in python-apt: The StatTransientNetworkError status isn't mapped 2010-07-14 sebi@glatzor.de Fix a wrong reference in the previous commit 2010-07-14 sebi@glatzor.de Stop the idle watcher if the transaction has been simulated, to give the user enough time to review the changes. 2010-07-14 sebi@glatzor.de Don't try to simulate adding a key from a keyserver 2010-07-14 sebi@glatzor.de Unlock the cache before updating 2010-07-14 sebi@glatzor.de Update NEWS file 2010-07-14 sebi@glatzor.de More status and pulse information in the worker 2010-07-14 sebi@glatzor.de Merge an enhanced lp:~mvo/aptdaemon/download-vendor-keys 2010-07-14 sebi@glatzor.de Don't require a cache for the key handling 2010-07-14 sebi@glatzor.de Update man page of aptdcon 2010-07-14 sebi@glatzor.de Document the new method in the man page 2010-07-14 sebi@glatzor.de Emit status and pulse 2010-07-14 sebi@glatzor.de Show the stout of the apt-key call in the error message. Minor cleanups 2010-07-14 sebi@glatzor.de Merge from mvo 2010-06-24 Michael Vogt move add_vendor_key_from_keyserver from gio to subprocess.call() because gio-http does not work with uid == 0 2010-06-24 Michael Vogt add aptdcon support, fix typos 2010-06-24 Michael Vogt add downlaod key feature using gio 2010-07-11 sebi@glatzor.de Fix imports in the defer test 2010-07-10 sebi@glatzor.de core: Fixes to the sender watch 2010-07-10 sebi@glatzor.de defer: Fix a typo 2010-07-10 sebi@glatzor.de defer: Fix deferrable decorator which required a set reply_handler and error_handler to be tiggered. But we only want to check if the function supports both arguments. Furthermore make sure to return a DeferredException to the error callback. 2010-07-10 sebi@glatzor.de client: Convert a DeferredException in the initialisation of the transaction to a normal exception 2010-07-09 sebi@glatzor.de Keep track of the initial client of a transaction 2010-07-09 sebi@glatzor.de Use a dist upgrade by default in the gtk demo 2010-07-09 Michael Vogt aptdaemon/core.py: EnableDistroComponent does not return a boolean value, if it fails it will raise a exception 2010-07-09 Michael Vogt aptdaemon/gtkwidgets.py: on a delete event (eg. from user pressing ESC) behave as if cancel was clicked 2010-07-06 Michael Vogt aptdaemon/test/test_defer.py: add tests for defer.inline_callbacks 2010-07-06 Michael Vogt add README.tests and import unittest aptdaemon/test/test_defer.py 2010-06-08 Michael Vogt aptdaemon/core.py: fix incorrect argument passed in self._add_repository() 2010-06-08 sebi@glatzor.de Merge local changes 2010-06-08 sebi@glatzor.de Make sure that we only try to convert DBusExceptions 2010-06-08 sebi@glatzor.de Show uri of download as tooltip and improve the description 2010-06-08 sebi@glatzor.de Remove a temp debconf socket 2010-06-05 sebi@glatzor.de Merge local changes 2010-06-05 sebi@glatzor.de Import the whole defer module in the client 2010-06-05 sebi@glatzor.de Workaround a bug in python-apt which reports the partial download size as 0 in the done callback, see LP: #589941 2010-06-03 sebi@glatzor.de Remove an obsolete debugging statement 2010-06-03 sebi@glatzor.de Fix a missing enums prefix 2010-06-02 sebi@glatzor.de Use inline callbacks and Deferreds to reimplement the _run_transaction code in the AptClient. This gives us support for the wait arguement, simplifies code and reduces complexity. 2010-06-01 sebi@glatzor.de Replace * import of enums in the core 2010-05-31 sebi@glatzor.de Fix an enum typo 2010-05-31 sebi@glatzor.de Set the debconf frontend and http proxy in AptTransactionProgress.run instead of in AptTransactionProgress.set_transaction and make use of inline callbacks 2010-05-30 sebi@glatzor.de make the progress dialog only resizable if the expander is activated. try to restore the previous size of the expanded dialog 2010-05-30 sebi@glatzor.de Show the sub progress of the downloads in the gtkwidgets! 2010-05-27 sebi@glatzor.de Set the transaction status to STATUS_FINISHED before sending the Finished signal. The client stops listening after the finished signal and so missed the final status update. 2010-05-27 sebi@glatzor.de Fix typo in STATUS_DOWNLOADING 2010-05-27 sebi@glatzor.de Fix download size of an item by using the information from the worker 2010-05-27 sebi@glatzor.de Add support for download progress information 2010-05-27 sebi@glatzor.de Fix a type in the error handling of gtk-demo 2010-05-27 sebi@glatzor.de Fix arguments in the UpgradePackages call 2010-05-25 sebi@glatzor.de Fix a segfault in the error conversion. 2010-05-25 sebi@glatzor.de Allow to convert all client methods into Deferreds by using the deferable_function. 2010-05-25 sebi@glatzor.de Add deferable_function decorator which adds a defer attribute to the decorated function. If defer is True return a Deferred and map the reply_handler and error_handler of the function to the callback and errback of the Deferred. This allows to write deferred DBus clients easily. 2010-05-25 sebi@glatzor.de Allow to override the objects and icons shown in AptConfirmDialog 2010-05-23 sebi@glatzor.de Minor improvements to logging and loading of plugins 2010-05-22 sebi@glatzor.de Update NEWS 2010-05-22 sebi@glatzor.de Port and make use of Twisted inline_callbacks! This makes the async code much more readable. 2010-05-22 sebi@glatzor.de Use inline callbacks in policykit1 2010-05-22 sebi@glatzor.de Port the core daemon to inline callbacks 2010-05-22 sebi@glatzor.de Adapt the inline_callbacks to the stripped down deferreds 2010-05-22 sebi@glatzor.de Copy inline callbacks from twisted 2010-05-21 sebi@glatzor.de Add a plugin system! Allows to modify the marked changes of a transaction. 2010-05-16 sebi@glatzor.de Respect the MIT license of twisted 2010-05-14 sebi@glatzor.de Remove old future status files 2010-05-03 sebi@glatzor.de Add a new line between package name and summary in the confirm dialog 2010-05-03 sebi@glatzor.de Add a small script to prepare a new release 2010-05-03 sebi@glatzor.de Catch possilbe segfaults in the DiffView 2010-05-03 sebi@glatzor.de Also add all for gtkwidgets 2010-05-03 sebi@glatzor.de Use __all__ to get a more fine grained control of the api 2010-05-03 sebi@glatzor.de gtk-demo: Fix aborting of the transaction if it doesn't contain any dependencies 2010-05-03 sebi@glatzor.de Fix a small bug in the client handling of the error property. 2010-05-02 sebi@glatzor.de Merge patch from Ubuntu which allows to EnableDistroComponents 2010-05-02 sebi@glatzor.de Add a new enum to mark a transaction as not yet finished 2010-05-02 sebi@glatzor.de Update man page of the transaction interface 2010-05-02 sebi@glatzor.de Fix a macro in the man page 2010-04-27 sebi@glatzor.de Let the Confirmation dialog accpet a gtk.gdk.Window as parent and fix some errors in the previous commit 2010-04-27 sebi@glatzor.de Fix an indention error 2010-04-27 sebi@glatzor.de Wording changes in the confirmation dialog 2010-04-27 sebi@glatzor.de Change the layout of the confirmation dialog depending on the number of packages to show to avoid useless white space. 2010-04-27 sebi@glatzor.de Use strings instead of integers for the Exit, Role, Status and Error properties and the Finished signal of the D-Bus Transaction. 2010-04-25 sebi@glatzor.de Change order of error and reply handler in AptTransaction.run to be in sync with the other moethods 2010-04-25 sebi@glatzor.de Fix args handling in the convert_dbus_exception callback: the args are a tuple and not a list. furthermore replace the value in the args instead of moving it to the kwargs (otherwise we would change the order of args) 2010-04-25 sebi@glatzor.de Improve error handling in the GTK demo 2010-04-25 sebi@glatzor.de Update NEWS 2010-04-25 sebi@glatzor.de Move policykit error into the errors module 2010-04-25 sebi@glatzor.de Fix error conversion 2010-04-25 sebi@glatzor.de Update api changes in the NEWS 2010-04-25 sebi@glatzor.de TransactioNFailed conversion fixes. You should not overwrite the __str__ of a DBusException 2010-04-25 sebi@glatzor.de Use the convert_dbus_exception decorator in the client 2010-04-25 sebi@glatzor.de Rename AptdaemonError to AptDaemonError for readability reasons :) 2010-04-25 sebi@glatzor.de Remove client.AptDaemonError and use a errors.TransactionFailed error instead for the client.AptTransaction.error attribute 2010-04-25 sebi@glatzor.de Remove duplicated checks if the transaction was already running 2010-04-25 sebi@glatzor.de Rename APTDError to AptdaemonError for pure aesthetic reasons 2010-04-25 sebi@glatzor.de Add a decorator which converts DBus exception to native ones. 2010-04-24 sebi@glatzor.de Raise corectly in the simulate method 2010-04-23 sebi@glatzor.de Fix small typo 2010-04-23 sebi@glatzor.de Set the status of the transaction during simulate to STATUS_RESOLVING_DEP 2010-04-23 sebi@glatzor.de Only allow to call simulate on a not yet started transaction 2010-04-23 sebi@glatzor.de Merge the future status branch! This adds dependency handling by also taking queued transactions into accout to aptdaemon! 2010-04-23 sebi@glatzor.de Use the new simulate/confirm in the gtk demo 2010-04-23 sebi@glatzor.de Add a new AptConfirmDialog which allows to confirm the dependencies of a transaction 2010-04-20 sebi@glatzor.de Reuse the fixed DaemonOpenProgress again in the worker. 2010-04-20 sebi@glatzor.de Do not ierate on the main loop during sensible actions like opening the cache or forking. This could lead to a cache race with the transaction simulation 2010-04-20 sebi@glatzor.de Use the same order in Transaction.packages and Transaction.depends and extend depends accordingly. Use the new enums. 2010-04-20 sebi@glatzor.de Add an enum for the package group index in the Transaction.depends and Transaction.packages lists 2010-04-20 sebi@glatzor.de Worker: Check for skipped updates in the simulation 2010-04-19 sebi@glatzor.de Improve status messages in the console client 2010-04-18 sebi@glatzor.de WORKER: Fix local install by unlocking the cache 2010-04-18 sebi@glatzor.de Worker: Show the package file as install if not installed before and as reinstall in the other case 2010-04-18 sebi@glatzor.de Console: Fix packages order 2010-04-18 sebi@glatzor.de Core: Fix packages signal (copy paste error) 2010-04-18 sebi@glatzor.de Console: Fix transaction confirmation 2010-04-18 sebi@glatzor.de Console: Allow to install package files by --install PATH 2010-04-18 sebi@glatzor.de Worker: Add Support for simulating file installs 2010-04-18 sebi@glatzor.de CORE: Allow to modify the packages attribute of a transaction after creation 2010-04-18 sebi@glatzor.de CORE: set the idle timeout of a transaction to 5 minutes 2010-04-18 sebi@glatzor.de CORE: Use seconds for the timeout 2010-04-18 sebi@glatzor.de CONSOLE: Add full-upgrade and safe-upgrade options (see aptitude) 2010-04-18 sebi@glatzor.de CONSOLE: take APT::Get::Assume-Yes into account 2010-04-18 sebi@glatzor.de CONSOLE: make use of ngettext for the package listing 2010-04-18 sebi@glatzor.de Fix showing the download size 2010-04-18 sebi@glatzor.de Accept return as yes 2010-04-18 sebi@glatzor.de Remove some blank lines in the console client to safe screen space 2010-04-18 sebi@glatzor.de Do not show changes for some transaction roles, e.g. update cache 2010-04-18 sebi@glatzor.de Use the private transaction property 2010-04-18 sebi@glatzor.de Check if upgrades are already installed 2010-04-18 sebi@glatzor.de Allow to cancel the simulate call in the console client 2010-04-18 sebi@glatzor.de Make use of simulate in the console client! 2010-04-18 sebi@glatzor.de Add support for the server core and the client side! 2010-04-18 sebi@glatzor.de Add reinstalls to the dependencies 2010-04-18 sebi@glatzor.de A lot of fixes in the future status creation 2010-04-18 sebi@glatzor.de Future test improvements: The transaction requires now a tid, test if the future cache is broken, add some informative messages to the fails 2010-04-17 sebi@glatzor.de Check for broken packages and incomplete installations in simulate 2010-04-17 sebi@glatzor.de Add a small logging info 2010-04-17 sebi@glatzor.de Always open the cache for the processing with the original status file. Disable daemonopenprogress temporarily since there could be a race condition with simulate 2010-04-17 sebi@glatzor.de Move is_dpkg_journal_clean and lock_pkg_system to the AptWorker class to make sure that the original status file is used. 2010-04-17 sebi@glatzor.de Add a unit test for the simulating 2010-04-17 sebi@glatzor.de Add exception handling to simulate 2010-04-17 sebi@glatzor.de Fix _cache reference in the worker and rename simulate 2010-04-17 sebi@glatzor.de Fix an obsolete else statement 2010-04-17 sebi@glatzor.de Only handle package management transaction. Special case for upgrade system 2010-04-17 sebi@glatzor.de Add a simulate transaction method to the worker 2010-04-23 sebi@glatzor.de Fix a small typo 2010-04-17 sebi@glatzor.de Fix emitting of finished signal in dummy worker 2010-04-16 sebi@glatzor.de Do not allow to remove aptdaemon, essential or required packages. 2010-04-01 sebi@glatzor.de Allow to specify authorization flags to policykit 2010-04-01 sebi@glatzor.de Add a better description for the unkown error 2010-04-01 sebi@glatzor.de Merge release update of 0.20 2010-04-01 sebi@glatzor.de Merge translation updates 2010-04-01 sebi@glatzor.de Cherry pick error handling fix in the client 2010-04-01 sebi@glatzor.de Push local changes 2010-04-01 sebi@glatzor.de Fix a typo. Thanks to Dave Walker. 2010-03-31 Michael Vogt cherry pick fix from the 0.2.x branch for incorrect return value of AddRepository 2010-03-30 sebi@glatzor.de Push local changes 2010-03-30 sebi@glatzor.de Merge proposed changes from Julian Andres Klode to finalize API transition 2010-03-29 sebi@glatzor.de Match for the Template and not the Name 2010-03-26 sebi@glatzor.de Allow to specify custom input values for debconf tests 2010-03-26 sebi@glatzor.de Fix some minor issues in the previous commit 2010-03-26 sebi@glatzor.de Make the debconf test helper methods more general and use gobject.spawn_async instead of python's subprocess. It seems that child_add_watch won't be called in some rare situations. 2010-03-24 sebi@glatzor.de Add tests for serial and concurrent debconf operations to catch races. 2010-03-24 sebi@glatzor.de Add a unittest for the debconf forwarding 2010-03-21 sebi@glatzor.de Debconf Handling: Run the io handlers as long as possible and close the stdin/out and connection in the corresponding io handlers instead of in a central hangup script. Furthermore delay a new connection until the former has been closed. 2010-03-17 sebi@glatzor.de Fix a typo in the recover progress 2010-03-17 sebi@glatzor.de Raise prioriy of the _hangup callback. This should make sure it's executed before accept_connection 2010-03-17 sebi@glatzor.de Minor code clean up in the debcon module 2010-03-17 sebi@glatzor.de Stop reading from the debconf socket after closing it. 2010-03-17 sebi@glatzor.de Merge dpkg journal check fixes. Thanks MVO! 2010-03-17 sebi@glatzor.de Use str.isdigit() instead of a regex 2010-03-16 Michael Vogt aptdaemon/test/test_dpkg_journal.py: improve is_dpkg_journal_clean() tests 2010-03-16 Michael Vogt aptdaemon/worker.py: make dpkg journal test match the test in apt 2010-02-21 sebi@glatzor.de Merge local changes 2010-02-21 sebi@glatzor.de Cherry pick documentation updates from main 2010-02-28 sebi@glatzor.de Do not try to process a package management task which doesn't contain any changes 2010-02-21 sebi@glatzor.de Update documentation of the Python client module 2010-02-10 Michael Vogt merge typo fix from 0.2.x 2010-02-10 Michael Vogt aptdaemon/core.py: fix typo 2010-02-10 sebi@glatzor.de Port to the latest python-apt 0.7.9x API 2010-01-13 sebi@glatzor.de Allow to remove obsoleted automatic depedencies, by introducing a new transaction property RemoveObsoletedDepends. Thanks to mvo for the initial work! 2010-01-13 sebi@glatzor.de Update NEWS file 2010-01-13 sebi@glatzor.de Show the output of the dpkg --configure -a call also in the error message after a failed transaction. 2010-01-08 sebi@glatzor.de Some transaction don't require a consistent dep cache 2010-01-08 sebi@glatzor.de Update man pages 2010-01-08 sebi@glatzor.de Fix cache unlocking 2010-01-08 sebi@glatzor.de Add a FixBrokenDepends method 2010-01-08 sebi@glatzor.de Add a FixIncompleteInstall method to run dpkg --configure -a and fix the unlocking of the cache. 2010-01-08 sebi@glatzor.de Add a new polkit action to fix apt 2010-01-08 sebi@glatzor.de Rename enum ERROR_INCOMPLETE_INSTALLS to ERROR_INCOMPLETE_INSTALL and add a new role enum ROLE_FIX_INCOMPLETE_INSTALL 2010-01-08 sebi@glatzor.de Move the locking and checking of the dpkg journal to separate standalone methods. 2010-01-08 sebi@glatzor.de Add a new error enum for incomplete dpkg configure runs. 2010-01-07 sebi@glatzor.de Use a shorter waiting status message and show the package manager we are waiting for if the lock cannot be obtained. Fixes LP:444261 2009-12-16 sebi@glatzor.de Push local changes 2009-12-16 sebi@glatzor.de Add an ored true to the dbus send hook for the post cache update 2009-12-15 sebi@glatzor.de Add a new set of strings to get a failed message by role 2009-12-14 sebi@glatzor.de Allow to call the run method of the AptProgressDialog async 2009-12-14 sebi@glatzor.de Add a finished signal to AptProgressDialog 2009-12-13 sebi@glatzor.de Add failed downloads to the exception and and don't fail on not available Packages.diffs 2009-12-13 sebi@glatzor.de Rename aptdaemon-setup icon to aptdaemon-working and use it as a general fallback icon 2009-12-12 sebi@glatzor.de Fix handling of changed ProgressDetails in the client 2009-12-12 sebi@glatzor.de Use the new raiseOnError paramter of apt.Cache.update() 2009-12-12 sebi@glatzor.de Don't fail on temporily not available master fd 2009-12-12 sebi@glatzor.de Fix handling of reposnse from conflict dialog 2009-12-12 sebi@glatzor.de Use a shorter message in the conflict dialog and change button order 2009-12-12 sebi@glatzor.de minor improvements to the medium change dialog. 2009-12-12 sebi@glatzor.de Add an enahnced TextView which shows the changes between two files and a dialog with an expander. Make use of both in the config file conflict dialog. 2009-12-12 sebi@glatzor.de Fix a typo in the logging of ProvideMedium 2009-12-12 sebi@glatzor.de Speed up dummy transaction 2009-12-12 sebi@glatzor.de Add a config file prompt and a medium change request to the dummy installation 2009-12-11 sebi@glatzor.de Fix: Sync all properties - even empty strings and zeros 2009-12-11 sebi@glatzor.de There isn't any need to wrap the sync call in get_transaction since it already returns the transaction instance 2009-12-11 sebi@glatzor.de Fix use of lambda in async client methods 2009-12-10 sebi@glatzor.de Allow to store meta data in the transaction 2009-12-09 sebi@glatzor.de Emit some status messages in the dummy worker and speed up the processing 2009-12-09 sebi@glatzor.de Add --dummy command line option which only shows a progress for the transaction without applying any changes 2009-12-09 sebi@glatzor.de Fix a typo 2009-12-09 sebi@glatzor.de Allow to call get_transaction async 2009-12-08 sebi@glatzor.de Fix transaction without any package changes 2009-12-08 sebi@glatzor.de Push local changes 2009-12-08 sebi@glatzor.de Update NEWS 2009-12-08 sebi@glatzor.de Make the packages property of the transaction public. 2009-12-08 sebi@glatzor.de Fine grain logging levels. Log INFO to syslog 2009-12-07 sebi@glatzor.de Don't segfault on not supported locale 2009-12-07 sebi@glatzor.de Man page updates 2009-12-07 sebi@glatzor.de Install D-Bus interface documentation 2009-12-07 sebi@glatzor.de Add a man page for the transaction interface 2009-12-07 sebi@glatzor.de Merge local changes 2009-12-07 sebi@glatzor.de Update man page of main interface 2009-12-07 Michael Vogt aptdaemon/progress.py: fix minor typo 2009-12-07 sebi@glatzor.de Add a small sleep time after quiting an already running daemon to give D-Bus enough time to clean up the taken D-Bus names. 2009-12-07 sebi@glatzor.de Update the NEWS 2009-12-07 sebi@glatzor.de Rename aptdaemon.client.Transaction.detach() to disconnect 2009-12-07 sebi@glatzor.de Also remove attach method from the client side 2009-12-07 sebi@glatzor.de Remove deprecated Attach method on the Transaction interface. GetAll properties should be used instead. The sync method of the client transaction does a better job. 2009-12-07 sebi@glatzor.de handle properties more carefully on the client side. Handle invalid/cleared values in Finished, ConfigFileConflcit and RequiredMedium. Fix emitting of http-propxy-changed-signal 2009-12-07 sebi@glatzor.de Use sane defaults for the transaction properties 2009-12-07 sebi@glatzor.de Update NEWS 2009-12-07 sebi@glatzor.de Missed a renamed method in the gtkwidgets 2009-12-07 sebi@glatzor.de Rename config file prompt to config file conflict and answer to resolve/resolution 2009-12-07 sebi@glatzor.de The role of the transaction is now known on creation time. So show it early in the gtk widgets 2009-12-07 sebi@glatzor.de Shutdown the console client if there isn't any transaction on cancel 2009-12-07 sebi@glatzor.de Paradigma change: instead of requesting a transaction and calling a package mangement task, the action is called on the daemon interface which returns a not yet running transaction. After setting up the client has to call the new Run method of the transaction. 2009-12-06 sebi@glatzor.de Add a man page for the dbus interface 2009-12-05 sebi@glatzor.de Remove depreacted signals 2009-12-05 sebi@glatzor.de Fix man page path 2009-12-05 sebi@glatzor.de Fix a comma 2009-12-05 sebi@glatzor.de Fix a missing bracket 2009-12-05 sebi@glatzor.de Merge local changes 2009-12-05 sebi@glatzor.de Install man pages 2009-12-05 sebi@glatzor.de Add man pages for aptd and aptdcon 2009-12-04 sebi@glatzor.de Fix a typo 2009-12-04 sebi@glatzor.de Merge http proxy support from mvo with some small changes. Thanks mvo! 2009-12-04 sebi@glatzor.de Merge http proxy support from mvo with some small changes. Thanks! 2009-10-09 Michael Vogt * aptdaemon/client.py: - add set_http_proxy() method to the transaction * aptdaemon/core.py: - add new dbus Property "HttpProxy" * aptdaemon/gtkwidgets.py: - setup http proxy from gconf automatically * data/org.debian.apt.policy.in: - change from "allow_active" "yes" to "auth_admin_keep" The reasons is that now that a unpriviledged user can set a proxy this may leak passwords from sources.list (deb http://user:pass@machine/) when a rouge proxy is set 2009-12-03 sebi@glatzor.de Remove bzr-buildpackage configuration 2009-12-03 sebi@glatzor.de Rename TerminalAttachable to TerminalAttached 2009-12-03 sebi@glatzor.de Update TODO 2009-12-03 sebi@glatzor.de Merge properties branch: The API changes are documented in the NEWS file 2009-12-03 sebi@glatzor.de Add a NEWS file which contains a description of the latest API changes 2009-12-03 sebi@glatzor.de Add a TODO file 2009-12-03 sebi@glatzor.de Convert PyGTK demo to latest API 2009-12-03 sebi@glatzor.de Fix a variable typo 2009-12-03 sebi@glatzor.de Convert gtkwidgets to latest API 2009-12-03 sebi@glatzor.de Code clean up in the console module 2009-12-03 sebi@glatzor.de Code clean up of the client module 2009-12-03 sebi@glatzor.de Convert console application to latest API 2009-12-03 sebi@glatzor.de Add true async support to all AptDaemonClient and Transaction methods by adding reply_handler and error_handler. Furthermore replace the exit_handler by a not yet implemented wait argument. 2009-12-02 sebi@glatzor.de Use a tuple instead of a list for dbus variant 2009-12-02 sebi@glatzor.de Export locale, terminal, allow_unauthenticated and debconf socket to the Transaction properties 2009-12-02 sebi@glatzor.de Port console client to the new API 2009-12-02 sebi@glatzor.de Fix TerminalAttachable signal in the client 2009-12-02 sebi@glatzor.de Only emit the new value in PropertyChanged 2009-12-02 sebi@glatzor.de Adopt Cancellable and TerminalAttachable in the client 2009-12-02 sebi@glatzor.de Rename transaction property AllowCancel to Cancellable and AllowTerminal to TerminalAttachable 2009-12-02 sebi@glatzor.de Remove Message concept. It is not up to the daemon to judge if a problem is critical or not. It is up to the client to decide if a not uptodate system is critical. 2009-12-02 sebi@glatzor.de Only listen to the PropertyChanged signal of the transaction interface 2009-12-01 sebi@glatzor.de Make all properties available through the dbus properties interface, rename ExitCode to ExitState and ErrorCode to Error 2009-12-01 sebi@glatzor.de Add an additional PropertyChanged signal to most signals 2009-12-01 sebi@glatzor.de Small fix setting of role 2009-12-01 sebi@glatzor.de New line fixes 2009-12-01 sebi@glatzor.de Add a PropertyChanged signal to the transaction interface 2009-11-30 sebi@glatzor.de Import latest translations from Ubuntu 2009-11-30 sebi@glatzor.de Fix detection of running D-Bus system daemon in the apt update hook 2009-11-30 sebi@glatzor.de Apply Julian's fix for Python 2.5 support. Thanks. 2009-11-18 sebi@glatzor.de Fix path in the service file 2009-10-14 sebi@glatzor.de Fix po file naming 2009-10-13 sebi@glatzor.de Trival coding style fix 2009-10-13 sebi@glatzor.de Import translations from Launchpad - fixes LP #445603 2009-10-13 sebi@glatzor.de If the cache refresh was cancelled do not show a download failed error - fixes LP #440941 2009-10-12 sebi@glatzor.de Merge fix for killing randomly user processes on long taking dpkg operations - fixes LP #446534 2009-10-12 sebi@glatzor.de Make sure that we only start killing processes if the child pid is set 2009-10-12 sebi@glatzor.de Set the child pid correctly - LP #446534 2009-10-12 sebi@glatzor.de Update last activity - partitally fixes LP #446534 2009-10-09 sebi@glatzor.de Merge latest changes from mvo 2009-10-06 Michael Vogt aptdaemon/core.py: move default log level for _syslog_handler into the try: except: block 2009-10-06 Michael Vogt merged from trunk/ 2009-10-06 Michael Vogt aptdaemon/worker.py: try locking the download dir too in _lock_cache 2009-10-04 sebi@glatzor.de Fix a copy%paste error 2009-10-04 sebi@glatzor.de Merge with mvo's allow unauthencticated branch! Thanks a lot! 2009-10-04 sebi@glatzor.de Use a list instead of a set to store not authenticated packages 2009-10-04 sebi@glatzor.de Replace UnauthenticatedPackageError by a transaction error 2009-10-04 sebi@glatzor.de Merge with main 2009-09-28 Michael Vogt add AllowUnauthenticated property 2009-10-04 sebi@glatzor.de Fix handling of cancelled transactions 2009-10-04 sebi@glatzor.de Handle failed dependency resolution and make sure all requested package operations are performed by protecting the corresponding packages 2009-10-04 sebi@glatzor.de Do not make any assumptions about the user interface in the error enum 2009-10-04 sebi@glatzor.de Rename ERROR_DEPENDENCIES_BROKEN to ERROR_DEP_RESOLUTION_FAILED 2009-10-04 sebi@glatzor.de Introduce a new error enum: ERROR_CACHE_BROKEN, since this should be handled separately from broken dependencies during e.g. an installation 2009-10-04 sebi@glatzor.de If packages are broken attach the names to the error message. Furthermore make use of new apt.cache.Cache.broken_count 2009-10-04 sebi@glatzor.de Make use of apt.cache.Cache.actiongroup to avoid calling the private _depcache 2009-10-04 sebi@glatzor.de Replace the nested main loop in the AptProgressDialog by an iteration on the default context. Furthermore call the Transaction.run method async to avoid blocking the user interface - fixes LP #426720 2009-10-04 sebi@glatzor.de Allow the Transaction.run client method to be called async. This currently results in a small mess - but retains API compatibility 2009-10-04 sebi@glatzor.de Add the deprecated decorator from the python decorator library 2009-10-03 sebi@glatzor.de Don't ask for upgrade privilege if the user already has got the install privilge in CommitPackages - fixes LP #437094 2009-10-03 sebi@glatzor.de Trivial line length fix 2009-10-03 sebi@glatzor.de Catch authorization errors in the console client and print an error message instead of crashing 2009-10-03 sebi@glatzor.de Merge a lot of bug fixes from mvo's branch. Thanks a lot. 2009-10-02 Michael Vogt aptdaemon/debconf.py: fix race in _accept_connection() LP: #432607 2009-10-02 Michael Vogt aptdaemon/client.py: add the _owner_watcher earlier to avoid crash if no more match rules from dbus can be used 2009-09-28 Michael Vogt aptdaemon/enums.py: do not modify gettext.textdomain(), use dgettext("aptdaemon", msg) instead (LP: #438077) 2009-09-28 Michael Vogt aptdaemon/worker.py: check the apt download dir lock in _watch_lock to avoid possible race with apt-get LP: #437709 2009-09-28 Michael Vogt aptdaemon/progress.py: fix crash in error handling (LP: #436808) 2009-09-28 Michael Vogt aptdaemon/progress.py: fix crash in INSTALL_TIMEOUT handling (LP: #430860) 2009-09-28 Michael Vogt aptdaemon/gtkwidgets.py: make the dialog resizable and add bigger default size 2009-09-28 Michael Vogt aptdaemon/core.py: add _remove_from_connection_no_raise() that will discard errors if the object is not exported 2009-09-26 sebi@glatzor.de Do not fail on a not running syslog daemon 2009-09-22 sebi@glatzor.de Merge logging branch 2009-09-22 sebi@glatzor.de Buffer the output from dpkg and attach it to an error message 2009-09-22 sebi@glatzor.de Catch an exception in the forked child 2009-09-22 Michael Vogt aptdaemon/core.py: allow reseting of Transaction.config_file_prompt without triggering a signal 2009-09-22 Michael Vogt aptdaemon/progress.py: remove setting --force-confdef, --force-confold 2009-09-22 Michael Vogt aptdaemon/core.py: errors.AptDError got renamed to errors.APTDError, update the code 2009-09-22 Michael Vogt aptdaemon/client.py: fix order of the arguments to match what core.py expectes 2009-09-21 sebi@glatzor.de Allow to cancel a running transaction in the console client - fixes LP# 424436 2009-09-21 sebi@glatzor.de Lower the log level of the "Shutdown was requested message" to not confuse users - se LP #432937 2009-09-21 sebi@glatzor.de Only send the dbus chace changed signal in the apt update post hook if the system dbus is running. Fixes LP #432310 2009-09-18 sebi@glatzor.de Merge logging branch 2009-09-18 sebi@glatzor.de Don't raise exceptions in the progress - fixes LP #428964 2009-09-18 sebi@glatzor.de Merge bug fixes for the forking 2009-09-17 sebi@glatzor.de Do not sent log messages to the child console 2009-09-17 sebi@glatzor.de Copy_io should not fail if the target is not available. This allows to support crashed clients 2009-09-17 sebi@glatzor.de Return the correct exit status from the install progress 2009-09-17 sebi@glatzor.de Use os.forkpty instead the home brown child pty handling 2009-09-18 sebi@glatzor.de Merge config file conflicts support from the lovely mvo! Thanks. 2009-09-18 sebi@glatzor.de Handle config file prompt answers on the terminal 2009-09-18 sebi@glatzor.de Update the gtkwidgets to the latest api and use nicer buttons 2009-09-18 sebi@glatzor.de Update client to config file API change 2009-09-18 sebi@glatzor.de Only accept keep and replace values for the config file answer. Do not write the pure user string to the terminal 2009-09-18 sebi@glatzor.de Perform some checks in the ConfigFilePromptAnswer 2009-09-17 Michael Vogt add configuration file prompt handling 2009-09-17 sebi@glatzor.de Merge fixes from mvo 2009-09-17 Michael Vogt aptdaemon/core.py: fix duplicated check for foreign user 2009-09-17 Michael Vogt remove transaction cache (glatzor did a better one) 2009-09-17 Michael Vogt aptdaemon/client.py: add missing MediumRequired signal connect 2009-09-17 Michael Vogt merge from trunk 2009-08-26 Michael Vogt merged from trunk 2009-08-26 Michael Vogt revert r218 2009-08-20 Michael Vogt merge from trunk 2009-08-20 Michael Vogt use utf8_strings by default 2009-08-19 Michael Vogt aptdaemon/client.py: add dettach method and disconnect from the bus when a transaction is finished 2009-08-19 Michael Vogt aptdaemon/client.py: add (simple) TransactionCache 2009-09-17 sebi@glatzor.de Introduce a new ERROR_PACKAGE_MANAGER_FAILED enum 2009-09-17 sebi@glatzor.de Use utf-8 strings in the client side signal matcher 2009-08-29 devel@glatzor.de Push local changes 2009-08-29 devel@glatzor.de Whitespace and tabs clean up 2009-08-29 devel@glatzor.de Set the term env var to "linux" to satisfy less. 2009-08-29 devel@glatzor.de Instead of failing on a locked dpkg wait until it is unlocked. Thanks mvo for this suggestion. 2009-08-29 devel@glatzor.de Catch an exception if the icon theme is None 2009-08-27 Michael Vogt aptdaemon/client.py: fixup arguments for the dbus call if a empty components list is used 2009-08-27 sebi@glatzor.de Merge AddRepository feature from Michael Vogt. Thanks a lot! 2009-08-26 devel@glatzor.de Use the debline as argument for the add-repository option. Add a sanity check by using SourceEntry. Add an extra option to specify an alternative sources.list.d file. 2009-08-27 sebi@glatzor.de Minor code cleanup 2009-08-27 sebi@glatzor.de Fix GetTrustedVendorKeys call in the client 2009-08-27 sebi@glatzor.de Replace the add-repository privilege by a more general change-repository one 2009-08-27 sebi@glatzor.de Merge mvo's add repository branch 2009-08-26 Michael Vogt aptdaemon/core.py: fix writing the sourcesfile 2009-08-26 Michael Vogt * do not use a debline as argument for AddRepository() but use a argument list like (type, uri, dist, comps, comment, sourcesfile) instead 2009-08-26 Michael Vogt * aptdaemon/core.py: - raise Exceptions on error instead of returning True, False * aptdaemon/errors.py: - add RepositoryAlreadyExistsError, RepositoryInvalidError 2009-08-26 Michael Vogt add new add-repository method 2009-08-27 Michael Vogt aptdaemon/core.py: fix incorrect access to self.work (its now self.queue.worker) LP: #403467 2009-08-21 sebi@glatzor.de Fix upgrade in the console client 2009-08-20 devel@glatzor.de Stop monitoring the transaction on the D-Bus if it is finished 2009-08-20 devel@glatzor.de Cache transaction by their tid using a metaclass 2009-08-20 sebi@glatzor.de Merge local changes 2009-08-19 devel@glatzor.de Rename INACTIVITY_TIMEOUT and INACTIVITY_CHECK_INTERVALL to APTDAEMON_IDLE_*. Makes the difference to the transaction timeouts clearer 2009-08-19 devel@glatzor.de Remove transactions from the bus idling after creation or after beeing done 2009-08-02 devel@glatzor.de Push local changes: mainly PolicyKit-1 support 2009-08-02 devel@glatzor.de Rename CreateTransaction to RequestTransaction 2009-08-02 devel@glatzor.de Allow the client to decide if the methods should be run sync or async 2009-08-02 devel@glatzor.de Lower the policykit default timeout to 300 seconds 2009-08-02 devel@glatzor.de Merge PolicyKit1 branch 2009-08-02 devel@glatzor.de Remove never used import of policykit in gtkwidgets 2009-08-02 devel@glatzor.de Remove policykit calls from gtk example 2009-08-02 devel@glatzor.de Update setuptools 2009-08-02 devel@glatzor.de Use the PolicyKit-1 D-Bus API in the policykit module 2009-08-02 devel@glatzor.de Remove old policykit 2009-08-02 devel@glatzor.de Make use of new policykit api in the core daemon 2009-08-02 devel@glatzor.de Update policy definitions 2009-08-02 devel@glatzor.de PolicyKit wrapper isn't required anymore in the client 2009-07-31 devel@glatzor.de Use policykit1 action definitions 2009-07-31 devel@glatzor.de Convert to get_uid_from_dbus_name and modify _check_foreign_user 2009-07-31 devel@glatzor.de Start using policykit1 for CreateTransaction and only store the uid of the initial sender of the transaction. 2009-07-31 devel@glatzor.de We only need one D-Bus call now for PolicyKit! 2009-07-31 devel@glatzor.de Start on PolicyKit1 support using the deferreds only 2009-07-30 sebi@glatzor.de Merge local changes: Mainly replacing Twisted dependency with a local stripped down defer mechanism 2009-07-30 sebi@glatzor.de Add policykit package to setup.py 2009-07-30 sebi@glatzor.de Merge the gobject branch: Add a stripped down version of Twisted's Deferreds and replace all depedencies on Twisted. 2009-07-30 sebi@glatzor.de Add some ascii art to the documentation 2009-07-30 sebi@glatzor.de make use of the new _add_callbacks 2009-07-30 sebi@glatzor.de No need to iterate the gobject context in the test anymore 2009-07-30 sebi@glatzor.de Rename test for defer and replace some leftovers 2009-07-30 sebi@glatzor.de Remove some gdefer remainings in the doctests 2009-07-30 sebi@glatzor.de Remove all references to Twisted methods. Rename gdefer to defer and policykit.gdeferred to policykit.deferred. Call policykit.deferred directly without using the defer.defer wrapper. 2009-07-30 sebi@glatzor.de Port all Methods from twisted to gdefer 2009-07-30 sebi@glatzor.de Gdefer now is really a simplifed Twisted defer: Don't use gobject.idle_add anymore. Add pairs of callback/errback to follow the chain processing of Twisted. 2009-07-30 sebi@glatzor.de Trivial documentation fixes 2009-07-30 sebi@glatzor.de Convert Get and Set to gdefer 2009-07-30 sebi@glatzor.de Conver UpdateCache to gdefer 2009-07-29 sebi@glatzor.de Convert CommitPackages to gdefer 2009-07-29 sebi@glatzor.de Convert all policykit methods to the latest gdefer API 2009-07-29 sebi@glatzor.de Fix defer: make use of DeferredException. Fix dbus decorator: raise exception after calling the dbus callback to ensure that the deferred does not continue processing the callback chain 2009-07-29 sebi@glatzor.de Introduce DeferredException(s) and a lot more doctests 2009-07-29 sebi@glatzor.de Do not use errbacks in the chained callbacks test 2009-07-28 sebi@glatzor.de Merge local changes: Documentation and tests for gdefer 2009-07-28 sebi@glatzor.de Use nose as test suite and enable doctests 2009-07-28 sebi@glatzor.de Remove old test folder 2009-07-28 sebi@glatzor.de Rename gdefer test module 2009-07-28 sebi@glatzor.de Add documentation and doctests to gdefer 2009-07-27 sebi@glatzor.de Add Unittests for gdefer 2009-07-23 sebi@glatzor.de Adapt GetTrustedVendorKeys to the new gdefer 2009-07-23 sebi@glatzor.de Add a policykit module with gdefer support (Currently only is_authorized_sender is adapted) 2009-07-23 sebi@glatzor.de Add async Deferreds inspired by Twisted framework but using gobject directly 2009-07-23 sebi@glatzor.de Adapt rename of twisted policykit module 2009-07-23 sebi@glatzor.de Rename twisted module of policykit to tdeferred 2009-07-23 sebi@glatzor.de Rename dbus_deferred_method to dbus_twisted_method 2009-07-23 sebi@glatzor.de Rename policykit.deferred to policykit.twisted 2009-07-23 sebi@glatzor.de Fix a typo 2009-07-22 sebi@glatzor.de Revert the easy one deferred Set/Get methods 2009-07-22 sebi@glatzor.de Use the gobject main loop instead of the reactor 2009-07-22 sebi@glatzor.de Add Vendor prefix to all key handling names 2009-07-22 sebi@glatzor.de Merge from Olof Kindgren: Support for trusted repo keys handling. Thanks a lot. 2009-07-22 sebi@glatzor.de Use deferreds in the key operations 2009-07-22 sebi@glatzor.de Call AptAuth directly instead of through the SoftwareProperties layer 2009-07-22 sebi@glatzor.de Merge main 2009-07-09 Olof Kindgren Fix some typos 2009-07-09 Olof Kindgren RemoveKey implemented. Typos fixed 2009-07-09 Olof Kindgren Merged from main branch 2009-07-09 Olof Kindgren Completed GetTrustedKeys (was ListTrustedKeys), code cleanup, restored i18n hints in policyfile 2009-07-09 Olof Kindgren Check for auth in ListTustedKeys 2009-07-08 Olof Kindgren Added ListTrustedKeys without checking for authorization 2009-07-08 Olof Kindgren Error handling for add key. rough idea for list keys (if it is to be in daemon) 2009-07-08 Olof Kindgren Created error message when key file couldn't be installed 2009-07-08 Olof Kindgren Merge from main branch 2009-07-07 Olof Kindgren install_repo_key_file implemented, without error handling 2009-07-07 Olof Kindgren Added container logic for install repo key file 2009-07-18 sebi@glatzor.de Make use of dbus properties in the transaction object. Replace SetTerminal, SetDebconf and SetLocale by properties. 2009-07-17 sebi@glatzor.de Fix progress calculation in the install progress 2009-07-17 sebi@glatzor.de Allow to call nearly all policykit methods asynchromous 2009-07-16 sebi@glatzor.de Merge of the async branch: Make use of Twisted deferreds. This allows to handle async calls to policykit in a clean way. 2009-07-16 sebi@glatzor.de Use inline callbacks to simplify the code 2009-07-14 sebi@glatzor.de Fix: compare a possible policykit error with the modified dbus name 2009-07-12 sebi@glatzor.de Use deferreds in all DBus Transaction methods 2009-07-12 sebi@glatzor.de Add PolicyKit support mixed with Twisted deferreds 2009-07-12 sebi@glatzor.de Allow to compare Caller instances 2009-07-11 sebi@glatzor.de add an dbus exception that looks like the policykit error 2009-07-11 sebi@glatzor.de Move the policykit methods into a separate package 2009-07-10 sebi@glatzor.de If a deferred method returns at least None, ignore it 2009-07-10 sebi@glatzor.de Use twisted reactor instead of a pure gobject main loop and add the deferred dbus method decorator from James Henstridge. Thanks! 2009-07-09 sebi@glatzor.de Add a small epilog to the apdtcon help indicating to use quotation marks to specify several package names 2009-07-09 sebi@glatzor.de Trivial: fix description of --remove option 2009-07-09 sebi@glatzor.de Trivial: tweak status information in the console client 2009-07-09 sebi@glatzor.de Show --- instead of an illegal progress percentage in the conosle client 2009-07-09 sebi@glatzor.de Show a spinner in the console client to indicate a running transaction 2009-07-08 sebi@glatzor.de dist-upgrade option of aptdcon doesn't require an argument 2009-07-08 sebi@glatzor.de Add a refresh-cache command to the cli command 2009-07-07 sebi@glatzor.de Remove obsolete import from console 2009-07-07 sebi@glatzor.de Add a status notifcation icon service which allows to attach to already running transactions. 2009-07-07 sebi@glatzor.de Rename GetTransactions to GetActiveTransactions and clean up 2009-07-07 sebi@glatzor.de Rename the TransactionQueueChanged signal to ActiveTransactionsChanged which also provides the tid of the currently running transaction and of all queued ones. 2009-07-07 sebi@glatzor.de Replace the AptWorker.busy by querying AptWorker.trans 2009-07-07 sebi@glatzor.de Move the worker to the queue and use direct calls to the worker to run a new transaction 2009-07-07 sebi@glatzor.de Fix the wrong progress type in the client signal which resulted in an always pulsing progress 2009-07-07 sebi@glatzor.de Remove the threaded decorator from the misc module 2009-07-07 sebi@glatzor.de Use a singelton main loop instead of forwarding the main loop of the daemon to the progress instances. 2009-07-07 sebi@glatzor.de Do not use MANIFEST since it is additional work to keep in sync 2009-07-07 sebi@glatzor.de Remove TODO file and instead use bugs on Launchpad 2009-07-07 sebi@glatzor.de Use the gobject Transaction instead of the dbus interface in the console client 2009-07-07 sebi@glatzor.de Convert the client side AptTransaction to a gobject to handle a killed daemon in a better way 2009-07-07 sebi@glatzor.de Convert the ROLE_UNSET enum to an empty string 2009-07-07 sebi@glatzor.de Add an enum for a not yet set role 2009-07-06 sebi@glatzor.de Merge local changes 2009-07-06 sebi@glatzor.de Use a smaller step size in the progress dialog. 2009-07-06 sebi@glatzor.de Send an illegal progress (101) if the progress runs backwards 2009-07-05 sebi@glatzor.de Set the progress dialog as parent window for the medium required dialog 2009-07-05 sebi@glatzor.de Attach the transaction in get_transaction to fill it with data 2009-07-05 sebi@glatzor.de Use correct spelling of aptderror 2009-07-04 sebi@glatzor.de Merge local changes 2009-07-04 sebi@glatzor.de Sanitize allow_cancel calls. Allow to cancel every transaction before the changes get committed. 2009-07-04 sebi@glatzor.de Add constructor methods for the AptTransaction and daemon dbus interface to the client module 2009-07-04 sebi@glatzor.de Add missing module name to exception in the core 2009-07-04 sebi@glatzor.de ProgressDialog:If attach is True call the attach method of the transaction to synchronize. 2009-07-04 sebi@glatzor.de Add an attach method to the client. to synchronize with a running transaction. if the bus of a Transaction is none default to the SystemBus. 2009-07-04 sebi@glatzor.de Allow to disable debconf support in the progress dialog 2009-07-04 sebi@glatzor.de Add an AptRoleLabel widget 2009-07-04 sebi@glatzor.de Merge GetQueuedTransactions and GetCurrentTransaction method of the daemon into a single GetTransaction one. Turn the items method of the Queue into a property 2009-07-04 sebi@glatzor.de Add an option to not start the transaction in the progress dialog 2009-07-04 sebi@glatzor.de Remove leftovers from the threading area 2009-07-03 sebi@glatzor.de Remove another item from the TODO list 2009-07-03 sebi@glatzor.de Use TransactionFailed instead of a wrong spelled aptderror 2009-07-03 sebi@glatzor.de Run dpkg --configure -a after a failed installation 2009-07-03 sebi@glatzor.de remove another item from the TODO list 2009-07-03 sebi@glatzor.de Make sure the progress is always at 100 after processing the transaction 2009-07-03 sebi@glatzor.de Add an Attach method to the Transaction which allows to re-emit all signals. This helps to attach a client to an already running transaction. 2009-07-03 sebi@glatzor.de Final message of the console client should cover the whole line 2009-07-03 sebi@glatzor.de Do set attributes in the signal emitting method 2009-07-03 sebi@glatzor.de Remove another item form the TODO 2009-07-03 sebi@glatzor.de Show the progress and status details in the console client. Take terminal resize into account. 2009-07-02 sebi@glatzor.de Show a final progress information in the console client 2009-07-02 sebi@glatzor.de Add an option to hide the terminal in the console client 2009-07-02 sebi@glatzor.de Show the progress and status in the console application 2009-07-02 sebi@glatzor.de Move detaching the console client to a separate method 2009-07-02 sebi@glatzor.de Update TODO list 2009-07-02 sebi@glatzor.de Only allow the user who initiated the transaction to modify it. Further allow to cancel the transaction by the original user and the one who has the privilige to cancel foreign transactions. 2009-07-02 sebi@glatzor.de Add a policy to cancel the transaction of another user. 2009-07-02 sebi@glatzor.de Add a policy for upgrading packages 2009-07-02 sebi@glatzor.de Fix call to _mark_for_removal in the worker. 2009-07-02 sebi@glatzor.de Check if a transaction is already set up or running 2009-07-02 sebi@glatzor.de Merge today's train ride changes 2009-07-02 sebi@glatzor.de Remove useless _terminal assignment. 2009-07-02 sebi@glatzor.de Update TODO 2009-07-02 sebi@glatzor.de Use gobject.io_add_watch instead of threading in the console client 2009-07-02 sebi@glatzor.de Add an UpgradePackages method to the daemon 2009-07-02 sebi@glatzor.de Rename ROLE_UPDATE_PACKAGES to ROLE_UPGRADE_PACKAGES 2009-07-02 sebi@glatzor.de Remove obsolete try/exceptions from the worker 2009-07-02 sebi@glatzor.de Use an action group for install and remove too 2009-07-02 sebi@glatzor.de Fix marking packages for installation 2009-07-02 sebi@glatzor.de Only switch to non-interactive debconf mode if there isn't any terminal 2009-07-02 sebi@glatzor.de Only use debconf debugging if log level is DEBUG 2009-07-02 Michael Vogt aptdaemon/console.py: commit() is called commit_packages() 2009-07-02 Michael Vogt MANIFEST.in: add data and gtk-demo.py 2009-07-02 Michael Vogt * MANIFEST.in: - include po/* in the sdist file * aptd, aptdcon: - use /usr/bin/python * aptdaemon/__init__.py: - change version to 0.10 2009-07-01 sebi@glatzor.de Rename commit to commit_packages. 2009-07-01 sebi@glatzor.de Update TODO 2009-07-01 sebi@glatzor.de Merge train work 2009-07-01 sebi@glatzor.de Use the commit method in the console client. 2009-07-01 sebi@glatzor.de Add a Commit method which allows to install, remove and upgrade packages in one transaction 2009-06-30 sebi@glatzor.de Update TODO 2009-06-30 sebi@glatzor.de Add missing bracket 2009-06-30 sebi@glatzor.de Fix locale in the client 2009-06-30 sebi@glatzor.de Remove an obsolete debug statement 2009-06-30 sebi@glatzor.de Use a correct return value 2009-06-30 sebi@glatzor.de Fix DaemonDpkgInstallProgress for local file installation 2009-06-30 sebi@glatzor.de Replace hotshot by profile 2009-06-30 sebi@glatzor.de Improve removing ANSI control chars from the console log 2009-06-30 sebi@glatzor.de Make sure that the terminal slave of the client does not take over the daemon 2009-06-30 sebi@glatzor.de Remove resolved items from TODO 2009-06-30 sebi@glatzor.de Merge local changes 2009-06-30 sebi@glatzor.de Do not install the gtk demo application. 2009-06-30 sebi@glatzor.de Do not ship the demo application in the aptdaemon package. 2009-06-29 sebi@glatzor.de Merge fixes from mvo! Thanks 2009-06-29 Michael Vogt deal with canceling the frontend and error conditions, fix debconf-communicate zombie 2009-06-29 Michael Vogt merged from trunk 2009-06-18 Michael Vogt update todo 2009-06-18 Michael Vogt aptdaemon/gtkwidgets.py: fix zombie problem, add teardown function 2009-06-29 sebi@glatzor.de The worker doesn't need to by a gobject 2009-06-29 sebi@glatzor.de Merge my gobject branch: instead of threading the gobject main loop is used in the daemon. Simple reads from fd are replaced by gobject.io_watch_add. 2009-06-29 sebi@glatzor.de Use gobject.io_watch_add instead of duplicating file descriptors to get access to the controlling terminal of the forked child. This way we can even support re-attaching and logging. 2009-06-29 sebi@glatzor.de Only store the ttyname and not the openend file descriptor of the transacion 2009-06-29 sebi@glatzor.de Trivial typo fix in the OpenProgress 2009-06-29 sebi@glatzor.de Do not wildcard import enums 2009-06-29 sebi@glatzor.de Polish the DaemonOpenProgress 2009-06-29 sebi@glatzor.de Use block to iterate the main loop while waiting for a media change, since the action cannot be continued before another dbus call has been recieved. 2009-06-29 sebi@glatzor.de Provide traceback information in the transaction error message 2009-06-29 sebi@glatzor.de Merge the GObject* progresses with the Daemon* ones. Communicating to the worker by signals would add too much complexity compared to the benefits. 2009-06-29 sebi@glatzor.de There isn't any need to reset the cancelled flag. 2009-06-29 sebi@glatzor.de Follow attribute changes of Transaction class 2009-06-29 sebi@glatzor.de Make all attributes of the Transaction class public, since we don't require locking 2009-06-29 sebi@glatzor.de Use the GObjectFetchProgress for updating the cache 2009-06-29 sebi@glatzor.de Only emit a new transaction if there is one in the queue 2009-06-28 sebi@glatzor.de Remove threading.Events of the Transaction class 2009-06-28 sebi@glatzor.de Remove locks from the Transaction class 2009-06-28 sebi@glatzor.de There isn't any need for a thread safe queue. So use a gobject signal to notify the worker about a new item to process. 2009-06-28 sebi@glatzor.de Add a busy attribute to the worker 2009-06-28 sebi@glatzor.de Run the worker as a gobject idle function instead of a spearate thread 2009-06-28 sebi@glatzor.de Fixes in the progress code 2009-06-26 sebi@glatzor.de trivial formatting 2009-06-26 sebi@glatzor.de Add a basic gobject based fetch progress 2009-06-26 sebi@glatzor.de Do not export useless methods. emit signals directly in _on_status_change. Rename methods. 2009-06-26 sebi@glatzor.de Add signal emitting to the progress 2009-06-26 sebi@glatzor.de Use a separate fork method 2009-06-26 sebi@glatzor.de Add a basic Goject based install progress 2009-06-29 sebi@glatzor.de Push local changes 2009-06-26 sebi@glatzor.de Cancel the dbus name owner watcher in the client when the transaction is finished 2009-06-29 Michael Vogt aptdaemon/demo.py: add debugging option 2009-06-26 sebi@glatzor.de Store the debconf_helper as private attribute of the client transaction 2009-06-26 sebi@glatzor.de Use gobject.io_add_watch instead of threading in the client 2009-06-25 sebi@glatzor.de Watch the dbus name to detect a crashed aptdaemon 2009-06-24 sebi@glatzor.de Set the cancel button sensitive by default 2009-06-24 sebi@glatzor.de Push local changes 2009-06-24 sebi@glatzor.de Clean up the debconf module. Assign copyright to mvo! 2009-06-24 sebi@glatzor.de Introduce an event to the client transaction which indicates if the transaction is running. Make use of the running event in the debconf proxy. 2009-06-24 sebi@glatzor.de Add support for easy profiling of the daemon 2009-06-23 sebi@glatzor.de Remove the RemovableQueue and instead enhance the TransactionQueue. Allow to shutdown the worker client by adding None to the queue. 2009-06-22 sebi@glatzor.de Merge local changes 2009-06-22 sebi@glatzor.de Update inline dowcumentation of the worker module. 2009-06-22 sebi@glatzor.de Update inline documentation 2009-06-22 sebi@glatzor.de Update copyright headers 2009-06-22 sebi@glatzor.de Add mvo to the authors 2009-06-22 sebi@glatzor.de Add a lot of documentation to the core module 2009-06-21 sebi@glatzor.de store the Message instances and not only its enum 2009-06-21 sebi@glatzor.de Add support for media changes 2009-06-21 sebi@glatzor.de Allow to specify the test package in the demo application 2009-06-21 sebi@glatzor.de Connect to the slave end of the controlling terminal later 2009-06-21 devel@glatzor.de Fix: Use uuid4 for the transaction id 2009-06-21 devel@glatzor.de Switch to non interactive mode of debconf only if there is no debcon socket specified. Configure terminal master/slave before setting transaction details. 2009-06-21 devel@glatzor.de Clean up logging in the progress module 2009-06-21 devel@glatzor.de Make use of logging as a singelton 2009-06-21 devel@glatzor.de Fix missing import 2009-06-20 devel@glatzor.de Move the threaded decorator to a separate module misc 2009-06-10 devel@glatzor.de Merge Debconf support introduced by Michael Vogt! 2009-06-10 devel@glatzor.de Move the debconf code to the AptTransaction class and use threads instead of processes 2009-06-18 Michael Vogt inital support for debconf added 2009-06-10 devel@glatzor.de Push local changes 2009-06-10 devel@glatzor.de Fix a s missing self 2009-06-10 devel@glatzor.de Only retrieve the locale once 2009-06-10 devel@glatzor.de Use introspection for DBus objects 2009-06-10 devel@glatzor.de Only give the bus connection and the tid to AptTransaction 2009-05-31 devel@glatzor.de Push local changes 2009-06-09 Sebastian Heinlein Only change the language in the forked chil process 2009-06-09 Sebastian Heinlein Move transaction init and clean up to the run method 2009-06-09 Sebastian Heinlein Make use of the modern Python language and its exceptions instead of thousands if and else statements 2009-06-09 Sebastian Heinlein Fix attribute assignment in TransactionError 2009-06-09 Sebastian Heinlein Make message of TransactionError optional 2009-06-09 Sebastian Heinlein Use simpler error names 2009-04-26 Sebastian Heinlein The tid should include the full path to the transaction dbus object 2009-03-02 Sebastian Heinlein Remove packaging 2009-02-12 Sebastian Heinlein Set the text in the progress bar to a blank space to avoid flickering 2009-02-12 Sebastian Heinlein Add GetCurrentTransaction and GetQueuedTransactions method to the dbus interface 2009-02-12 Sebastian Heinlein Push local changes 2009-02-12 Sebastian Heinlein Split the enhanced Queue which supports removing into a separata class. Turn TranasactionQueue into a gobject and emit the TransactionQueueChanged signal on dbus. 2009-02-11 Sebastian Heinlein Remove obsolete service name from the dbus policy 2009-02-10 Sebastian Heinlein The transaction object should be registered witht the same bus name 2009-02-10 Sebastian Heinlein Use a sane default size for the terminal 2009-02-10 Sebastian Heinlein Fix old copy and paste error 2009-02-01 Sebastian Heinlein Use a persistant cache to avoid large memory leaks! creating a new cache, does not remove the old one from memory. 2009-02-01 Sebastian Heinlein Make initial release 2009-02-01 Sebastian Heinlein Don't fail on a not before locked cache during processing. locking is quite racy 2009-02-01 Sebastian Heinlein Try to get the window id of a terminal widget from the environment 2009-02-01 Sebastian Heinlein Simplify authmanager call 2009-02-01 Sebastian Heinlein Set path for daemon mode 2009-02-01 Sebastian Heinlein Rename cli module to console and add install_file support 2009-02-01 Sebastian Heinlein Don't wait on a joining worker thread in the case it already died 2009-02-01 Sebastian Heinlein Return the correct exit state of dpkg calls 2009-02-01 Sebastian Heinlein Make DaemonDpkgInstallProgress more generic and add DaemonDpkgRecoverProgress 2009-02-01 Sebastian Heinlein Raise minimum python-apt version 2009-02-01 Sebastian Heinlein Add support for installing local package files 2009-01-31 Sebastian Heinlein Trivial fix 2009-01-31 Sebastian Heinlein Default of boolean options should False 2009-01-31 Sebastian Heinlein Allow to replace an already running daemon 2009-01-31 Sebastian Heinlein Beautification of the demo application 2009-01-31 Sebastian Heinlein Close progress window before showing errors and messages 2009-01-31 Sebastian Heinlein The cancel button should not affect the dialog 2009-01-31 Sebastian Heinlein Replace ifilter and imap 2009-01-31 Sebastian Heinlein Allow to specify the size of the animation widget 2009-01-31 Sebastian Heinlein Use the role icon in the dialog 2009-01-31 Sebastian Heinlein Show missing image for mmissing status images :) 2009-01-31 Sebastian Heinlein Fix animations and missing icons 2009-01-31 Sebastian Heinlein Use better variable names in gtwidgets 2009-01-31 Sebastian Heinlein Make use of the role signal in the gtkwidgets 2009-01-31 Sebastian Heinlein Fix small typo 2009-01-31 Sebastian Heinlein Add a role signal to the transaction 2009-01-31 Sebastian Heinlein Add a role icon widget 2009-01-31 Sebastian Heinlein Don't search for icons in the PK data 2009-01-31 Sebastian Heinlein Adapt icon name changes in enums 2009-01-31 Sebastian Heinlein Fix namespace of resolving animation 2009-01-31 Sebastian Heinlein Add icons for resolving from PackageKit 2009-01-31 Sebastian Heinlein Ship icons 2009-01-31 Sebastian Heinlein Mention the icon artits in AUTHORS 2009-01-31 Sebastian Heinlein Rename Icons to the aptdaemon name space 2009-01-31 Sebastian Heinlein Add icons from PackageKit gnome 2009-01-31 Sebastian Heinlein Merge local changes 2009-01-31 Sebastian Heinlein Fix a broken strin replacement 2009-01-31 Sebastian Heinlein Clean up the parameters of dbus objects 2009-01-29 Sebastian Heinlein Remove obsolete test 2009-01-28 Sebastian Heinlein Do not require as init para of Transaction and make caller a required one 2009-01-28 Sebastian Heinlein Set caller at init time 2009-01-28 Sebastian Heinlein Merge local changes 2009-01-28 Sebastian Heinlein Create tid during init of transaction 2009-01-28 Sebastian Heinlein Allow to not connect the transaction to the bus 2009-01-27 Sebastian Heinlein Initialize the exception object with a correct message instead of overriding the string method 2009-01-27 Sebastian Heinlein I should really keep in mind that "if a:" is not the same as "if a is not None" 2009-01-27 Sebastian Heinlein Remove obsolete trans.get_error() call 2009-01-27 Sebastian Heinlein Fix mail formatted policykit action 2009-01-27 Sebastian Heinlein Do not include the copyright information in the docstring 2009-01-27 Sebastian Heinlein Code clean up 2009-01-27 Sebastian Heinlein More to do 2009-01-27 Sebastian Heinlein Code cleanup 2009-01-27 Sebastian Heinlein Code clean up 2009-01-27 Sebastian Heinlein Fix typo in variable name 2009-01-26 Sebastian Heinlein Code clean up 2009-01-26 Sebastian Heinlein Add a TODO 2009-01-26 Sebastian Heinlein Push local changes 2009-01-26 Sebastian Heinlein Code cleanup in the client 2009-01-26 Sebastian Heinlein Install cli client 2009-01-26 Sebastian Heinlein Rename gtk demo app 2009-01-26 Sebastian Heinlein Add a pylint config 2009-01-26 Sebastian Heinlein Fix a variable renaming 2009-01-26 Sebastian Heinlein Fix AptDError call 2009-01-26 Sebastian Heinlein Code clean up 2009-01-26 Sebastian Heinlein Use docstrings in errors and base AptDError on DBusException 2009-01-26 Sebastian Heinlein Extract strings from the core module 2009-01-26 Sebastian Heinlein Set the default log level to warnings 2009-01-26 Sebastian Heinlein Add an option to turn on debugging mode 2009-01-26 Sebastian Heinlein Add a command line option to disable the inactivity timeout 2009-01-25 Sebastian Heinlein Push local changes 2009-01-25 Sebastian Heinlein Use an empty string to clean the text in the progress bar 2009-01-25 Sebastian Heinlein Allow to reset the progress details 2009-01-25 Sebastian Heinlein Replace ''' by """ only for cosmetic reasons 2009-01-25 Sebastian Heinlein Remove obsolete comments 2009-01-25 Sebastian Heinlein Emit the current downloaded package in the fetcher 2009-01-25 Sebastian Heinlein Fi open_cache parameters 2009-01-25 Sebastian Heinlein Merge local changes 2009-01-25 Sebastian Heinlein Set the locale 2009-01-24 Sebastian Heinlein Show a nice error message in the cli client 2009-01-24 Sebastian Heinlein The client should only throw an exception if not any exit handler was specified 2009-01-24 Sebastian Heinlein Always close the master fd in the client 2009-01-24 Sebastian Heinlein Dettach the controlling terminal after the transaction is done. 2009-01-24 Sebastian Heinlein Suppress signal int and quit in the cli client 2009-01-24 Sebastian Heinlein Emit the human readable status string from apt and show it in the gtk progress label. Therefor added the signal StatusDetails 2009-01-24 Sebastian Heinlein Merge local changes 2009-01-24 Sebastian Heinlein Show download progress in the gtk dialog 2009-01-23 Sebastian Heinlein Always unlock the cache after running a transaction 2009-01-23 Sebastian Heinlein Rename StatusChanged signal to Status 2009-01-23 Sebastian Heinlein Remove state chaecking of downloads - This error doesn't appear anymore 2009-01-23 Sebastian Heinlein Add a ProgressDetails signal 2009-01-23 Sebastian Heinlein Rename ProgressChanged to Progress 2009-01-23 Sebastian Heinlein Merge local changes 2009-01-23 Sebastian Heinlein Add a very basic command line client 2009-01-23 Sebastian Heinlein Add block parameter to the run method of transactions. Furthermore return the exit state instead of the unused results 2009-01-23 Sebastian Heinlein The repository fetcher reports failed downloads as system error 2009-01-22 Sebastian Heinlein Set the terminal of a new transaction in the client 2009-01-22 Sebastian Heinlein Add AllowTerminal signal handling to client 2009-01-15 Sebastian Heinlein UPload local changes 2009-01-15 Sebastian Heinlein Use threading.Event instead of a mutex wrapped boolean for allow_cancel and allow_terminal 2009-01-14 Sebastian Heinlein Merge local changes 2009-01-14 Sebastian Heinlein The details of a message/error are not None but empty strings 2009-01-14 Sebastian Heinlein Update last action time stamp after processing a transaction to reset the timeout 2009-01-14 Sebastian Heinlein Check for skipped updates in UpgradeSystem and report them as a new message 2009-01-14 Sebastian Heinlein Check for available updates before making an upgrade and notify the user about an up-to-date system 2009-01-14 Sebastian Heinlein Add a message system for non-critical information and warnings from the daemon 2009-01-14 Sebastian Heinlein apt.Cache.update() doesn't report any failed downloads. So we have to check themmanually. 2009-01-13 Sebastian Heinlein Minor cleanup in the fetch progress 2009-01-13 Sebastian Heinlein Do not use a terminal for the update cache call in the demo app 2009-01-13 Sebastian Heinlein Allow to setup the AptProgressDialog without any terminal widget 2009-01-13 Sebastian Heinlein Emit AllowCancel and ProgressChanged(0) at the beginning of each worker method 2009-01-13 Sebastian Heinlein Install apt conf snippet 2009-01-13 Sebastian Heinlein Add an apt config snippet which emits the CacheChanged signal after an cache update 2009-01-12 Sebastian Heinlein Fix missing gettext statement 2009-01-12 Sebastian Heinlein Merge local changes 2009-01-12 Sebastian Heinlein Follow the naming of apt and rename refresh cache to update cache 2009-01-12 Sebastian Heinlein Add an upgrade button to the demo app 2009-01-12 Sebastian Heinlein Fix a wrong reference in the worker 2009-01-12 Sebastian Heinlein Merge local changes 2009-01-12 Sebastian Heinlein Add an idle shutdown after 5 minutes 2009-01-12 Sebastian Heinlein Use the exception message explicitly in the ErrorCode signal 2009-01-12 Sebastian Heinlein Fix a silly copy & paste error in the policy file 2009-01-12 Sebastian Heinlein Add upgrade system method 2009-01-12 Sebastian Heinlein Merge local changes. 2009-01-12 Sebastian Heinlein Quit the main loop after forking in the child 2009-01-12 Sebastian Heinlein Shutdown the daemon in a nice way if requested 2009-01-12 Sebastian Heinlein Set the status of a transaction to cancelled or failed if we encounter an exception during processing 2009-01-12 Sebastian Heinlein Fix a silly paramter assignment 2009-01-12 Sebastian Heinlein Share the main loop with the worker thread 2009-01-12 Sebastian Heinlein Fix a vi typo 2009-01-12 Sebastian Heinlein Only allow to connect a controlling terminal durint wait and setup phase of a transaction 2009-01-12 Sebastian Heinlein If not any terminal was specified the worker should work non-interactively 2009-01-09 Sebastian Heinlein Merge local changes 2009-01-09 Sebastian Heinlein Add a SetTerminal method to the transaction and connect the tty as controlling terminal for the forked apt process 2009-01-09 Sebastian Heinlein Change the Terminal signal into AllowTerminal which just indicates if interaction through a terminal is possible 2009-01-09 Sebastian Heinlein Use the master end for the fork again. The other direction would be nice, but doesn't work correctly 2009-01-08 Sebastian Heinlein Set an empty _cache attr in the worker on init. And fix a call to trans 2009-01-08 Sebastian Heinlein Make the forked child the session lead to own the controling terminal 2009-01-07 Sebastian Heinlein Fix a missing self. prefix in the demo code 2009-01-07 Sebastian Heinlein Add support for removing packages 2009-01-07 Sebastian Heinlein Merge local changes 2009-01-07 Sebastian Heinlein Install the gaptd-client script 2009-01-07 Sebastian Heinlein Move demo application from gtkwidgets to demo and create an executable 2009-01-07 Sebastian Heinlein Reimplement the polkit_auth_wrapper for aptdaemon 2009-01-07 Sebastian Heinlein Report the sender to all transaction methods 2009-01-07 Sebastian Heinlein Depend on python 2.5 2009-01-07 Sebastian Heinlein Depend on a policykit version => 0.9, since the DBus API of prior releases is worthless 2009-01-07 Sebastian Heinlein Add build dep on python-distutils-extra 2009-01-07 Sebastian Heinlein Merge local changes 2009-01-07 Sebastian Heinlein Use the new policykit module in the core 2009-01-07 Sebastian Heinlein Add the NotAuthError to the error class 2009-01-07 Sebastian Heinlein Make use of the new policykit method in the gtkwidgets 2009-01-07 Sebastian Heinlein Remove policykit handler taken from PackageKit in the client. 2009-01-07 Sebastian Heinlein Make use of distutils-extra to support i10n. Install dbus config files 2009-01-07 Sebastian Heinlein Add POTFILES.in 2009-01-07 Sebastian Heinlein Add policykit policy 2009-01-07 Sebastian Heinlein Add a dbus activation file 2009-01-07 Sebastian Heinlein Rename the dbus config file to relfect the interface name 2009-01-07 Sebastian Heinlein Policykit improvements: Add a caller cache, add new methods obtain_auth, is_auth and is_auth_sender 2009-01-05 Sebastian Heinlein Remove obsolete import 2009-01-05 Sebastian Heinlein Merge with packaging branch 2009-01-05 Sebastian Heinlein Add packaging 2009-01-05 Sebastian Heinlein Add setup script 2009-01-04 Sebastian Heinlein Clear canceled event after processing a transaction 2009-01-04 Sebastian Heinlein Change AllowCancel default to False again 2009-01-04 Sebastian Heinlein Clean up cancel method of Transaction class. Check if a transaction is queued during cancel. 2009-01-04 Sebastian Heinlein Add handler for the cancel call in the client 2009-01-04 Sebastian Heinlein Change default of allow_cancel to True 2009-01-04 Sebastian Heinlein Fix a dead lock in the cancel code 2009-01-04 Sebastian Heinlein Add support for cancelling to the client 2009-01-04 Sebastian Heinlein Fix name of exit state attribute in the client 2009-01-04 Sebastian Heinlein Add RemovePackages method to the transacion 2009-01-04 Sebastian Heinlein Add a remove xterm button to the gtk example 2009-01-04 Sebastian Heinlein Minor comment clean up 2009-01-04 Sebastian Heinlein Add remove to the client 2009-01-04 Sebastian Heinlein Make GetRole call async in gtkwidgets 2009-01-04 Sebastian Heinlein Improve logging of signals by using clear text 2009-01-04 Sebastian Heinlein Make sure to release the cache after a failed operation 2009-01-04 Sebastian Heinlein Clear cancel event in the worker 2009-01-04 Sebastian Heinlein Rename PercentageChanged signal to ProgressChanged and clean up the gtk progress handling. 2009-01-04 Sebastian Heinlein Add support for the terminal widget 2009-01-04 Sebastian Heinlein Add some maintenance files 2009-01-04 Sebastian Heinlein Adopt gtkwidgets 2009-01-04 Sebastian Heinlein Fix client exit_handler call: we don't supply runtime 2009-01-04 Sebastian Heinlein Adapt latest enum changes 2009-01-04 Sebastian Heinlein Add messages and icon maps for the enums 2009-01-04 Sebastian Heinlein Add refresh cache method 2009-01-03 Sebastian Heinlein Fix a wrong enum 2009-01-03 Sebastian Heinlein Fix a wrong message call in the client 2009-01-03 Sebastian Heinlein Extend cancel to queued transactions and add a GetStatus method 2009-01-03 Sebastian Heinlein Fix spelling error in the enums. Add status enums for waiting and cancelling 2009-01-03 Sebastian Heinlein Enhance the Queue class to support removal of items 2009-01-03 Sebastian Heinlein Implement canceling 2009-01-03 Sebastian Heinlein Move the actual package management into a separate worker thread. Make the transaction thread safe and add a transaction queue. 2009-01-03 Sebastian Heinlein Add the enums package under version control. 2009-01-03 Sebastian Heinlein Workaround a list to string conversion. Needs furhter investigation 2009-01-03 Sebastian Heinlein Workaround strange behavior of the client, converting a list to string 2009-01-03 Sebastian Heinlein Fix: use correct transaction class 2009-01-03 Sebastian Heinlein Adapt client for aptdaemon 2009-01-02 Sebastian Heinlein Include the gtk widgets from gnome-packagekit for a later adoption 2009-01-02 Sebastian Heinlein Use the packagekit client as a base for the aptdaemon client 2009-01-02 Sebastian Heinlein Replace test.sh script by a setup.cfg configuration 2009-01-02 Sebastian Heinlein Add a testing infrastructure 2009-01-02 Sebastian Heinlein Remove obsole output collecting references in the install progress. Send signal 15 to the child process in case of a timeout. Set the owner to the pty device to the calling user. 2009-01-02 Sebastian Heinlein Add a Terminal signal, allow to control the forked apt process by a slave tty 2009-01-02 Sebastian Heinlein Add a working install_packages method and helper methods 2009-01-02 Sebastian Heinlein Fix error imports and progress reporting in the progress handlers 2009-01-02 Sebastian Heinlein Set the version in the aptdaemon package 2009-01-02 Sebastian Heinlein Adapt latest code moval in the progress module 2009-01-02 Sebastian Heinlein Move errors to a separate module 2009-01-02 Sebastian Heinlein Move logging facility to a separate module 2009-01-02 Sebastian Heinlein Use more sane parameters for the open cache 2009-01-02 Sebastian Heinlein Add unlock cache code directly to the decorator 2009-01-02 Sebastian Heinlein Replace backend references by transaction 2009-01-02 Sebastian Heinlein Add unlock_cache_afterwards decorator from PackageKit backend 2009-01-02 Sebastian Heinlein Add threading support 2009-01-02 Sebastian Heinlein Add an error class 2009-01-02 Sebastian Heinlein Adapt progress code 2009-01-02 Sebastian Heinlein Add my progress handlers from PackageKit 2009-01-01 Sebastian Heinlein Rename log handler 2008-12-30 Sebastian Heinlein Add transactions 2008-12-30 Sebastian Heinlein Initial commit aptdaemon-1.1.1/README.tests0000644000175000017500000000043212117271433016261 0ustar renaterenate00000000000000Tests are supported via nosetests3 from the python3-nose package. To run the tests you can either use the "python3 setup.py test" or the "nosetests3" command. Since Python 2 is still supported, you should also run the tests with "python setup.py test" or the "nosetests" command. aptdaemon-1.1.1/gtk3-demo.py0000755000175000017500000001447712117271433016425 0ustar renaterenate00000000000000#!/usr/bin/python3 # -*- coding: utf-8 -*- """ Provides a graphical demo application for aptdaemon """ # Copyright (C) 2008-2009 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. __author__ = "Sebastian Heinlein " from optparse import OptionParser import logging # uncomment to use GTK 2.0 #import gi #gi.require_version('Gtk', '2.0') #gi.require_version('Vte', '0.0') from gi.repository import GLib, Gtk import aptdaemon.client from aptdaemon.enums import * from aptdaemon.gtk3widgets import AptErrorDialog, \ AptConfirmDialog, \ AptProgressDialog import aptdaemon.errors class AptDaemonDemo(object): """Provides a graphical test application.""" def _run_transaction(self, transaction): dia = AptProgressDialog(transaction, parent=self.win) dia.run(close_on_finished=True, show_error=True, reply_handler=lambda: True, error_handler=self._on_error) def _simulate_trans(self, trans): trans.simulate(reply_handler=lambda: self._confirm_deps(trans), error_handler=self._on_error) def _confirm_deps(self, trans): if [pkgs for pkgs in trans.dependencies if pkgs]: dia = AptConfirmDialog(trans, parent=self.win) res = dia.run() dia.hide() if res != Gtk.ResponseType.OK: return self._run_transaction(trans) def _on_error(self, error): if isinstance(error, aptdaemon.errors.NotAuthorizedError): # Silently ignore auth failures return elif not isinstance(error, aptdaemon.errors.TransactionFailed): # Catch internal errors of the client error = aptdaemon.errors.TransactionFailed(ERROR_UNKNOWN, str(error)) dia = AptErrorDialog(error) dia.run() dia.hide() def _on_upgrade_clicked(self, *args): self.ac.upgrade_system(safe_mode=False, reply_handler=self._simulate_trans, error_handler=self._on_error) def _on_update_clicked(self, *args): self.ac.update_cache(reply_handler=self._run_transaction, error_handler=self._on_error) def _on_install_clicked(self, *args): self.ac.install_packages([self.package], reply_handler=self._simulate_trans, error_handler=self._on_error) def _on_install_file_clicked(self, *args): chooser = Gtk.FileChooserDialog(parent=self.win, action=Gtk.FileChooserAction.OPEN, buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) chooser.set_local_only(True) chooser.run() chooser.hide() path = chooser.get_filename() self.ac.install_file(path, reply_handler=self._simulate_trans, error_handler=self._on_error) def _on_remove_clicked(self, *args): self.ac.remove_packages([self.package], reply_handler=self._simulate_trans, error_handler=self._on_error) def __init__(self, package): self.win = Gtk.Window() self.package = package self.win.set_resizable(False) self.win.set_title("Aptdaemon Demo") icon_theme = Gtk.IconTheme.get_default() try: Gtk.window_set_default_icon(icon_theme.load_icon("aptdaemon-setup", 32, 0)) except (GLib.GError, AttributeError): pass button_update = Gtk.Button.new_with_mnemonic("_Update") button_install = Gtk.Button.new_with_mnemonic("_Install %s" % self.package) button_install_file = Gtk.Button.new_with_mnemonic("Install _file...") button_remove = Gtk.Button.new_with_mnemonic("_Remove %s" % self.package) button_upgrade = Gtk.Button.new_with_mnemonic("Upgrade _System") button_update.connect("clicked", self._on_update_clicked) button_install.connect("clicked", self._on_install_clicked) button_install_file.connect("clicked", self._on_install_file_clicked) button_remove.connect("clicked", self._on_remove_clicked) button_upgrade.connect("clicked", self._on_upgrade_clicked) vbox = Gtk.VBox() vbox.add(button_update) vbox.add(button_install) vbox.add(button_install_file) vbox.add(button_remove) vbox.add(button_upgrade) self.win.add(vbox) self.loop = GLib.MainLoop() self.win.connect("delete-event", lambda w, e: self.loop.quit()) self.win.show_all() self.ac = aptdaemon.client.AptClient() def run(self): self.loop.run() def main(): parser = OptionParser() parser.add_option("-p", "--package", default="cw", action="store", dest="package", help="Use this package for installation and removal") parser.add_option("-d", "--debug", default=False, action="store_true", help="Verbose debugging") options, args = parser.parse_args() if options.debug: logging.basicConfig(level=logging.DEBUG) demo = AptDaemonDemo(options.package) demo.run() if __name__ == "__main__": main() # vim:ts=4:sw=4:et aptdaemon-1.1.1/aptdcon0000755000175000017500000000201712117271433015617 0ustar renaterenate00000000000000#!/usr/bin/python3 # -*- coding: utf-8 -*- """ aptdcon - command line interface client to aptdaemon """ # Copyright (C) 2008 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " __state__ = "experimental" import aptdaemon.console if __name__ == "__main__": aptdaemon.console.main() # vim:ts=4:sw=4:et aptdaemon-1.1.1/release.sh0000755000175000017500000000275312202062642016222 0ustar renaterenate00000000000000#!/bin/bash # release.sh - Prepare a release and upload it set -e USAGE="USAGE: release.sh VERSION" VERSION=$1 VERSION_TAG=$(echo "$VERSION" | perl -pi -e "s/\./_/g") TARBALL=dist/aptdaemon-$VERSION.tar.gz DATE=$(LC_TIME=C date +%c) #if [ -z "$(bzr status | grep -v shelve)" ]; then # echo "ERROR: Uncommitted changes, aborting" >&2 # exit 1 #fi if [ ! $(echo $VERSION | egrep "^[0-9\.]+$") ]; then echo "ERROR: Specify a vaild version number as argument" >&2 echo $USAGE exit 1 fi if [ -e $TARBALL.gz ]; then echo "ERROR: Tarball already exists!" >&2 echo $USAGE exit 1 fi echo "Preparing $VERSION release..." # Run the test suite # python3 setup.py test # python setup.py test bzr clean-tree --ignored # Set the version number sed -i "1s/.*/VERSION $VERSION - released on $DATE/" NEWS sed -i "s/^\(__version__ = \).*/\1'$VERSION'/" aptdaemon/__init__.py # Create the tarball bzr inventory --kind file | sed "s/^/include /" > MANIFEST.in bzr log --gnu-changelog -n0 > ChangeLog echo "include ChangeLog" >> MANIFEST.in read -p "Do you want to publish the release? (y/N) " PUBLISH echo "" if [ "$PUBLISH" != "y" ]; then echo "Cancelling..." exit 1 fi echo "Uploading to Python Package Index..." python3 setup.py sdist upload gpg --armor --sign --detach-sig $TARBALL echo "Commiting to VCS repository..." bzr commit NEWS aptdaemon/__init__.py -m "Release version $VERSION" bzr tag APTDAEMON_$VERSION_TAG echo "Uploading to Launchpad..." lp-project-upload aptdaemon $VERSION $TARBALL aptdaemon-1.1.1/README0000644000175000017500000000045312117271433015123 0ustar renaterenate00000000000000Aptdaemon allows to perform package management tasks in a background process controlled by DBus. It is greatly inspired by PackageKit, which doesn't support essential features of apt by policy. The project homepage is at https://launchpad.net/aptdaemon You can report errors and suggestion there. aptdaemon-1.1.1/tests/0000755000175000017500000000000012202062656015403 5ustar renaterenate00000000000000aptdaemon-1.1.1/tests/test_configfileprompt.py0000644000175000017500000001331612117271433022367 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests the config file handling.""" import logging import os import time import unittest # Import gobject introspection to tigger the use of the correct client code from gi.repository import GObject import defer import dbus import aptdaemon.client import aptdaemon.loop import aptdaemon.enums import aptdaemon.test DEBUG = True REPO_PATH = os.path.join(aptdaemon.test.get_tests_dir(), "repo") class ConfigFilePromptTestCase(aptdaemon.test.AptDaemonTestCase): """Test the replacement of config files.""" def setUp(self): """Setup a chroot, run the aptdaemon and a fake PolicyKit daemon.""" # Setup chroot self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) self.chroot.add_test_repository() # Start aptdaemon with the chroot on the session bus self.start_dbus_daemon() self.bus = dbus.bus.BusConnection(self.dbus_address) self.start_session_aptd(self.chroot.path) # Start the fake PolikcyKit daemon self.start_fake_polkitd() time.sleep(1) self.called = False # Create a fake config file which gets overwritten by silly-config self.config_path = os.path.join(self.chroot.path, "etc/silly-packages.cfg") with open(self.config_path, "w") as config: config.write("BliBlaBlub") @defer.inline_callbacks def _on_config_file_conflict(self, trans, config_old, config_new, answer): self.assertEqual(trans.config_file_conflict, (config_old, config_new)) if answer == "urgs": # Check if cancelling is forbidden try: yield trans.cancel() except aptdaemon.errors.AptDaemonError as error: self.assertTrue(str(error), "org.debian.apt: Could not cancel transaction") # Check if we fail correctly on wrong answers try: yield trans.resolve_config_file_conflict(config_old, "a&&dasmk") except aptdaemon.errors.AptDaemonError as error: self.assertTrue(str(error).index("Invalid value")) yield trans.resolve_config_file_conflict(config_old, "replace") else: self.fail("Failed to detect invalid answer") else: yield trans.resolve_config_file_conflict(config_old, answer) def _on_finished(self, trans, exit): """Callback to stop the mainloop after a transaction is done.""" aptdaemon.loop.mainloop.quit() def test_keep(self): """Test keeping the current configuration file.""" @defer.inline_callbacks def run(): self.client = aptdaemon.client.AptClient(self.bus) trans = yield self.client.install_packages(["silly-config"]) trans.connect("finished", self._on_finished) trans.connect("config-file-conflict", self._on_config_file_conflict, "keep") yield trans.run() defer.return_value(trans) deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.exit, aptdaemon.enums.EXIT_SUCCESS) with open(self.config_path) as config: self.assertEqual(config.read(), "BliBlaBlub") with open("%s.dpkg-dist" % self.config_path) as config_dist: self.assertEqual(config_dist.read(), "#Just another config file.\n") def test_replace(self): """Test replacing the current configuration file.""" @defer.inline_callbacks def run(): self.client = aptdaemon.client.AptClient(self.bus) trans = yield self.client.install_packages(["silly-config"]) trans.connect("finished", self._on_finished) trans.connect("config-file-conflict", self._on_config_file_conflict, "replace") yield trans.run() defer.return_value(trans) deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.exit, aptdaemon.enums.EXIT_SUCCESS) with open(self.config_path) as config: self.assertEqual(config.read(), "#Just another config file.\n") with open("%s.dpkg-old" % self.config_path) as config_old: self.assertEqual(config_old.read(), "BliBlaBlub") def test_fail(self): """Test failing correctly.""" @defer.inline_callbacks def run(): self.client = aptdaemon.client.AptClient(self.bus) trans = yield self.client.install_packages(["silly-config"]) yield trans.set_locale("C") trans.connect("finished", self._on_finished) trans.connect("config-file-conflict", self._on_config_file_conflict, "urgs") yield trans.run() defer.return_value(trans) deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.exit, aptdaemon.enums.EXIT_SUCCESS) with open(self.config_path) as config: self.assertEqual(config.read(), "#Just another config file.\n") with open("%s.dpkg-old" % self.config_path) as config_old: self.assertEqual(config_old.read(), "BliBlaBlub") if __name__ == "__main__": if DEBUG: logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_debconf.py0000644000175000017500000001120212117271433020410 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests the debconf forwarding""" import logging import os import subprocess import sys import tempfile import unittest import apt_pkg from gi.repository import GLib from aptdaemon import test from aptdaemon.debconf import DebconfProxy DEBUG = False class DebconfTestBasic(unittest.TestCase): def _stop(self): self.proxy.stop() self.loop.quit() def setUp(self): self.loop = GLib.MainLoop() self.debconf_socket_path = tempfile.mktemp(prefix="debconf-socket-") self._set_input_value() self.proxy = DebconfProxy("editor", self.debconf_socket_path) self.proxy.start() def _set_input_value(self, template="aptdaemon/test", value="lalelu"): os.environ["DEBIAN_PRIORITY"] = "high" os.environ["EDITOR"] = "sed -ie 's/\\(%s=\\).*/\\1\\\"%s\\\"/i'" % \ (template.replace("/", "\\/"), value) def _spawn_config_script(self, config_db_path, command=None): if command is None: command = [os.path.join(test.get_tests_dir(), "debconf/aptdaemon.config")] env = {} env["DEBCONF_DB_REPLACE"] = "File{%s}" % config_db_path env["DEBIAN_FRONTEND"] = "passthrough" env["DEBCONF_PIPE"] = self.debconf_socket_path if DEBUG: env["DEBCONF_DEBUG"] = ".*" env_str = ["%s=%s" % (key, val) for key, val in env.items()] proc = subprocess.Popen(command, env=env) return proc def testBasic(self): def config_done(pid, cond): self.assertEqual(cond, 0, "Config script failed: %s" % os.WEXITSTATUS(cond)) self._stop() debconf_db_path = tempfile.mktemp(suffix=".dat", prefix="config-basic-") proc = self._spawn_config_script(debconf_db_path) GLib.child_watch_add(GLib.PRIORITY_DEFAULT, proc.pid, config_done) self.loop.run() # Check the results self._check_value(debconf_db_path) @unittest.skipIf(sys.version_info.major < 3 and "nose" in sys.modules, "For unknown reasons lets other tests fail " "(test_simulate) if performed under Python2 and nose") def testSerial(self): """Run several config scripts in a row.""" def config_done(pid, cond): self.assertEqual(cond, 0, "Config script failed: %s" % os.WEXITSTATUS(cond)) self.config_scripts -= 1 if self.config_scripts <= 0: self._stop() else: proc = self._spawn_config_script(debconf_db_path) GLib.child_watch_add(GLib.PRIORITY_DEFAULT, proc.pid, config_done) debconf_db_path = tempfile.mktemp(suffix=".dat", prefix="config-row-") self.config_scripts = 10 proc = self._spawn_config_script(debconf_db_path) GLib.child_watch_add(GLib.PRIORITY_DEFAULT, proc.pid, config_done) self.loop.run() # Check the results self._check_value(debconf_db_path) def testRace(self): def config_done(pid, cond): self.assertEqual(cond, 0, "Config script failed: %s" % os.WEXITSTATUS(cond)) self.workers -= 1 if self.workers <= 0: self._stop() debconf_dbs = [] self.workers = 0 for i in range(10): debconf_db_path = tempfile.mktemp(suffix=".dat", prefix="config-race-") proc = self._spawn_config_script(debconf_db_path) GLib.child_watch_add(GLib.PRIORITY_DEFAULT, proc.pid, config_done) debconf_dbs.append(debconf_db_path) self.workers += 1 self.loop.run() # Check the results for db_path in debconf_dbs: self._check_value(db_path) def _check_value(self, db_path, template=None, value="lalelu"): with open(db_path) as db_file: for section in apt_pkg.TagFile(db_file): if template == section["Template"] or template is None: self.assertEqual(section["Value"], value) return os.remove(db_path) self.fail("Database doesn't contain any matching value or template") def tearDown(self): os.remove(self.debconf_socket_path) self.proxy = None self.loop.quit() self.loop = None if __name__ == "__main__": if DEBUG: logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_gtk3widgets.py0000644000175000017500000000262612117271433021261 0ustar renaterenate00000000000000#!/usr/bin/env python3 """Test gtk3widgets.py.""" import os import codecs import shutil import tempfile import unittest from aptdaemon.gtk3widgets import DiffView class TestLP1120322(unittest.TestCase): def setUp(self): tempdir = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, tempdir) self.a = os.path.join(tempdir, 'a.txt') self.b = os.path.join(tempdir, 'b.txt') with codecs.open(self.a, 'w', encoding='utf-8') as f: f.write('one\n') with codecs.open(self.b, 'w', encoding='utf-8') as f: f.write('onee\n') def test_lp_1120322(self): # UnboundLocalError when the diff is one line long. dv = DiffView() # This simply should not traceback. dv.show_diff(self.a, self.b) class TestGoodPath(unittest.TestCase): def setUp(self): tempdir = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, tempdir) self.a = os.path.join(tempdir, 'a.txt') self.b = os.path.join(tempdir, 'b.txt') with codecs.open(self.a, 'w', encoding='utf-8') as f: f.write('one\ntwo\n') with codecs.open(self.b, 'w', encoding='utf-8') as f: f.write('one\ntoo\n') def test_lp_1120322(self): # UnboundLocalError when the diff is multiple lines long. dv = DiffView() # This simply should not traceback. dv.show_diff(self.a, self.b) aptdaemon-1.1.1/tests/fake-polkitd.py0000755000175000017500000000375612117271433020345 0ustar renaterenate00000000000000#!/usr/bin/python3 """Fake a PolicyKit daemon.""" from optparse import OptionParser import sys import dbus import dbus.mainloop.glib import dbus.service from gi.repository import GLib # Setup the DBus main loop dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) class FakePolicyKitDaemon(dbus.service.Object): def __init__(self, allowed_actions): self.allowed_actions = allowed_actions bus_name = dbus.service.BusName("org.freedesktop.PolicyKit1", dbus.SystemBus(), do_not_queue=True) dbus.service.Object.__init__(self, bus_name, "/org/freedesktop/PolicyKit1/Authority") self.loop = GLib.MainLoop() def run(self): self.loop.run() @dbus.service.method("org.freedesktop.PolicyKit1.Authority", in_signature='(sa{sv})sa{ss}us', out_signature='(bba{ss})') def CheckAuthorization(self, subject, action_id, details, flags, cancellation_id): if "all" in self.allowed_actions: allowed = True else: allowed = action_id in self.allowed_actions challenged = False details = {"test": "test"} return (allowed, challenged, details) @dbus.service.method("org.freedesktop.PolicyKit1.Authority", in_signature='', out_signature='') def Quit(self): GLib.idle_add(self._quit) def _quit(self): self.loop.quit() sys.exit() def main(): parser = OptionParser() parser.add_option("-a", "--allowed-actions", default="", action="store", type="string", dest="allowed_actions", help="Comma separated list of allowed action ids") options, args = parser.parse_args() polkitd = FakePolicyKitDaemon(options.allowed_actions.split(",")) polkitd.run() if __name__ == "__main__": main() aptdaemon-1.1.1/tests/dpkg-wrapper.sh0000755000175000017500000000006212117271433020343 0ustar renaterenate00000000000000#!/bin/sh exec /usr/bin/fakeroot /usr/bin/dpkg $* aptdaemon-1.1.1/tests/test_progress.py0000644000175000017500000000233612117271433020664 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests the debconf forwarding""" import apt import logging import mock import sys import unittest from aptdaemon.progress import DaemonOpenProgress class TestProgress(unittest.TestCase): def test_open_progress(self): transaction = mock.Mock() begin = 0 end = 5 d = DaemonOpenProgress(transaction, begin=begin, end=end) # simulate cache open (c = apt.Cache(d))) for j in range(4): for i in range(0, 100, 10): d.update(i) self.assertTrue(d.progress >= begin) self.assertTrue(d.progress <= end) d.done() # ensure we use the full range self.assertEqual(d.progress, end) def test_open_progress_real_cache(self): transaction = mock.Mock() begin = 0 end = 5 d = DaemonOpenProgress(transaction, begin=begin, end=end) c = apt.Cache(d) # ensure we use the full range self.assertEqual(d.progress, end) @unittest.skipIf(sys.version_info.major < 3, "Python 3 only") def setUp(): pass if __name__ == "__main__": logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_worker.py0000644000175000017500000006664612201760213020340 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Provides unit tests for the APT worker.""" # Copyright (C) 2011 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Licensed under the GNU General Public License Version 2 __author__ = "Sebastian Heinlein " import glob import netrc import os import shutil import stat import sys import tempfile import unittest import apt_pkg from gi.repository import GLib from mock import ( Mock, patch) import aptdaemon.test from aptdaemon.worker import ( AptWorker) from aptdaemon.core import Transaction from aptdaemon import enums, errors REPO_PATH = os.path.join(aptdaemon.test.get_tests_dir(), "repo") PY3K = sys.version_info.major > 2 class WorkerTestCase(aptdaemon.test.AptDaemonTestCase): """Test suite for the worker which performs the actual package installation and removal.""" def setUp(self): self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) self.loop = GLib.MainLoop() self.queue = aptdaemon.test.MockQueue() self.worker = AptWorker(chroot=self.chroot.path, load_plugins=False) self.worker.connect("transaction-done", lambda w, t: self.loop.quit()) self.worker.connect("transaction-simulated", lambda w, t: self.loop.quit()) @unittest.skipIf("nose" in sys.modules, "Fails under nosetests3") def test_update_cache(self): """Test updating the cache using a local repository.""" # Add a working and a non-working repository self.chroot.add_trusted_key() path = os.path.join(self.chroot.path, "etc/apt/sources.list.d/test.list") with open(path, "w") as part_file: part_file.write("deb file://%s ./" % REPO_PATH) self.chroot.add_repository("/does/not/exist", copy_list=False) # Only update the repository from the working snippet trans = Transaction(None, enums.ROLE_UPDATE_CACHE, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, kwargs={"sources_list": "test.list"}) self.worker.simulate(trans) self.loop.run() self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() self.assertEqual(len(self.worker._cache), 10) pkg = self.worker._cache["silly-base"] self.assertTrue(pkg.candidate.origins[0].trusted) def test_upgrade_system(self): """Test upgrading the system.""" self.chroot.add_test_repository() self.chroot.install_debfile(os.path.join(REPO_PATH, "silly-base_0.1-0_all.deb")) # Install the package trans = Transaction(None, enums.ROLE_UPGRADE_SYSTEM, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, kwargs={"safe_mode": False}) self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.depends[enums.PKGS_UPGRADE], ["silly-base=0.1-0update1"]) self.assertTrue(trans.space > 0) self.assertTrue(trans.download == 0) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() # Test apt history log with open(os.path.join(self.chroot.path, "var/log/apt/history.log")) \ as history_file: history = history_file.read() self.assertTrue("Commandline: aptdaemon role='%s'" % trans.role in history) self.assertEqual(self.worker._cache["silly-base"].installed.version, "0.1-0update1") def test_check_unauth(self): """Test if packages from an unauthenticated repo are detected.""" self.chroot.add_test_repository(copy_sig=False) # Install the package trans = Transaction(None, enums.ROLE_INSTALL_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[["silly-base"], [], [], [], [], []]) self.worker.simulate(trans) self.loop.run() trans.allow_unauthenticated = False self.assertEqual(trans.unauthenticated, ["silly-base"]) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_FAILED) self.assertEqual(trans.error.code, enums.ERROR_PACKAGE_UNAUTHENTICATED) # Allow installation of unauthenticated packages trans = Transaction(None, enums.ROLE_INSTALL_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[["silly-base"], [], [], [], [], []]) trans.allow_unauthenticated = True self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.unauthenticated, ["silly-base"]) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() self.assertTrue(self.worker._cache["silly-base"].is_installed) def test_install(self): """Test installation of a package from a repository.""" self.chroot.add_test_repository() # Install the package trans = Transaction(None, enums.ROLE_INSTALL_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[["silly-depend-base"], [], [], [], [], []]) self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.depends[enums.PKGS_INSTALL], ["silly-base=0.1-0update1"]) self.assertTrue(trans.space > 0) self.assertTrue(trans.download == 0) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() self.assertTrue(self.worker._cache["silly-depend-base"].is_installed) def test_remove_obsolete(self): """Test the removal of obsoleted packages.""" for pkg in ["silly-base_0.1-0_all.deb", "silly-depend-base_0.1-0_all.deb"]: self.chroot.install_debfile(os.path.join(REPO_PATH, pkg)) ext_states = apt_pkg.config.find_file("Dir::State::extended_states") with open(ext_states, "w") as ext_states_file: ext_states_file.write("""Package: silly-base Architecture: all Auto-Installed: 1""") trans = Transaction(None, enums.ROLE_REMOVE_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[[], [], ["silly-depend-base"], [], [], []]) trans.remove_obsoleted_depends = True self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.depends[enums.PKGS_REMOVE], ["silly-base=0.1-0"]) self.assertTrue(trans.space < 0) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() self.assertFalse("silly-base" in self.worker._cache) self.assertFalse("silly-depend-base" in self.worker._cache) def test_remove(self): """Test the removal of packages.""" for pkg in ["silly-base_0.1-0_all.deb", "silly-essential_0.1-0_all.deb", "silly-depend-base_0.1-0_all.deb"]: self.chroot.install_debfile(os.path.join(REPO_PATH, pkg)) trans = Transaction(None, enums.ROLE_REMOVE_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[[], [], ["silly-base"], [], [], []]) self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.depends[enums.PKGS_REMOVE], ["silly-depend-base=0.1-0"]) self.assertTrue(trans.space < 0) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() try: installed = self.worker._cache["silly-depend-base"].is_installed self.assertFalse(installed) except KeyError: pass # Don't allow to remove essential packages trans = Transaction(None, enums.ROLE_REMOVE_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[[], [], ["silly-essential"], [], [], []]) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_FAILED, "Allowed to remove an essential package") self.assertEqual(trans.error.code, enums.ERROR_NOT_REMOVE_ESSENTIAL_PACKAGE, "Allowed to remove an essential package") def test_upgrade(self): """Test upgrading of packages.""" self.chroot.add_test_repository() for pkg in ["silly-base_0.1-0_all.deb", "silly-depend-base_0.1-0_all.deb"]: self.chroot.install_debfile(os.path.join(REPO_PATH, pkg)) ext_states = apt_pkg.config.find_file("Dir::State::extended_states") with open(ext_states, "w") as ext_states_file: ext_states_file.write("""Package: silly-base Architecture: all Auto-Installed: 1""") trans = Transaction(None, enums.ROLE_COMMIT_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[[], [], [], [], ["silly-base=0.1-0update1"], []]) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() self.assertEqual(self.worker._cache["silly-base"].installed.version, "0.1-0update1", "Failed to upgrade.") self.assertTrue(self.worker._cache["silly-base"].is_auto_installed) def test_downgrade(self): """Test downgrading of packages.""" self.chroot.add_test_repository() pkg = os.path.join(REPO_PATH, "silly-base_0.1-0update1_all.deb") self.chroot.install_debfile(pkg) trans = Transaction(None, enums.ROLE_COMMIT_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[[], [], [], [], [], ["silly-base=0.1-0"]]) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() self.assertEqual(self.worker._cache["silly-base"].installed.version, "0.1-0", "Failed to downgrade.") def test_purge(self): """Test the purging of packages.""" for pkg in ["silly-base_0.1-0_all.deb", "silly-config_0.1-0_all.deb"]: self.chroot.install_debfile(os.path.join(REPO_PATH, pkg)) trans = Transaction(None, enums.ROLE_REMOVE_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[[], [], [], ["silly-config"], [], []]) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.assertFalse( os.path.exists(os.path.join(self.chroot.path, "etc/silly-packages.cfg")), "Configuration file wasn't removed.") def test_install_file(self): """Test the installation of a local package file.""" # add custom lintian file lintian_root = os.path.join(self.chroot.path, "lintian") os.environ["LINTIAN_ROOT"] = lintian_root self.addCleanup(os.unsetenv, "LINTIAN_ROOT") #import pdb; pdb.set_trace() shutil.copytree("/usr/share/lintian", lintian_root) for profile in glob.glob(os.path.join(aptdaemon.test.get_tests_dir(), "../data/lintian/*/*.profile")): dst = [lintian_root, "profiles"] dst.extend(profile.split("/")[-2:]) shutil.copy(profile, os.path.join(*dst)) # test self.chroot.add_test_repository() pkg = os.path.join(REPO_PATH, "silly-depend-base-lintian-broken_0.1-0_all.deb") trans = Transaction(None, enums.ROLE_INSTALL_FILE, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, kwargs={"path": os.path.join(REPO_PATH, pkg), "force": False}) self.worker.simulate(trans) self.loop.run() self.assertTrue("wrong-file-owner-uid-or-gid" in trans.error.details, trans.error.details) self.assertEqual(trans.error.code, enums.ERROR_INVALID_PACKAGE_FILE, "Lintian failed to detect a broken package") # Now allow to install invalid packages trans.kwargs["force"] = True self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.depends[enums.PKGS_INSTALL], ["silly-base=0.1-0update1"]) self.assertTrue(trans.space > 0) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() pkg = self.worker._cache["silly-depend-base-lintian-broken"] self.assertTrue(pkg.is_installed) def test_install_conflicting_file(self): """Test installing of a local package file that conflicts with installed packages. Regression test for LP: #750958 """ pkg_base = "silly-base_0.1-0_all.deb" self.chroot.install_debfile(os.path.join(REPO_PATH, pkg_base)) pkg = os.path.join(REPO_PATH, "silly-bully_0.1-0_all.deb") trans = Transaction(None, enums.ROLE_INSTALL_FILE, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, kwargs={"path": os.path.join(REPO_PATH, pkg), "force": True}) self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_FAILED, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.assertEqual(trans.error.code, enums.ERROR_DEP_RESOLUTION_FAILED) self.worker._cache.open() def test_install_unknown_file(self): """Test the installation of a local package file which is not known to the cache. Regression test for LP #702217 """ pkg = os.path.join(REPO_PATH, "silly-base_0.1-0_all.deb") trans = Transaction(None, enums.ROLE_INSTALL_FILE, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, kwargs={"path": os.path.join(REPO_PATH, pkg), "force": True}) self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.packages, (["silly-base"], [], [], [], [], [])) self.assertTrue(trans.space > 0) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() self.assertTrue(self.worker._cache["silly-base"].is_installed) def test_fix_broken_depends(self): """Test the fixing of broken dependencies.""" for pkg in ["silly-base_0.1-0_all.deb", "silly-broken_0.1-0_all.deb"]: self.chroot.install_debfile(os.path.join(REPO_PATH, pkg), True) trans = Transaction(None, enums.ROLE_FIX_BROKEN_DEPENDS, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False) self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.depends[enums.PKGS_REMOVE], ["silly-broken=0.1-0"]) self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) self.worker._cache.open() self.assertEqual(self.worker._cache.broken_count, 0) def test_install_broken_depends(self): """Test the that installing a package with broken dependencies fails in a correct way. """ self.chroot.add_test_repository() trans = Transaction(None, enums.ROLE_COMMIT_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", packages=[["silly-broken"], [], [], [], [], []], connect=False) self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.error.code, enums.ERROR_DEP_RESOLUTION_FAILED) def test_add_license_key_unsecure(self): """Test if we refuse to install license key files to an unsecure location or binaries.""" self.chroot.add_test_repository(copy_sig=False) # Should fail because of an untrusted source license_key = "NASTY_BLOB" license_key_path = "/opt/silly-license/NASTY.KEY" pkg_name = "silly-license" self.assertRaises(errors.TransactionFailed, self.worker._add_license_key_to_system, pkg_name, license_key, license_key_path) # Check if we don't allow to install executables with open("/bin/ls", "rb") as sample_exec: license_key = sample_exec.read() if PY3K: license_key = license_key.decode("UTF-8", "ignore") pkg_name = "silly-license" self.assertRaises(errors.TransactionFailed, self.worker._add_license_key_to_system, pkg_name, license_key, license_key_path) def test_add_license_key(self): """Test the installation of license key files.""" license_key = "Bli bla blub, I am a nasty BLOB!" license_path = "/opt/silly-license/NASTY.KEY" def get_license_key_mock(uid, pkg, oauth, server): return license_key, license_path self.chroot.add_test_repository() trans = Transaction(None, enums.ROLE_ADD_LICENSE_KEY, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", kwargs={"pkg_name": "silly-license", "json_token": "lalelu", "server_name": "mock"}, connect=False) os.makedirs(os.path.join(aptdaemon.worker.apt_pkg.config["Dir"], "opt/silly-license/")) self.worker.plugins["get_license_key"] = [get_license_key_mock] self.worker.run(trans) self.loop.run() self.assertEqual(trans.exit, enums.EXIT_SUCCESS, "%s: %s" % (trans._error_property[0], trans._error_property[1])) # Check the content of the installed key verify_path = os.path.join(aptdaemon.worker.apt_pkg.config["Dir"], license_path[1:]) with open(verify_path) as verify_file: self.assertEqual(license_key, verify_file.read(), "Content of license key doesn't match") def test_use_apt_auth_conf(self): """Test if credentials of repositories are store securely in a separate file. """ source_file_name = "private_source.list" self.worker.add_repository(Mock(), "deb", "https://user:pass@host.example.com/path", "natty", ["main"], "comment", source_file_name) # check if password was stripped (source file) source_parts = apt_pkg.config.find_dir("Dir::Etc::sourceparts") source_file_path = os.path.join(source_parts, source_file_name) with open(source_file_path) as source_file: source_file_content = source_file.read() self.assertFalse("user:pass" in source_file_content) # check if password was stored correctly (auth.conf) auth_file_path = apt_pkg.config.find_file("Dir::Etc::netrc") with open(auth_file_path) as auth_file: auth_file_content = auth_file.read() for token in ["login user", "password pass", "machine host.example.com/path"]: self.assertTrue(token in auth_file_content) buf = os.stat(auth_file_path) self.assertEqual(stat.S_IMODE(buf.st_mode), 0o640) # now add the repo again with updated auth credentials and ensure # that the info is not duplicated self.worker.add_repository(Mock(), "deb", "https://xuser:xpass@host.example.com/path", "natty", ["main"], "comment", source_file_name) # check if password was stored correctly (auth.conf) auth_file_path = apt_pkg.config.find_file("Dir::Etc::netrc") netrc_file = netrc.netrc(auth_file_path) self.assertEqual(len(netrc_file.hosts), 1) with open(auth_file_path) as auth_file: auth_file_content = auth_file.read() self.assertFalse("login user" in auth_file_content) for token in ["login xuser", "password xpass", "machine host.example.com/path"]: self.assertTrue(token in auth_file_content) netrc_file = netrc.netrc(auth_file_path) self.assertEqual(len(netrc_file.hosts), 1) # add another one self.worker.add_repository( Mock(), "deb", "https://user2:pass2@host.example.com/path2", "natty", ["main"], "comment", source_file_name) netrc_file = netrc.netrc(auth_file_path) self.assertEqual(len(netrc_file.hosts), 2) # change mode and add another repo os.chmod(auth_file_path, 0o740) self.worker.add_repository(Mock(), "deb", "https://user:pass@host.example.com/path3", "natty", ["main"], "comment", source_file_name) # and ensure auth.conf mode is kept and *not* reset buf = os.stat(auth_file_path) self.assertEqual(stat.S_IMODE(buf.st_mode), 0o740) self.assertEqual(len(netrc.netrc(auth_file_path).hosts), 3) def test_modify_apt_auth_fallback(self): netrc_tempfile = tempfile.NamedTemporaryFile() # note that the order of password/login is different than the # standard order netrc_tempfile.write(""" machine private-ppa.launchpad.net/project-foo password baz login foo """.encode("utf8")) netrc_tempfile.flush() # now pretend we have a different user/pass uri = "http://foo2:baz2@private-ppa.launchpad.net/project-foo" self.worker._store_and_strip_password_from_uri( uri, netrc_tempfile.name) # ensure that it used the fallback prepend with open(netrc_tempfile.name) as f: self.assertEqual(f.read(), """ machine private-ppa.launchpad.net/project-foo login foo2 password baz2 machine private-ppa.launchpad.net/project-foo password baz login foo """) # and another one with a new entry that just goes to the end # and special chars, note that the python netrc parser will fail # for non-ascii (yes, it does) uri = "http://m%20oo:bär@private-ppa.launchpad.net/project-moobar" self.worker._store_and_strip_password_from_uri( uri, netrc_tempfile.name) with open(netrc_tempfile.name, 'rb') as f: self.assertEqual(f.read().decode("utf-8"), """ machine private-ppa.launchpad.net/project-foo login foo2 password baz2 machine private-ppa.launchpad.net/project-foo password baz login foo machine private-ppa.launchpad.net/project-moobar login m%20oo password bär """) @unittest.skipIf(not PY3K, "Only test the backend for Python3") def setUp(): pass if __name__ == "__main__": #import logging #logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/fakeroot-apt-key0000755000175000017500000000004712117271433020514 0ustar renaterenate00000000000000#!/bin/sh fakeroot /usr/bin/apt-key $* aptdaemon-1.1.1/tests/data/0000755000175000017500000000000012202062656016314 5ustar renaterenate00000000000000aptdaemon-1.1.1/tests/data/high-trust-repository-whitelist.cfg0000644000175000017500000000022112117271433025315 0ustar renaterenate00000000000000 [repo name1] origin = Ubuntu component = main pkgnames = foo.* [repo whitelist2] origin = Debian-Security component = non-free pkgnames = ^bar$aptdaemon-1.1.1/tests/data/high-trust-repository-whitelist-broken.cfg0000644000175000017500000000033112117271433026575 0ustar renaterenate00000000000000 This line makes this no longer a valid file and that is used in the tests [repo name1] origin = Ubuntu component = main pkgnames = foo.* [repo name2] origin = Debian-Security component = non-free pkgnames = ^bar$ aptdaemon-1.1.1/tests/test_pk.py0000644000175000017500000005734212201760213017432 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests the PackageKit compatibility layer. Since the PackageKit client doesn't support changing system D-Bus sockets, run the tests only by using nose (e.g. nosetests3 tests.test_pk.PackageKitTest) or by running the main routine (python3 test_pk.py). """ import atexit import logging import os import os.path import shutil import subprocess import tempfile import time import sys import unittest import apt_pkg import apt.auth from gi.repository import GLib from gi.repository import PackageKitGlib as pk import aptdaemon.test REPO_PATH = os.path.join(aptdaemon.test.get_tests_dir(), "repo") DEBUG = True class PackageKitTest(aptdaemon.test.AptDaemonTestCase): """Test the PackageKit compatibility layer.""" def setUp(self): """Setup a chroot, run the aptdaemon and a fake PolicyKit daemon.""" # Setup chroot self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) self.chroot.add_test_repository() # set up scratch dir self.workdir = tempfile.mkdtemp() # allow tests to add plugins, etc. self.orig_pythonpath = os.environ.get("PYTHONPATH") os.environ["PYTHONPATH"] = "%s:%s" % (self.workdir, os.environ.get("PYTHONPATH", "")) # write apt config for calling apt-key apt_conf = os.path.join(self.chroot.path, 'aptconfig') with open(apt_conf, 'w') as f: f.write('Dir "%s";\n' % self.chroot.path) os.environ['APT_CONFIG'] = apt_conf # if tests install keys, have aptd query a local fake server os.environ['APTDAEMON_KEYSERVER'] = 'hkp://localhost:19191' self.start_session_aptd(self.chroot.path) # Start the fake PolikcyKit daemon self.start_fake_polkitd() time.sleep(2.0) def tearDown(self): shutil.rmtree(self.workdir) if self.orig_pythonpath: os.environ["PYTHONPATH"] = self.orig_pythonpath def test_install(self): """Test installing a package.""" pkg_name = "silly-depend-base" client = pk.Client() # Resolve the id of the package res = client.resolve(pk.FilterEnum.NONE, [pkg_name], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) ids = [] for pkg in res.get_package_array(): self.assertEqual(pkg.get_name(), pkg_name) ids.append(pkg.get_id()) break else: self.fail("Failed to resolve %s" % pkg_name) # Simulate res = client.install_packages(2 ** pk.TransactionFlagEnum.SIMULATE, ids, None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) for pkg in res.get_package_array(): self.assertEqual(pkg.get_name(), "silly-base") self.assertEqual(pkg.get_info(), pk.info_enum_from_string("installing")) break else: self.fail("Failed to get dependencies of %s" % pkg_name) # Install res = client.install_packages(pk.TransactionFlagEnum.NONE, ids, None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) # verify list of files res = client.get_files(ids, None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) files = res.get_files_array()[0].get_property('files') # ships two files, plus directories self.assertGreaterEqual(len(files), 2, 'expect two files in ' + str(files)) self.assertTrue('/usr/share/doc/silly-depend-base/copyright' in files, files) def test_install_files(self): """Test installing local package files.""" path_pkg_lintian_fail = os.path.join( REPO_PATH, "silly-depend-base-lintian-broken_0.1-0_all.deb") path_pkg = os.path.join( REPO_PATH, "silly-depend-base_0.1-0_all.deb") client = pk.Client() # Fail if more than package should be installed try: client.install_files(pk.TransactionFlagEnum.NONE, [path_pkg_lintian_fail, path_pkg], None, lambda p, t, d: True, None) except GLib.GError as error: self.assertTrue("Only one package" in error.message) else: self.fail("Installing multiple package files didn't fail") # Check simulating res = client.install_files(2 ** pk.TransactionFlagEnum.SIMULATE, [path_pkg], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) pkgs = res.get_package_array() if len(pkgs) != 1: self.fail("Failed to get dependencies") self.assertEqual(pkgs[0].get_name(), "silly-base") self.assertEqual(pkgs[0].get_version(), "0.1-0update1") # Check the actual installtion res = client.install_files(pk.TransactionFlagEnum.NONE, [path_pkg], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) # verify list of files res = client.get_files(["silly-depend-base;0.1-0;all;"], None, lambda p, t, d: True, None) files = res.get_files_array()[0].get_property('files') # ships two files, plus directories self.assertGreaterEqual(len(files), 2, 'expect two files in ' + str(files)) self.assertTrue('/usr/share/doc/silly-depend-base/copyright' in files, files) def test_download(self): """Test downloading packages.""" pkg_filename = "silly-base_0.1-0update1_all.deb" pkg_id = "silly-base;0.1-0update1;all;" temp_dir = tempfile.mkdtemp(prefix="aptd-download-test-") client = pk.Client() res = client.download_packages([pkg_id], temp_dir, None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) if not os.path.exists(os.path.join(temp_dir, pkg_filename)): self.fail("Failed to download the package") shutil.rmtree(temp_dir) def test_filters(self): """Test filters.""" pkg = "silly-base_0.1-0_all.deb" self.chroot.install_debfile(os.path.join(REPO_PATH, pkg), True) client = pk.Client() # All version res = client.resolve(pk.FilterEnum.NONE, ["silly-base"], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) pkgs = res.get_package_array() if len(pkgs) != 2: self.fail("Failed to get versions") versions = ["0.1-0", "0.1-0update1"] for pkg in pkgs: self.assertEqual(pkg.get_name(), "silly-base") versions.remove(pkg.get_version()) # Newest version res = client.resolve(2 ** pk.FilterEnum.NEWEST, ["silly-base"], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) pkgs = res.get_package_array() if len(pkgs) != 1: self.fail("Failed to get version") self.assertEqual(pkgs[0].get_name(), "silly-base") self.assertEqual(pkgs[0].get_version(), "0.1-0update1") # Installed version res = client.resolve(2 ** pk.FilterEnum.INSTALLED, ["silly-base"], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) pkgs = res.get_package_array() if len(pkgs) != 1: self.fail("Failed to get version") self.assertEqual(pkgs[0].get_name(), "silly-base") self.assertEqual(pkgs[0].get_version(), "0.1-0") # Available version res = client.resolve(2 ** pk.FilterEnum.NOT_INSTALLED, ["silly-base"], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) pkgs = res.get_package_array() if len(pkgs) != 1: self.fail("Failed to get version") self.assertEqual(pkgs[0].get_name(), "silly-base") self.assertEqual(pkgs[0].get_version(), "0.1-0update1") def test_get_updates(self): """Test getting updates.""" pkg = "silly-base_0.1-0_all.deb" self.chroot.install_debfile(os.path.join(REPO_PATH, pkg), True) client = pk.Client() res = client.get_updates(pk.FilterEnum.NONE, None, lambda p, t, d: True, None) for pkg in res.get_package_array(): self.assertEqual(pkg.get_name(), "silly-base") self.assertEqual(pkg.get_version(), "0.1-0update1") self.assertEqual(pkg.get_info(), pk.info_enum_from_string("normal")) break else: self.fail("Failed to detect upgrade") self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) def test_get_updates_security(self): """Test if security updates are detected correctly.""" self.chroot.add_repository(os.path.join(aptdaemon.test.get_tests_dir(), "repo/security")) pkg = "silly-base_0.1-0_all.deb" self.chroot.install_debfile(os.path.join(REPO_PATH, pkg), True) client = pk.Client() res = client.get_updates(pk.FilterEnum.NONE, None, lambda p, t, d: True, None) for pkg in res.get_package_array(): self.assertEqual(pkg.get_name(), "silly-base") self.assertEqual(pkg.get_version(), "0.1-0update1") self.assertEqual(pkg.get_info(), pk.info_enum_from_string("security")) break else: self.fail("Failed to detect upgrade") self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) def test_get_updates_backports(self): """Test if backports are detected correctly.""" self.chroot.add_repository(os.path.join(aptdaemon.test.get_tests_dir(), "repo/backports")) pkg = "silly-base_0.1-0_all.deb" self.chroot.install_debfile(os.path.join(REPO_PATH, pkg), True) client = pk.Client() res = client.get_updates(pk.FilterEnum.NONE, None, lambda p, t, d: True, None) for pkg in res.get_package_array(): self.assertEqual(pkg.get_name(), "silly-base") self.assertEqual(pkg.get_version(), "0.1-0update1") self.assertEqual(pkg.get_info(), pk.info_enum_from_string("enhancement")) break else: self.fail("Failed to detect upgrade") self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) def test_require_restart(self): """Test if the restart-required signal gets emitted.""" os.makedirs(os.path.join(self.chroot.path, "var/run")) with open(os.path.join(self.chroot.path, "var/run/reboot-required"), "w") as reboot_stamp: reboot_stamp.write("") client = pk.Client() res = client.get_updates(pk.FilterEnum.NONE, None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) self.assertEqual(res.get_require_restart_worst(), pk.RestartEnum.SYSTEM) def test_dependencies(self): """Test getting dependencies and dependants.""" pkg_id_depend = "silly-depend-base;0.1-0;all;" pkg_id = "silly-base;0.1-0update1;all;" client = pk.Client() # Get depends res = client.get_depends(pk.FilterEnum.NONE, [pkg_id_depend], True, None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) for pkg in res.get_package_array(): self.assertEqual(pkg.get_id(), pkg_id) break else: self.fail("Failed to get dependencies of %s" % pkg_id_depend) # Get requires res = client.get_requires(pk.FilterEnum.NONE, [pkg_id], True, None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) for pkg in res.get_package_array(): self.assertEqual(pkg.get_id(), pkg_id_depend) break else: self.fail("Failed to get dependants of %s" % pkg_id) def test_what_provides_unsupported(self): """Test querying for provides for unsupported type.""" client = pk.Client() try: client.what_provides(pk.FilterEnum.NONE, pk.ProvidesEnum.CODEC, ["gstreamer0.10(decoder-audio/ac3)"], None, lambda p, t, d: True, None) self.fail("expected GLib.Error failure") except GLib.GError as e: self.assertTrue("codec" in str(e), e) self.assertTrue("not supported" in str(e), e) def test_what_provides_plugin(self): """Test querying for provides with plugins.""" # add plugin for extra codecs f = open(os.path.join(self.workdir, "extra_codecs.py"), "w") f.write("""import aptdaemon.pkenums as enums def fake_what_provides(cache, type, search): if type in (enums.PROVIDES_CODEC, enums.PROVIDES_ANY): if search.startswith('gstreamer'): return [cache["gstreamer0.10-silly"]] raise NotImplementedError('cannot handle type ' + str(type)) """) f.close() os.mkdir(os.path.join(self.workdir, "extra_codecs-0.egg-info")) f = open(os.path.join(self.workdir, "extra_codecs-0.egg-info", 'entry_points.txt'), "w") f.write("[packagekit.apt.plugins]\n" "what_provides=extra_codecs:fake_what_provides\n") f.close() # invalid plugin, should not stop the valid ones os.mkdir(os.path.join(self.workdir, "nonexisting-1.egg-info")) f = open(os.path.join(self.workdir, "nonexisting-1.egg-info", 'entry_points.txt'), "w") f.write("[packagekit.apt.plugins]\n" "what_provides=nonexisting:what_provides\n") f.close() # another plugin to test chaining and a new type f = open(os.path.join(self.workdir, "more_stuff.py"), "w") f.write("""import aptdaemon.pkenums as enums def my_what_provides(cache, type, search): if type in (enums.PROVIDES_CODEC, enums.PROVIDES_ANY): if search.startswith('gstreamer'): return [cache["silly-base"]] if type in (enums.PROVIDES_LANGUAGE_SUPPORT, enums.PROVIDES_ANY): if search.startswith('locale('): return [cache["silly-important"]] raise NotImplementedError('cannot handle type ' + str(type)) """) f.close() os.mkdir(os.path.join(self.workdir, "more_stuff-0.egg-info")) f = open(os.path.join(self.workdir, "more_stuff-0.egg-info", 'entry_points.txt'), "w") f.write("[packagekit.apt.plugins]\n" "what_provides=more_stuff:my_what_provides\n") f.close() client = pk.Client() # search for CODEC res = client.what_provides(pk.FilterEnum.NONE, pk.ProvidesEnum.CODEC, ["gstreamer0.10(decoder-audio/vorbis)"], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) pkgs = [p.get_id().split(";")[0] for p in res.get_package_array()] self.assertEqual(pkgs, ["gstreamer0.10-silly", "silly-base"]) # search for LANGUAGE_SUPPORT res = client.what_provides(pk.FilterEnum.NONE, pk.ProvidesEnum.LANGUAGE_SUPPORT, ["locale(de_DE)"], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) pkgs = [p.get_id().split(";")[0] for p in res.get_package_array()] self.assertEqual(pkgs, ["silly-important"]) # search ANY res = client.what_provides(pk.FilterEnum.NONE, pk.ProvidesEnum.ANY, ["gstreamer0.10(decoder-audio/vorbis)"], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) pkgs = [p.get_id().split(";")[0] for p in res.get_package_array()] self.assertEqual(pkgs, ["gstreamer0.10-silly", "silly-base"]) res = client.what_provides(pk.FilterEnum.NONE, pk.ProvidesEnum.ANY, ["locale(de_DE)"], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) pkgs = [p.get_id().split(";")[0] for p in res.get_package_array()] self.assertEqual(pkgs, ["silly-important"]) res = client.what_provides(pk.FilterEnum.NONE, pk.ProvidesEnum.ANY, ["modalias(pci:1)"], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) self.assertEqual(res.get_package_array(), []) # unsupported type with plugins try: client.what_provides(pk.FilterEnum.NONE, pk.ProvidesEnum.PLASMA_SERVICE, ["plasma4(dataengine-weather)"], None, lambda p, t, d: True, None) self.fail("expected GLib.Error failure") except GLib.GError as e: self.assertTrue("plasma" in str(e), e) self.assertTrue("not supported" in str(e), e) def test_repo_enable(self): """Test adding a repository.""" client = pk.Client() # create test update repo repo = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, repo) with open(os.path.join(repo, 'Packages'), 'w') as f: f.write('''Package: silly-new Priority: extra Section: admin Installed-Size: 44 Maintainer: Sebastian Heinlein Architecture: all Source: silly-new (0.1-0) Version: 1.2.3 Filename: %s/silly-base_0.1-0update1_all.deb Size: 1934 MD5sum: 8e20af56a63a1e0cf40db3b0d07e7989 SHA1: 7ce87423d9c7a734478c464021994944d07fbf1b SHA256: d3693c0e3e7a9519b2833fdf1301c7e03e0620edf15b95b4c7329d9eb0bee553 Description: new package from a third-party repo ''' % self.chroot.path) # without the new repo, we do not have it yet self.assertRaises(GLib.GError, client.resolve, pk.FilterEnum.NONE, ['silly-new'], None, lambda p, t, d: True, None) # now add the new repo apt_source = 'deb file://%s /' % repo res = client.repo_enable(apt_source, True, None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) with open(os.path.join(self.chroot.path, 'etc', 'apt', 'sources.list')) as f: for line in f: if line.strip() == apt_source: break else: self.fail('did not find newly added repository in ' 'sources.list') # should not actually download the indexes yet self.assertRaises(GLib.GError, client.resolve, pk.FilterEnum.NONE, ['silly-new'], None, lambda p, t, d: True, None) res = client.refresh_cache(False, None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) # we should now see the new package res = client.resolve(pk.FilterEnum.NONE, ['silly-new'], None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) packages = res.get_package_array() self.assertEqual(len(packages), 1) self.assertEqual(packages[0].get_name(), "silly-new") self.assertEqual(packages[0].get_version(), "1.2.3") self.assertEqual(packages[0].get_info(), pk.info_enum_from_string("available")) def test_repo_enable_errors(self): """Test errors when adding a repository.""" client = pk.Client() client.set_locale("C") try: client.repo_enable('bogus', True, None, lambda p, t, d: True, None) except GLib.GError as e: self.assertTrue('format' in str(e)) self.assertTrue('bogus' in str(e)) try: client.repo_enable('deb http://example.com', True, None, lambda p, t, d: True, None) except GLib.GError as e: self.assertTrue('format' in str(e), e) self.assertTrue('http://example.com' in str(e), e) def test_install_signature(self): """Test installing a new GPG key""" # we do not have any key initially self.assertEqual(len(apt.auth.list_keys()), 0) # launch our keyserver self.start_keyserver() # now add one client = pk.Client() res = client.install_signature( pk.SigTypeEnum.GPG, 'D0BF65B7DBE28DB62BEDBF1B683C53C7CF982D18', '', None, lambda p, t, d: True, None) self.assertEqual(res.get_exit_code(), pk.ExitEnum.SUCCESS) # key was imported correctly key = apt.auth.list_keys()[0] self.assertEqual('CF982D18', key.keyid) def test_install_signature_error(self): """Test installing a new GPG key with failing server""" # do not start keyserver, so http://localhost.. will not exist client = pk.Client() client.set_locale("C") try: client.install_signature( pk.SigTypeEnum.GPG, '1111111111111111111111111111111111111111', '', None, lambda p, t, d: True, None) except GLib.GError as e: self.assertTrue('Failed to download' in str(e), e) self.assertTrue('11111111' in str(e), e) def test_unimplemented(self): """Test proper error message on unimplemented method.""" client = pk.Client() client.set_locale("C") try: client.upgrade_system("sid", pk.UpgradeKindEnum.COMPLETE, None, lambda p, t, d: True, None) except GLib.GError as e: self.assertTrue('implemented' in str(e)) @unittest.skipIf(sys.version_info.major < 3, "Python3 only") def setUp(): """The PackageKit client cannot handle a changed system D-Bus address. So we need to setup a static one for the whole test suite. This requires to run nosetests to launch this test suite. """ proc, address = aptdaemon.test.start_dbus_daemon() os.environ["DBUS_SYSTEM_BUS_ADDRESS"] = address # The pk.Client uses a DBus connection with exit-on-disconnect set to # True which cannot be modified. Furthermore the registered signal # handlers cannot be removed. Since GIO would kill the test suite if # the daemon disappears we have to delay killing the daemon atexit.register(os.kill, proc.pid, 9) def tearDown(): os.environ["DBUS_SYSTEM_BUS_ADDRESS"] = "" if __name__ == "__main__": if DEBUG: logging.basicConfig(level=logging.DEBUG) setUp() unittest.main() tearDown() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/regressions/0000755000175000017500000000000012202062656017746 5ustar renaterenate00000000000000aptdaemon-1.1.1/tests/regressions/test_lp722228.py0000644000175000017500000001336112117271433022465 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2010 Michael Vogt # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Licensed under the GNU General Public License Version 2 """Regression test for the security issue CVE-2011-0725 tracked in LP #722228. Thanks to Sergey Nizovtsev for spotting this issue. The UpdateCache method allows to specify an alternative sources.list snippet to only update the repositories specified in the corresponding configuration file. Aptdaemon did not restrict the path to the sources.list.d directory and allowed to inject packages from malicious sources specified in a custom sources.list and even to read every file on the system. """ __author__ = "Michael Vogt " import os import tempfile import time import unittest2 import apt_pkg import dbus import mock import aptdaemon.client import aptdaemon.test from aptdaemon.worker import AptWorker from aptdaemon.errors import AptDaemonError class TestFix(unittest2.TestCase): """Test the fix.""" def test_closed(self): worker = AptWorker() # We don't want to perform any cache changes worker._cache = mock.Mock() trans = mock.Mock() # ensure normal operation keeps working worker.update_cache(trans, None) self.assertTrue(worker._cache.update.called) worker._cache.reset_mock() worker.update_cache(trans, "foobar.list") self.assertTrue(worker._cache.update.called) worker._cache.reset_mock() worker.update_cache(trans, "/etc/apt/sources.list.d/foobar.list") self.assertTrue(worker._cache.update.called) worker._cache.reset_mock() worker.update_cache(trans, "/etc/apt/sources.list") self.assertTrue(worker._cache.update.called) # ensure absolute path is no longer working worker._cache.reset_mock() self.assertRaises(AptDaemonError, worker.update_cache, trans, "/etc/fstab") self.assertFalse(worker._cache.update.called) worker._cache.reset_mock() self.assertRaises(AptDaemonError, worker.update_cache, trans, "/tmp/etc/apt/sources.list.d") self.assertFalse(worker._cache.update.called) worker._cache.reset_mock() self.assertRaises(AptDaemonError, worker.update_cache, trans, "/etc/apt/sources.list.d/../../tmp/evil.list") self.assertFalse(worker._cache.update.called) worker._cache.reset_mock() self.assertRaises(AptDaemonError, worker.update_cache, trans, "../../../../../../../../../tmp/evil.list") self.assertFalse(worker._cache.update.called) class TestExploit(aptdaemon.test.AptDaemonTestCase): """Test if the a possible exploit still exists.""" def setUp(self): """Setup a chroot, run the aptdaemon and a fake PolicyKit daemon.""" # Setup chroot self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) # Start aptdaemon with the chroot on the session bus self.start_dbus_daemon() self.bus = dbus.bus.BusConnection(self.dbus_address) self.start_session_aptd(self.chroot.path) # Start the fake PolikcyKit daemon self.start_fake_polkitd() time.sleep(1) # Create a file which containts a virtual secret self.secrets_file = tempfile.NamedTemporaryFile(dir=self.chroot.path, delete=False) self.secrets_file.write("Oh oh!") self.secrets_file.close() @unittest2.expectedFailure def test(self): """A possible exploit of the security issue. Originally provided by Sergey Nizovtsev. """ repo_path = os.path.join(self.chroot.path, "repo") lst_path = os.path.join(self.chroot.path, "malicious.list") arch = apt_pkg.config["APT::Architecture"] # Setup a pseudo repository and link the file which should be extracted # to the Packages file dir = os.path.join(repo_path, "dists/a/a/binary-%s" % arch) os.makedirs(dir) os.symlink(self.secrets_file.name, "%s/Packages" % dir) # Create a malicious list file which injects the repo with open(lst_path, "w") as lst_file: lst_file.write("deb file://%s a a" % repo_path) client = aptdaemon.client.AptClient(self.bus) exit = client.update_cache(sources_list=lst_path, wait=True) self.assertEqual(exit, aptdaemon.enums.EXIT_SUCCESS) # Check if succeeded to leak the file content! repo_path_encoded = apt_pkg.uri_to_filename("file://%s" % repo_path) leaked_path = os.path.join(self.chroot.path, "var/lib/apt/lists/", "%s_dists_a_a_binary-%s_" "Packages" % (repo_path_encoded, arch)) with open(leaked_path, "r") as leaked_file: self.assertEqual(leaked_file.read(), "Oh oh!") if __name__ == "__main__": unittest2.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/regressions/test_lp768691.py0000644000175000017500000000452512117271433022505 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests if we can handle different encodings well.""" import locale import logging import os import sys import unittest from aptdaemon import core, enums, test, errors, utils DEBUG = True if sys.version >= '3': unicode = str class GettextTest(test.AptDaemonTestCase): """Regression test for LP: #768691 and LP: #926340 The gettext.translation.gettext() method returns a string in Python 2. If we try to perform a string format operation, Python wants to convert string to unicode. If the daemon is running with a different default encoding as the translated message this results in an error. By defaulf aptdaemon runs as C if activated by D-Bus. """ def setUp(self): # Use the mo files from the build local_mo_files = os.path.join(test.get_tests_dir(), "../build/mo") if not os.path.isdir(local_mo_files): self.skipTest("Please run setup.py build before since local mo " "files are required. Run python setup.py build_i18n") core.gettext._default_localedir = local_mo_files self.trans = core.Transaction(None, enums.ROLE_FIX_BROKEN_DEPENDS, None, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False) self.codes = utils.IsoCodes("iso_639", tag="iso_639_1_code", fallback_tag="iso_639_2T_code") def test(self): """Test if the installation of an unauthenticated packages fails if simulate hasn't been called explicitly before. """ self.trans._set_locale("de_DE.UTF-8") ret = self.trans.gettext("CD/DVD '%s' is required") self.assertTrue(isinstance(ret, unicode)) error = errors.TransactionFailed(enums.ERROR_NO_PACKAGE, "CD/DVD '%s' is required", "lala") self.trans.error = error utils.gettext._default_localedir = "/usr/share/locale" lang = self.codes.get_localised_name("en", "ru.UTF-8") self.assertTrue(isinstance(lang, unicode)) if __name__ == "__main__": if DEBUG: logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/dbus.conf0000644000175000017500000000124412117271433017210 0ustar renaterenate00000000000000 system unix:tmpdir=/tmp aptdaemon-1.1.1/tests/test_client.py0000644000175000017500000001404312117271433020274 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests the client module.""" import logging import time import unittest import dbus import defer from gi.repository import GObject import aptdaemon.client import aptdaemon.loop import aptdaemon.enums import aptdaemon.errors import aptdaemon.test DEBUG = True class ClientTestNotAuthorized(aptdaemon.test.AptDaemonTestCase): """Test the python client.""" def setUp(self): """Setup a chroot, run the aptdaemon and a fake PolicyKit daemon.""" # Setup chroot self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) self.chroot.add_test_repository() # Start aptdaemon with the chroot on the session bus self.start_dbus_daemon() self.bus = dbus.bus.BusConnection(self.dbus_address) self.start_session_aptd(self.chroot.path) # Start the fake PolikcyKit daemon and disallow all actions self.start_fake_polkitd("none") time.sleep(1) def _on_finished(self, trans, exit): """Callback to stop the mainloop after a transaction is done.""" aptdaemon.loop.mainloop.quit() def test_auth_failed(self): """Test the failing of an unauthorized transaction""" @defer.inline_callbacks def run(): self.client = aptdaemon.client.AptClient(self.bus) trans = yield self.client.update_cache() trans.connect("finished", self._on_finished) try: yield trans.run() except aptdaemon.errors.NotAuthorizedError as error: print(error) except Exception as error: self.fail("Wrong exception: %s" % error) else: self.fail("Authorization passed (sic!)") defer.return_value(trans) deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.error.code, aptdaemon.enums.ERROR_NOT_AUTHORIZED) class ClientTest(aptdaemon.test.AptDaemonTestCase): """Test the python client.""" def setUp(self): """Setup a chroot, run the aptdaemon and a fake PolicyKit daemon.""" # Setup chroot self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) self.chroot.add_test_repository() # Start aptdaemon with the chroot on the session bus self.start_dbus_daemon() self.bus = dbus.bus.BusConnection(self.dbus_address) self.start_session_aptd(self.chroot.path) # Start the fake PolikcyKit daemon self.start_fake_polkitd() time.sleep(1) def _on_finished(self, trans, exit): """Callback to stop the mainloop after a transaction is done.""" aptdaemon.loop.mainloop.quit() def test_sync(self): """Test synchronous calls to the client.""" self.client = aptdaemon.client.AptClient(self.bus) trans = self.client.update_cache() trans.connect("finished", self._on_finished) trans.run() aptdaemon.loop.mainloop.run() self.assertEqual(trans.exit, aptdaemon.enums.EXIT_SUCCESS) def test_deferred(self): """Test deferred calls to the client.""" @defer.inline_callbacks def run(): self.client = aptdaemon.client.AptClient(self.bus) trans = yield self.client.update_cache() trans.connect("finished", self._on_finished) yield trans.run() defer.return_value(trans) deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.exit, aptdaemon.enums.EXIT_SUCCESS) def test_client_methods_sync(self): """ Test most client methods (syncronous) """ test_methods = [ ("enable_distro_component", ("universe",)), ("add_repository", ("deb", "http://archive.ubuntu.com/ubuntu", "lucid", "restricted"))] client = aptdaemon.client.AptClient(self.bus) for (method, args) in test_methods: f = getattr(client, method) exit = f(*args, wait=True) self.assertEqual(exit, aptdaemon.enums.EXIT_SUCCESS) def test_simulation_error(self): """Test if a simulation fails in a correct way.""" @defer.inline_callbacks def run(): self.client = aptdaemon.client.AptClient(self.bus) trans = yield self.client.install_packages(["silly-broken"]) trans.connect("finished", self._on_finished) yield trans.simulate() self.fail("We should never have been here") yield trans.run() defer.return_value(trans) deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.value.code, aptdaemon.enums.ERROR_DEP_RESOLUTION_FAILED) def test_run_error(self): """Test if a simulation during run fails in a correct way.""" @defer.inline_callbacks def run(): self.client = aptdaemon.client.AptClient(self.bus) trans = yield self.client.install_packages(["silly-broken"]) trans.connect("finished", self._on_finished) yield trans.run() self.fail("We should never have been here") defer.return_value(trans) deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.value.code, aptdaemon.enums.ERROR_DEP_RESOLUTION_FAILED) def test_tid_caching(self): """Test if calling Client with identical TIDs uses caching.""" tid = "/meep" trans = aptdaemon.client.AptTransaction(tid, bus=self.bus) trans2 = aptdaemon.client.AptTransaction(tid, bus=self.bus) trans3 = aptdaemon.client.AptTransaction("/meep2", bus=self.bus) self.assertEqual(trans, trans2) self.assertNotEqual(trans, trans3) if __name__ == "__main__": if DEBUG: logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/debconf/0000755000175000017500000000000012202062656017003 5ustar renaterenate00000000000000aptdaemon-1.1.1/tests/debconf/aptdaemon.templates0000644000175000017500000000013612117271433022673 0ustar renaterenate00000000000000Template: aptdaemon/test Type: string Default: bli bla blub Description: This is a test Huhu aptdaemon-1.1.1/tests/debconf/aptdaemon.config0000755000175000017500000000015712117271433022150 0ustar renaterenate00000000000000#!/bin/sh set -e . /usr/share/debconf/confmodule db_input high aptdaemon/test || true db_go || true exit 0 aptdaemon-1.1.1/tests/test_trans_chain.py0000644000175000017500000000340712117271433021311 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests the debconf forwarding""" import unittest from gi.repository import GLib from aptdaemon import enums, client DEBUG = False class TransChainTest(unittest.TestCase): """These tests require an aptdaemon running with the dummy worker: # sudo aptd -td --dummy """ def setUp(self): self.loop = GLib.MainLoop() self.client = client.AptClient() def _test_working(self): def on_finished(trans, exit): self.loop.quit() trans1 = self.client.upgrade_packages(["huhu"]) trans2 = self.client.upgrade_packages(["lala"]) trans3 = self.client.upgrade_packages(["huhu"]) trans2.run_after(trans1) trans3.run_after(trans2) trans1.run() trans3.connect("finished", on_finished) self.loop.run() self.assertTrue(trans1.exit == enums.EXIT_SUCCESS) self.assertTrue(trans2.exit == enums.EXIT_SUCCESS) self.assertTrue(trans3.exit == enums.EXIT_SUCCESS) def _test_fail_after(self): def on_finished(trans, exit): self.loop.quit() trans1 = self.client.update_cache() trans2 = self.client.upgrade_packages(["huhululu"]) trans3 = self.client.upgrade_packages(["huhululu"]) trans2.run_after(trans1) trans3.run_after(trans2) trans1.run() trans3.connect("finished", on_finished) self.loop.run() self.assertTrue(trans1.exit == enums.EXIT_FAILED) self.assertTrue(trans2.exit == enums.EXIT_PREVIOUS_FAILED) self.assertTrue(trans3.exit == enums.EXIT_PREVIOUS_FAILED) if __name__ == "__main__": import logging if DEBUG: logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/_test_py2_string_handling.py0000644000175000017500000000772312117271433023130 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2011 Michael Vogt # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Licensed under the GNU General Public License Version 2 """Regression test for a unicode decoding error in the status_details, progress_download or error_properties attributes of the transaction, see LP #724735. """ __author__ = "Michael Vogt " import os import sys import unittest import dbus from dbus.lowlevel import ErrorMessage, Message from aptdaemon.core import Transaction from aptdaemon.errors import TransactionFailed from aptdaemon.test import AptDaemonTestCase, Chroot class TestUnicodeDecoding(AptDaemonTestCase): """Test the workaround.""" def setUp(self): self.chroot = Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) self.start_dbus_daemon() self.dbus = dbus.bus.BusConnection(self.dbus_address) self.trans = Transaction(None, "role-test", None, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", bus=self.dbus) def test(self): # ensure we don't crash regardless if str or unicode is passed here self.trans.status_details = "äää" self.trans.status_details = u"äää" self.trans.progress_download = ("äö", "Ăź", "üöä", 1L, 2L, "ö") self.trans.progress_download = (u"äö", u"Ăź", u"üöä", 1L, 2L, u"ö") self.trans.error = TransactionFailed("ERROR_TEST", "Mixed ä %s", u"öä") self.trans.error = TransactionFailed("ERROR_TEST", u"Mixed ĂĽ %s", "öä") self.trans.error = TransactionFailed("ERROR_TEST", "Str ä %s", "öä") self.trans.error = TransactionFailed("ERROR_TEST", u"Uni ä %s", u"öä") def test_dbus_exception(self): """This tests simulates the steps taken by the DBus bindings to send an error reply, see LP# 761386""" # The original error message that we get from python-apt orig = "E:Die Paketliste oder die Statusdatei konnte nicht " \ "eingelesen oder ge\xc3\xb6ffnet werden." for msg in [u"E:Die Paketliste oder die Statusdatei konnte nicht " u"eingelesen oder geöffnet werden.", "E:Die Paketliste oder die Statusdatei konnte nicht " "eingelesen oder geöffnet werden.", orig]: # Create a simple DBus exception error = TransactionFailed("ERROR_TEST", msg) # Taken from dbus.service._method_reply_error() name = error.get_dbus_name() content = error.get_dbus_message() self.assertEqual(orig, content[12:]) # The constructor of the ErrorMessage fails since we only use # a fake Message self.assertRaises(MemoryError, ErrorMessage, Message(), name, content) def test_dbus_exception_lp846044(self): e = TransactionFailed("foo", "bar") e.details = u"ä" foo = unicode(e) self.assertEqual(foo, u"Transaction failed: None\nä") foo = str(e) self.assertEqual(foo, u"Transaction failed: None\nä".encode("utf-8")) if __name__ == "__main__": unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_dbus_type.py0000644000175000017500000002007112117271433021012 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Test index handling.""" from collections import namedtuple import os import re import sys import unittest import dbus from gi.repository import GLib from aptdaemon import worker from aptdaemon import core from aptdaemon import enums from aptdaemon import test REGEX_SIG = "([ibxsdt])|(a{[ibxsdt]+?})|(a[ixbsdt]+?)|(\([ibxsdt]+?\))" REGEX_IFACE = r"\n(org\.debian\.apt[a-z\.]*) --- " REGEX_ATTRIB = (r"\n\.\.\s+attribute::\s+(?P[a-zA-Z]+)\s+:\s+" "(?P[a-z\(\)\{\}]+)") # Setup the DBus main loop dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) DOC_PATH = os.path.join(test.get_tests_dir(), "../doc") class DBusTypeTest(test.AptDaemonTestCase): """Make sure that the specified types are returned over D-Bus.""" def setUp(self): # Extract the property type specification from the documentation self.ifaces = {} with open(os.path.join(DOC_PATH, "source/dbus.rst")) as rst_file: docu = rst_file.read() doc = "" iface = "" for match in re.split(REGEX_IFACE, docu, re.MULTILINE): if match.startswith("org.debian.apt"): iface = match self.ifaces[iface] = {} doc = "" else: doc = match if doc and iface: for match_attrib in re.finditer(REGEX_ATTRIB, doc): name = match_attrib.group("name") sig = match_attrib.group("sig") self.ifaces[iface][name] = sig self.start_dbus_daemon() self.dbus = dbus.bus.BusConnection(self.dbus_address) self.loop = GLib.MainLoop() self.error = None def _on_property_changed(self, name, value, iface): if name == "Progress" and value == 100: self.loop.quit() try: self._check_property_type(iface, name, value) except: self.loop.quit() raise def _check_property_type(self, iface, name, value, signature=None): if signature is None: signature = self.ifaces[iface][name] if isinstance(value, dbus.String): self.assertEqual(signature, "s", "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) elif isinstance(value, dbus.String): self.assertEqual(signature, "s", "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) elif isinstance(value, dbus.Int32): self.assertEqual(signature, "i", "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) elif isinstance(value, dbus.Int64): self.assertEqual(signature, "x", "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) elif isinstance(value, dbus.UInt64): self.assertEqual(signature, "t", "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) elif isinstance(value, dbus.Double): self.assertEqual(signature, "d", "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) elif isinstance(value, dbus.Boolean): self.assertEqual(signature, "b", "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) elif isinstance(value, dbus.Dictionary): self.assertEqual(signature, "a{%s}" % value.signature, "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) elif isinstance(value, dbus.Struct): if value.signature: self.assertEqual(signature, "s(%s)" % value.signature, "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) else: # The dbus proxy doesn't set the signature property for val, sig in map(lambda x, y: (x, y), value, ["".join(matches) for matches in re.findall(REGEX_SIG, signature[1:-1])]): self._check_property_type(iface, name, val, sig) elif isinstance(value, dbus.Array): self.assertEqual(signature, "a%s" % value.signature, "Property %s on %s doesnt' comply with the " "spec: %s" % (name, iface, value)) else: raise Exception("Unkown type %s for property %s of %s" % (type(value), name, iface)) def _error_cb(self, error): """Errback of the GetAll call.""" self.loop.quit() raise error def _get_all_cb(self, iface, props): """Callback of the GetAll call.""" try: for name, value in props.items(): self._check_property_type(iface, name, value) except Exception as error: self.error = error raise finally: self.loop.quit() @unittest.skip("Requires to be convert to a C based test client") def test_transaction_properties(self): """Test object properties.""" trans = core.Transaction(None, enums.ROLE_REMOVE_PACKAGES, None, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", bus=self.dbus) proxy = self.dbus.get_object(core.APTDAEMON_DBUS_INTERFACE, trans.tid) iface = core.APTDAEMON_TRANSACTION_DBUS_INTERFACE proxy.GetAll(iface, reply_handler=lambda x: self._get_all_cb(iface, x), error_handler=self._error_cb, dbus_interface=dbus.PROPERTIES_IFACE) self.loop.run() self.assertEqual(self.error, None, self.error) @unittest.skip("Requires to be convert to a C based test client") def test_transaction_signals(self): """Test signal emittion.""" trans = core.Transaction(None, enums.ROLE_COMMIT_PACKAGES, None, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", bus=self.dbus, packages=[["silly-base"], [], [], [], [], []]) proxy = self.dbus.get_object("org.debian.apt", trans.tid) proxy.connect_to_signal("PropertyChanged", self._on_property_changed, dbus_interface="org.debian.apt.transaction", interface_keyword="iface") chroot = test.Chroot() self.addCleanup(chroot.remove) chroot.setup() chroot.add_test_repository() apt_worker = worker.AptWorker(load_plugins=False, chroot=chroot.path) apt_worker.run(trans) self.loop.run() self.assertEqual(self.error, None) @unittest.skip("Requires to be convert to a C based test client") def test_aptdaemon_properties(self): """Test aptdaemon properties.""" Options = namedtuple("Options", "dummy") opt = Options(True) self.daemon = core.AptDaemon(opt, bus=self.dbus) proxy = self.dbus.get_object(core.APTDAEMON_DBUS_SERVICE, core.APTDAEMON_DBUS_PATH) iface = core.APTDAEMON_DBUS_INTERFACE proxy.GetAll(iface, reply_handler=lambda x: self._get_all_cb(iface, x), error_handler=self._error_cb, dbus_interface=dbus.PROPERTIES_IFACE) self.loop.run() self.assertEqual(self.error, None) if __name__ == "__main__": unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/_test_py3_string_handling.py0000644000175000017500000000277712117271433023135 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2011 Michael Vogt # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Licensed under the GNU General Public License Version 2 """Regression test for a unicode decoding error in the status_details, progress_download or error_properties attributes of the transaction, see LP #724735. """ __author__ = "Michael Vogt " import unittest from aptdaemon.errors import TransactionFailed from aptdaemon.test import AptDaemonTestCase class TestUnicodeDecodingPy3(AptDaemonTestCase): def test_dbus_exception_lp846044(self): e = TransactionFailed("foo", "bar") e.details = "ä" self.assertEqual(str(e), "Transaction failed: None\nä") if __name__ == "__main__": unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_pep8.py0000644000175000017500000000267512117271433017702 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Make sure that the code conforms the PEP8 conventions.""" # Copyright (C) 2012 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Licensed under the GNU General Public License Version 2 __author__ = "Sebastian Heinlein " import subprocess import unittest class AptDaemonPep8TestCase(unittest.TestCase): def test(self): """Check if the source code matches the PEP8 style conventions.""" subprocess.check_call(["pep8", "--statistics", "--show-source", "--show-pep8", "--exclude", "pkenums.py", "aptdaemon", "tests"]) if __name__ == "__main__": unittest.main() aptdaemon-1.1.1/tests/test_high_trust_repository_whitelist.py0000644000175000017500000001756312117271433025603 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Provides unit tests for the APTDAEMON high-trust-repo feature.""" # Copyright (C) 2011 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Licensed under the GNU General Public License Version 2 __author__ = "Michael Vogt " import os import sys import time import unittest import dbus from gi.repository import GLib from mock import ( patch) import aptdaemon.client from aptdaemon.policykit1 import ( PK_ACTION_INSTALL_PACKAGES_FROM_HIGH_TRUST_REPO as PK_ACTION) import aptdaemon.test from aptdaemon.worker import ( _read_high_trust_repository_whitelist_file, read_high_trust_repository_dir, trans_only_installs_pkgs_from_high_trust_repos, AptWorker) from aptdaemon.core import Transaction from aptdaemon import enums REPO_PATH = os.path.join(aptdaemon.test.get_tests_dir(), "repo") PY3K = sys.version_info.major > 2 class BaseHighTrustTestCase(aptdaemon.test.AptDaemonTestCase): def setUp(self): self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) self.loop = GLib.MainLoop() class HighTrustRepositoryTestCase(BaseHighTrustTestCase): """ Test the worker low-level bits of the high-trust repo implementation""" def setUp(self): super(HighTrustRepositoryTestCase, self).setUp() self.queue = aptdaemon.test.MockQueue() self.worker = AptWorker(chroot=self.chroot.path, load_plugins=False) self.worker.connect("transaction-done", lambda w, t: self.loop.quit()) self.worker.connect("transaction-simulated", lambda w, t: self.loop.quit()) def test_read_high_trust_repository_whitelist_dir(self): whitelist = read_high_trust_repository_dir( os.path.join(aptdaemon.test.get_tests_dir(), "data/high-trust-repository-whitelist.d")) self.assertEqual( whitelist, set([("Ubuntu", "main", "foo.*"), ("Debian-Security", "non-free", "^bar$")])) def test_read_high_trust_repository_whitelist(self): whitelist = _read_high_trust_repository_whitelist_file( os.path.join(aptdaemon.test.get_tests_dir(), "data/high-trust-repository-whitelist.cfg")) self.assertEqual( whitelist, set([("Ubuntu", "main", "foo.*"), ("Debian-Security", "non-free", "^bar$")])) @patch("aptdaemon.worker.log") def test_read_high_trust_repository_whitelist_broken(self, mock_log): """ test that a broken repo file results in a empty whitelist """ whitelist = _read_high_trust_repository_whitelist_file( os.path.join(aptdaemon.test.get_tests_dir(), "data/high-trust-repository-whitelist-broken.cfg")) self.assertEqual(whitelist, set()) # ensure we log a error if the config file is broken mock_log.error.assert_called() @patch("aptdaemon.worker.log") def test_read_high_trust_repository_whitelist_not_there(self, mock_log): whitelist = _read_high_trust_repository_whitelist_file( "lalalala-not-there-really.cfg") self.assertEqual(whitelist, set()) # ensure we log no error if there is no config file self.assertFalse(mock_log.called) def test_high_trust_repository(self): """Test if using a high_trust repo is working """ self.chroot.add_repository(os.path.join(aptdaemon.test.get_tests_dir(), "repo/whitelisted")) # setup a whitelist self.worker._high_trust_repositories.add( ("Ubuntu", "", "silly.*")) # a high-trust whitelisted pkg and a non-whitelisted one trans = Transaction(None, enums.ROLE_INSTALL_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[["silly-base", "other-pkg"], [], [], [], [], []]) self.worker.simulate(trans) self.loop.run() self.assertEqual(trans.high_trust_packages, ["silly-base"]) self.assertFalse( trans_only_installs_pkgs_from_high_trust_repos( trans, self.worker._high_trust_repositories)) # whitelisted only trans = Transaction(None, enums.ROLE_INSTALL_PACKAGES, self.queue, os.getpid(), os.getuid(), sys.argv[0], "org.debian.apt.test", connect=False, packages=[["silly-base"], [], [], [], [], []]) self.worker.simulate(trans) self.loop.run() self.assertTrue( trans_only_installs_pkgs_from_high_trust_repos( trans, self.worker._high_trust_repositories)) class HighTrustRepositoryIntegrationTestCase(BaseHighTrustTestCase): """ Test the whitelist feature inside the chroot """ def setUp(self): super(HighTrustRepositoryIntegrationTestCase, self).setUp() # Start aptdaemon with the chroot on the session bus self.start_dbus_daemon() self.bus = dbus.bus.BusConnection(self.dbus_address) # setup the environment first including the high-trust whitelist self.chroot.add_repository(os.path.join(aptdaemon.test.get_tests_dir(), "repo/whitelisted")) whitelist_file = os.path.join( self.chroot.path, "etc", "aptdaemon", "high-trust-repository-whitelist.d", "test.cfg") os.makedirs(os.path.dirname(whitelist_file)) with open(whitelist_file, "w") as f: f.write(""" [test repo"] origin = Ubuntu component = pkgnames = silly.* """) # *after* that start the aptdaemon self.start_session_aptd(self.chroot.path) time.sleep(1) # start policykit and *only* allow from-whitelisted repo pk action self.start_fake_polkitd(PK_ACTION) time.sleep(1) def test_high_trust_polkit_ok(self): self.client = aptdaemon.client.AptClient(self.bus) # test that the high trust whitelist works trans = self.client.install_packages(["silly-base"]) trans.simulate() trans.connect("finished", lambda a, b: self.loop.quit()) trans.run() self.loop.run() self.assertEqual(trans.exit, aptdaemon.enums.EXIT_SUCCESS) # plus ensure removal will not work trans = self.client.remove_packages(["silly-base"]) with self.assertRaises(aptdaemon.errors.NotAuthorizedError): trans.run() def test_high_trust_polkit_not_ok(self): self.client = aptdaemon.client.AptClient(self.bus) # ensure that non-whitelisted packages can not be installed trans = self.client.install_packages(["other-pkg"]) trans.simulate() trans.connect("finished", lambda a, b: self.loop.quit()) with self.assertRaises(aptdaemon.errors.NotAuthorizedError): trans.run() if __name__ == "__main__": #import logging #logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_valid_package_names.py0000644000175000017500000000425512117271433022757 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Test index handling.""" import sys import unittest import apt import mock import aptdaemon.core import aptdaemon.errors class TestValidPacakgeNames(unittest.TestCase): """Test the code that verifies for valid package names """ def setUp(self): self.cache = apt.Cache() opt = mock.Mock() opt.dummy = True self.daemon = aptdaemon.core.AptDaemon(opt, connect=False) def test_valid_package_names(self): # ensure that the code raises on invalid ones, note that we # test each item individually instead of the list because each # needs to raise for invalid in [ "foo_bar", "äää", "i space", "a", "+invalidstart", "noUpper", "foo=", "foo=", "foo=a", "foo=0 space" "foo/", "foo/ space"]: with self.assertRaises(aptdaemon.errors.AptDaemonError): self.daemon._check_package_names([invalid]) # check some simple good cases for pkgname in ["apt", "apt/unstable", "apt=0.3.2", "apt:i386", "apt+:i386/unstable", "apt+:amd64=0.3.2"]: self.daemon._check_package_names([pkgname]) # ensure the code does not wrongly label valid packages as # invalid, _check_package_names will raise on error for pkg in self.cache: self.daemon._check_package_names([pkg.name]) # test again, this time with version number for pkg in self.cache: if not pkg.candidate: continue self.daemon._check_package_names( ["%s=%s" % (pkg.name, pkg.candidate.version)]) # test again, this time with release origin for pkg in self.cache: if not pkg.candidate: continue archive = pkg.candidate.origins[0].archive if archive: self.daemon._check_package_names(["%s/%s" % (pkg.name, archive)]) @unittest.skipIf(sys.version_info.major < 3, "Python 3 only") def setUp(): pass if __name__ == "__main__": unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_lock.py0000644000175000017500000001214612117271433017750 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests locking.""" import logging import os import socket import subprocess import sys import unittest import aptdaemon.test import aptdaemon.worker DEBUG = False import apt_pkg apt_pkg.init() class LockTest(unittest.TestCase): REMOTE_REPO = "deb copy://%s/repo ./" % aptdaemon.test.get_tests_dir() def setUp(self): self.chroot = aptdaemon.test.Chroot("-lock-test") self.chroot.setup() self.addCleanup(self.chroot.remove) # Required to change the lock pathes to the chroot self.worker = aptdaemon.worker.AptWorker(chroot=self.chroot.path, load_plugins=False) pkg_path = os.path.join(aptdaemon.test.get_tests_dir(), "repo/silly-base_0.1-0_all.deb") self.dpkg_cmd = ["fakeroot", "dpkg", "--root", self.chroot.path, "--log=%s/var/log/dpkg.log" % self.chroot.path, "--install", pkg_path] self.inst_cmd = ('apt-get install silly-base ' '-o "Dir"="%s" ' '-o "Dir::state::status"="%s/var/lib/dpkg/status" ' '-o "Dir::Bin::Dpkg"="%s/dpkg-wrapper.sh" ' '-o "DPkg::Options::"="--root=%s" -y --force-yes' % (self.chroot.path, self.chroot.path, aptdaemon.test.get_tests_dir(), self.chroot.path)) self.apt_cmd = ('apt-get update -o "Dir"="%s" -o "Dir::state::status="' '"%s/var/lib/dpkg/status"' % (self.chroot.path, self.chroot.path)) # ensure to kill /etc/apt/apt.conf.d, otherwise stuff like # the (root only) Dpkg::Post-Invoke actions are run with open("%s/etc/apt/apt.conf" % self.chroot.path, "w") as conf: conf.write('Dir::Etc::parts "/directory-does-not-exist";') self.env = { # override the default apt conf to kill off apt.conf.d includes "APT_CONFIG": "%s/etc/apt/apt.conf" % self.chroot.path, # provide a path for dpkg "PATH": "/sbin:/bin:/usr/bin:/usr/sbin"} def test_global_lock(self): """Check if the lock blocks dpkg and apt-get.""" # Lock! aptdaemon.worker.lock.acquire() self.assertEqual(2, subprocess.call(self.dpkg_cmd, env=self.env)) self.assertEqual(100, subprocess.call(self.apt_cmd, env=self.env, shell=True)) # Relase and all should work again! aptdaemon.worker.lock.release() self.assertEqual(0, subprocess.call(self.dpkg_cmd, env=self.env)) self.assertEqual(0, subprocess.call(self.apt_cmd, env=self.env, shell=True)) def test_status_lock(self): """Test the lock on the status lock.""" # Lock! aptdaemon.worker.lock.status_lock.acquire() self.assertEqual(2, subprocess.call(self.dpkg_cmd, env=self.env)) self.assertEqual(100, subprocess.call(self.apt_cmd, env=self.env, shell=True)) # Relase and all should work again! aptdaemon.worker.lock.status_lock.release() self.assertEqual(0, subprocess.call(self.dpkg_cmd, env=self.env)) self.assertEqual(0, subprocess.call(self.apt_cmd, env=self.env, shell=True)) def test_lists_lock(self): """Test the lock on the repository packages lists.""" # Lock! aptdaemon.worker.lock.lists_lock.acquire() # Dpkg doesn't care about the lock self.assertEqual(0, subprocess.call(self.dpkg_cmd, env=self.env)) self.assertEqual(100, subprocess.call(self.apt_cmd, env=self.env, shell=True)) # Relase and all should work again! aptdaemon.worker.lock.lists_lock.release() self.assertEqual(0, subprocess.call(self.apt_cmd, env=self.env, shell=True)) def test_archives_lock(self): """Test the lock on the download archives.""" # Skip the test if we don't have networking aptdaemon.worker.lock.archive_lock.acquire() lst_path = os.path.join(self.chroot.path, "etc/apt/sources.list") with open(lst_path, "w") as lst_file: lst_file.write(self.REMOTE_REPO) # Dpkg and apt-get doen't care about the lock as long as there aren't # any downloads required self.assertEqual(0, subprocess.call(self.dpkg_cmd, env=self.env)) self.assertEqual(0, subprocess.call(self.apt_cmd, env=self.env, shell=True)) self.assertEqual(100, subprocess.call(self.inst_cmd, env=self.env, shell=True)) # Relase and all should work again! aptdaemon.worker.lock.archive_lock.release() self.assertEqual(0, subprocess.call(self.inst_cmd, env=self.env, shell=True)) @unittest.skipIf(sys.version_info.major < 3, "Python 3 only") def setUp(): pass if __name__ == "__main__": if DEBUG: logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_cdrom.py0000644000175000017500000000626012201760213020115 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests the client module.""" import logging import time import unittest # Import gobject introspection to tigger the use of the correct client code from gi.repository import GObject import defer import dbus import aptdaemon.client import aptdaemon.loop import aptdaemon.enums import aptdaemon.test DEBUG = True class CDROMTestCase(aptdaemon.test.AptDaemonTestCase): """Test the installation from removable media, e.g. CDROMs.""" def setUp(self): """Setup a chroot, run the aptdaemon and a fake PolicyKit daemon.""" # Setup chroot self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) self.chroot.add_trusted_key() self.chroot.add_cdrom_repository() # Start aptdaemon with the chroot on the session bus self.start_dbus_daemon() self.bus = dbus.bus.BusConnection(self.dbus_address) self.start_session_aptd(self.chroot.path) # Start the fake PolikcyKit daemon self.start_fake_polkitd() time.sleep(1) self.called = False @defer.inline_callbacks def _on_medium_required_cancel(self, trans, medium, mount_point): yield trans.cancel() @defer.inline_callbacks def _on_medium_required(self, trans, medium, mount_point): if self.called: # Abort if we get asked twice for the cdrom yield trans.cancel() self.chroot.mount_cdrom() self.called = True yield trans.provide_medium(medium) def _on_finished(self, trans, exit): """Callback to stop the mainloop after a transaction is done.""" aptdaemon.loop.mainloop.quit() def test(self): """Test chaning media.""" @defer.inline_callbacks def run(): self.client = aptdaemon.client.AptClient(self.bus) trans = yield self.client.install_packages(["silly-depend-base"]) trans.connect("finished", self._on_finished) trans.connect("medium-required", self._on_medium_required) yield trans.run() defer.return_value(trans) deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.exit, aptdaemon.enums.EXIT_SUCCESS) def test_cancel(self): """Test cancelling a required medium request.""" @defer.inline_callbacks def run(): self.client = aptdaemon.client.AptClient(self.bus) trans = yield self.client.install_packages(["silly-depend-base"]) trans.connect("finished", self._on_finished) trans.connect("medium-required", self._on_medium_required_cancel) yield trans.run() defer.return_value(trans) deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.exit, aptdaemon.enums.EXIT_CANCELLED) self.chroot.mount_cdrom() deferred = run() aptdaemon.loop.mainloop.run() self.assertEqual(deferred.result.exit, aptdaemon.enums.EXIT_SUCCESS) if __name__ == "__main__": if DEBUG: logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_index.py0000644000175000017500000000254112117271433020125 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Test index handling.""" import os.path import apt import apt_pkg import unittest import aptdaemon.test class IndexRaceTest(unittest.TestCase): """If the indexes are deleted or manipulated at the time apt.Cache.required_download was called we get the following error: SystemError: I wasn't able to locate file for the XXX package. This might mean you need to manually fix this package. See lp:#659438 """ def setUp(self): self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.chroot.add_test_repository() # Check if installing an uninstalled package works self.cache = apt.Cache(rootdir=self.chroot.path) self.cache["silly-base"].mark_install() self.assertEqual(self.cache.required_download, 0) self.cache.clear() def test(self): lists_path = apt_pkg.config.find_dir("Dir::State::Lists") for file_name in os.listdir(lists_path): if file_name.endswith("Packages"): os.remove(os.path.join(lists_path, file_name)) self.cache["silly-base"].mark_install() self.assertRaises(SystemError, lambda: self.cache.required_download) # self.cache.required_download if __name__ == "__main__": unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/__init__.py0000644000175000017500000000000012117271433017502 0ustar renaterenate00000000000000aptdaemon-1.1.1/tests/test_lock_location.py0000644000175000017500000000336212117271433021640 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests locking.""" import imp import logging import os import subprocess import sys import unittest DEBUG = False class LockFileLocationTest(unittest.TestCase): def test_lock_file_location(self): """Make sure that the correct lock files are used.""" # Make sure that the lock module is reloaded if called from # within a test suite (to ensure no stale apt_pkg.config values # hanging around) import aptdaemon.lock imp.reload(aptdaemon.lock) # the actual test self.assertEqual(aptdaemon.lock.status_lock.path, os.path.join(os.path.dirname(self.STATUS_PATH), "lock")) self.assertEqual(aptdaemon.lock.lists_lock.path, os.path.join(self.LISTS_PATH, "lock")) self.assertEqual(aptdaemon.lock.archive_lock.path, os.path.join(self.ARCHIVES_PATH, "lock")) def setUp(self): """Extract the currently used pathes.""" for var, lock in [("self.STATUS_PATH", "'dir::state::status'/f"), ("self.LISTS_PATH", "'dir::state::lists'/d"), ("self.ARCHIVES_PATH", "'dir::cache::archives'/d")]: cmd = subprocess.Popen("/usr/bin/apt-config shell %s %s" % (var, lock), shell=True, stdout=subprocess.PIPE) exec(cmd.communicate()[0]) @unittest.skipIf(sys.version_info.major < 3, "Only Python 3") def setUp(): pass if __name__ == "__main__": if DEBUG: logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_py2_string_handling.py0000644000175000017500000000263412117271433022765 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2011 Michael Vogt # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Licensed under the GNU General Public License Version 2 """Regression test for a unicode decoding error in the status_details, progress_download or error_properties attributes of the transaction, see LP #724735. """ __author__ = "Michael Vogt " import sys import unittest if sys.version_info.major == 2: from _test_py2_string_handling import * else: try: from _test_py3_string_handling import * except ImportError: from ._test_py3_string_handling import * if __name__ == "__main__": unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_simulate.py0000644000175000017500000000447712117271433020653 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests if the daemon forces a simualte during run.""" import logging import time import unittest from gi.repository import GObject import dbus import aptdaemon.client import aptdaemon.loop import aptdaemon.enums import aptdaemon.test DEBUG = True class DaemonTest(aptdaemon.test.AptDaemonTestCase): """Test the python client.""" def setUp(self): """Setup a chroot, run the aptdaemon and a fake PolicyKit daemon.""" # Setup chroot self.chroot = aptdaemon.test.Chroot() self.chroot.setup() self.addCleanup(self.chroot.remove) # Start aptdaemon with the chroot on the session bus self.start_dbus_daemon() self.bus = dbus.bus.BusConnection(self.dbus_address) self.start_session_aptd(self.chroot.path) # Start the fake PolikcyKit daemon self.start_fake_polkitd() time.sleep(1) def _on_finished(self, trans, exit): """Callback to stop the mainloop after a transaction is done.""" aptdaemon.loop.mainloop.quit() def test_detect_unauthenticated(self): """Test if the installation of an unauthenticated packages fails if simulate hasn't been called explicitly before. """ self.chroot.add_test_repository(copy_sig=False) self.client = aptdaemon.client.AptClient(self.bus) trans = self.client.install_packages(["silly-base"]) trans.connect("finished", self._on_finished) trans.run() aptdaemon.loop.mainloop.run() self.assertEqual(trans.exit, aptdaemon.enums.EXIT_FAILED) self.assertEqual(trans.error.code, aptdaemon.enums.ERROR_PACKAGE_UNAUTHENTICATED) self.assertEqual(trans.unauthenticated, ["silly-base"]) def test_environment(self): """Ensure that the test environment works.""" self.chroot.add_test_repository() self.client = aptdaemon.client.AptClient(self.bus) trans = self.client.install_packages(["silly-base"]) trans.connect("finished", self._on_finished) trans.run() aptdaemon.loop.mainloop.run() self.assertEqual(trans.exit, aptdaemon.enums.EXIT_SUCCESS) if __name__ == "__main__": if DEBUG: logging.basicConfig(level=logging.DEBUG) unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/test_configparser.py0000644000175000017500000000650412117271433021503 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Provides unit tests for the APT configuration file parser""" # Copyright (C) 2010 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Licensed under the GNU General Public License Version 2 __author__ = "Sebastian Heinlein " import os import sys import unittest import apt_pkg from aptdaemon.config import ConfigWriter class ConfigurationParserTestCase(unittest.TestCase): """Test suite for the configuration parser.""" def setUp(self): self.parser = ConfigWriter() def test_comment_in_value(self): """ ensure that comment strings in values are parsed correctly """ s = """// Server information for apt-changelog APT { Changelogs { Server "http://changelogs.ubuntu.com/changelogs"; } } """ cf = self.parser.parse(s.split("\n")) self.assertEqual(cf["apt::changelogs::server"].string, "http://changelogs.ubuntu.com/changelogs") def test_multi_line_comments(self): s = """/* * APT configuration file for Zope Debian packages. */ DPkg { Post-Invoke {"which dzhandle";}; } """ cf = self.parser.parse(s.split("\n")) self.assertEqual(cf["dpkg::post-invoke"][0].string, "which dzhandle") def test_(self): config = {} config_check = {} for filename in os.listdir("/etc/apt/apt.conf.d"): path = "/etc/apt/apt.conf.d/%s" % filename config_apt = apt_pkg.Configuration() with open(path, "r") as fd: apt_pkg.read_config_file(config_apt, path) config = self.parser.parse(fd.readlines()) for key in config_apt.keys(): if key.endswith("::"): key = key[:-2] value_list_apt = config_apt.value_list(key) if value_list_apt: value_list = [val.string for val in config[key.lower()]] self.assertTrue(value_list_apt == value_list, "%s: %s != %s" % (key, value_list_apt, value_list)) else: value_apt = config_apt[key] if value_apt: self.assertTrue( value_apt == config[key.lower()].string) @unittest.skipIf(sys.version_info.major < 3, "Only Python3") def setUp(): pass if __name__ == "__main__": unittest.main() # vim: ts=4 et sts=4 aptdaemon-1.1.1/tests/repo/0000755000175000017500000000000012202062656016350 5ustar renaterenate00000000000000aptdaemon-1.1.1/tests/repo/gstreamer0.10-silly_0.1-0_all.deb0000644000175000017500000014546012117271433024023 0ustar renaterenate00000000000000! debian-binary 1328075066 0 0 100644 4 ` 2.0 control.tar.gz 1328075066 0 0 100644 702 ` ‹í”QOŰ0ÇűśOqŹ ŃÔNâ¤-mŰĂ$¤˘˝;ΑZ¤qd;°2í»ďB Th{i’jjç|ýűěë]<›Ľ:Ś(„F^¶?>0áĽŕ ,Ů„q&r>1yzçĄl¤őş}ŮďOë˙)ńlS ×oÜ+ç?ϲóźRÎ9çi–gI–qĘÂY:ň˙ꔜ«"/ÓEVŠąŕEZ&sľ`ąČxľHzggn--Î*Łfµóĺ-‹9›:Ý4Ű™Z˶ĆĆÔń–Z¶q}%ňŞP©H’ŻH1ÍŐ"ă[TóĽ/ŞĹ_éšnku˝öĎ+θâsš$¤¬be–ŞBČE"…ŁZŁË'ťé 4Čbę:v&šž©eZoMóďęź'yş×˙ÓűúĎE¨˙·ŕBŞkYăž)Ŕhez«híţmÚŤ®.úŠÖiÓ.\§,ú`ŐZ{Tľ·ä+›&ú"uëéA»„–Ňyę đ uŰĐď*ĽÁć}ÝHgl\áiôąĄ44 VÓ•ľ#žĎŁ3찭ܨU§'ÄĹ” –šž$fS¶[ŕyĚv+Ź- kúZ·nJŕý±Fçaú›óŻë<¨wŚV3«ŇĂhE'˝?˝¬6şŤ.¬6Vűíđ›·2:Ü}˙šŘžý •©hŤúJ›™Téńnşé°>‚áűfüńÉÝäáwŕGA?ŽaOéclý ¤ŇNZ‡tiNYÝŤ>Ć›ŹÎĂ.ʬ†´>Ľ:Đ$8ô`®žŚ·k­ÖpKžP’Ö5lé?ń$±‘-ŤCŕŤib¸\㨩"oŹ–ö¸2*,űš‚¨ˇëmgş8ú\®iăťŕĂůę!ě1Ţ1öťKÚx @ @ @ <ÇOľÓ~w(data.tar.gz 1328075066 0 0 100644 51121 ` ‹ě˝ xEÖ7> '`TTVÇ5*®J”Ő€ ˘K\ĆËŠ† L4$Ůd†‹ ’0ąĐ6A@qWVQYŤ 4\L@Q#˘˘˘fÝÉjD„@ľó;U}›d˘ľß÷îűţ˙φ§9sş«NŐąÔ©SŐUŐ‡8ţŰ˙Réď’‹.L»ä˘T+Ô˙ii—¤ MKżxč°‹©i©]śîp]äř7üJý9%.—czN‰?ż0zşźzţ˙ŃżÁCĄ%Cţ7č?mXúĹéCÓ‡B˙iĂ.ąč?ú˙÷éżÔ—SâňżC˙ĂH˙CÓ/ůOű˙·ë?Ż(wČ˙ýšžöý˙OčZ©żÄ›3Ý[’:8-őÂŇü‚‚ŮCţ­ú6”ôńĹűŹţ˙·č?×—S8Í[P4mđhď”üśÂÁÓîüĹúż8==Şţ‡jč?Ý6ě‡+ő?ú˙o˙;SŤgŰ­Żúzď-©‰îĂÇî~éŕ˛{'Ć=áśôŐćMţCŐi—^{Í×÷űßřěŚá= ţZ}`ő™ůÍ –ýýÁgďČ )—ţăÄ#j˝îŢň“e}ĎřjÉy›wnIÚ0:·uߢ);îľěOˆ®čůČÁ>ß]8óć O˙Řş!ö™™ź<’±tkEÇą#÷Ozé…=~öî™ßößPUăřĎß˙Âö_T<»$šĎ˙á˙»h˙C‡Ą§F´˙Tţ§ý˙;ţ&úňK]Ĺ9ąwäLóşf攺ňŘĹçßéÍsM™íšŕť’Sę§®±ŢüÂş\#¦äřď,*É L ús‹¦_î**ě=ŃHq ˝˛»†¦¦§˙.M˝čŇ´T×…©é©©{÷ľÚ/J(šYXP”“G%L-)šîňůýĹ—2ĺÎ’Á’ôŕ<ď6˝ eÍJ‡LĎÉ/ěÝŰS,ĚÓ52ŕ÷• *=˙RWďŢ.ú묢yŢŢ‚L“ćĺ˝{_©›˛žĎ¸átĺů˘Ţ?“Ô¸ü\oa©÷RAGby®@až·Äĺ÷y]W]ëq]ĺ-ô–ä¸Ć¦äçę©\7xKJó‹ ]CEfˇ„’˘i%ÄýśZâőşJ‹¦úgRłĽĚ5»(ŕĘĄę”xóň‰˙ü)ż×•ďwĺć )*qM/ĘËź:› ŃMł|ż·dz©«hęOU†TRŚ;Ą>Ö9B–1¨ĹY ×"˘śă§Z_ćňćÓó× ť ˝I1ĹUTÂTĺřQůWQ12žO5ží"šyw.“Ď<‰´}EĹÄ’Ź(“3É8\SĽ®@©wj  …iPj׍WOű{ĎD×ČkovÝ8ňúëG^;ńćË(5 =% ZůÓ‹ ň‰41V’SčźMőgYîëŻKyFŽşzÜŐo&6\c®žx­{Â×ß_ďé?ňú‰W_é7ňz×xĎőă?Á=¦‡Šy™BbžĘŞ"Ićyý9ůĄ’ő›IąĄT˝‚<—/g†—”śëÍźA•ËqÁďţ´ţJNAQá4f”R›˛ĽĚ•?ŐUXäOqÍ,É'ŁńuÔ,ç7µ›âşş0wpŠë˘ ×D/ÉÉë_“ëu]蚉aĂRS\ŁŠJýHš5Ň•:”\÷…iĂR/Iqy&Ś$®&R "P”Ž%źŞFuŇXĘĎka0ďŢ”­ “–5~\Š«”xlé˝ČM/*ĽP&/B‰ÎÜű?=üĎé˙ ň§ü7Îţňůżˇié˙˙ý›őoD~"ôň?Ą˙§_”úźůß˙YýÓ-şS4mÚŕҢ˙úŹ˙»Ôťˇ˙KR1˙÷źř˙ż˙ož{ÜďF˙€­ĽÚáH'˛WŹ|'Ƹ ŕÂó8şĆáĎky=ơ_Ét/Y>Ău=ďŚ=˙kDëk‚+"ž÷’0ź®UťäßDňI×ÓteDÜK븝®M‡®äďë%ü-]U–ĽăčęcÁŻ•°Ž®?YîżH×@ş^•řŰ‹¨Ëâ(z`ů]&á#^,áąQňnĄëŁNî?nő#týMţδÜ?‰®Zů[“p]î(e­¶ü®¤+Č6épüFŢ»YÂO%üś®şŢŁë×tM÷s-tľ”đc Ó$|¬łů0Ř_Ä˝ľhň÷¶(ő&łv$Xp]ż’żźĄk]ĄĐ’ţí4Ą“{§Jř0]ë-÷Ń8ęé:Ëro]»"ňŁ˝N˘ë|4WşúÓő†ĺůüČąşľżűI¸“®÷é:Ť®ČŮ»ęü6Ëď×$TézŠ®‡$ţ/ ÷IřOşn¤ë‰żAóËoëü”‡®';‘Ů]tÍµŕŠ„÷IX,áşÖĐuU}TH¨0.ď$Íß;ą·Ŕň{ť„ł#Ňě–đQ {vBçş~G×'týYŢűJÂ1^@×^Kž7éşIţľ®“;ˇ;UÂßÓuéĎěC–vrď/?#fžß•ż}t­í$M]ĺďEžňsb‡čż"˙S^!Ď”p]‘o4ćˇË—żß˘ë–gcé:;"ý ş–ËßWJřWşnˇënşšĺ˝{$Ôăëí÷J%á+Qx{Éňűş–Čßô†®KšĎ$l¤ëVů›şwLJ˙?מ÷3Ó%˙Ś4'Z~źđ3éžÓĹłË"p=žý4˙ á”˙G2)á–{s$ĽDÂŘ.ňŹr?)ĘýAQî÷ř/ÔÝ)áĆu’¦ü'h`\“-?¸’®’NŇ=•Đ+áp˳͖ßĎtBëţNîmˇëtşB–{Ë,żźë$Ďd©›Iűé. ©LďCĎě÷řŃČ<›cL‡ľľ¬·›_-@w™`–ü4§ő3c6ŕu‰ŇÇĆ ü©Řtů|@ś©3ŕE˛1%~rĽěűeţËúš± đłzń(đďĄq¶ČúĆw3}*đŻ%żż’xĽlČgKü)ÉO~ŚŔ{I~ÖËç3,ýđă%ľ1Ţ^Ţ•[©»d}{HúŰcĚľ·żĄÝëńâ™ř¨~fŚôGâÍ~řµýĄO’ô_N0ăAŕŹJyüY>,ĺ5­›Ŕź‹1cwŕ%Ýíň)•“§%Ţ(őwľÄ+ëłZŇßŃŰŚ Ůş™>x{ľ±źŮ»eýßř<©ź7$ýôěéż–ö1WâcĚŘ řm˛~«tyč±IśŔ/ő'ńüžf˙ üů^fż |ŹÓŚ‘€g:Í8·ż%:Iâäó•_!źwúš±&đ·z™c=¶ŹľfĐ_¶ ‡ŚÁ{$ýl)ź›ÍřŹë#óß*ńŻâĚ—ĺ›hoĎ'ťh÷ż‘ň Ëöř•”W˛loů}ĚXřPI˙qYźs»ŰŰß5Ýíö–áţ.ë;_ćżWň["źëăěĺó÷z›ţx’”ßÝďŃßôĂř9MÚ×+’źňs\ťÄšc<S¶ßiźßÍňóĚxŤýWwsÜÚß2˝Qâ"ě˝Dâ˙(ý“´żŮ'Hůvłë'M>ď#ńÍýííĺěöóĎ»=Ü!ń R~1‰vů|ŐŰŢľď•ôŽőř}˛>×ËöŇCň[,éUHůß.ýKf˘ŮOr"ÓëcÍw¤˝Ü(éeÇŮýÉ@i_Í2ýaů|“ÄďŚ7ă ®osś|e˘]?w7&ą/îkŽK$ÚýýĂ˝ĚyŕUqć8ř.©żţz{”ň/ů™*íç|~‹,…îő9ÉďIRż dű:5Â_fő°ëëLY˙odţŐńćŘ—őŃÇ›źŢŰnŹłzŮýѲü[$˝O{ctŕďÇŘűź×dy“$ŢÖßŢľo–í)KĘŰgλ°ýô°ŰĂŔěííĘs> řů1öţő)™˙¨|ţ`s<ŤźźI~Š$?˙ö|ş|ţHŚ˝˙řDćż]/_ʧ»Ě?YÚG•n/Ýíń‘[ĘwĽäwô§ĺóU’˙*˝ýÉň»K”ă°ű—&)żSdú-RßĘôy˛ľGtßòh?w8íýDZ»} ëc÷·Ož`Îk˛ýJ|Ť¬ĎŲüăňyy_s|Ěńe¬Ýźém÷źKzOJ|’”÷a˝}H~zÉö´IĘďOňyK‚=žšÝßŢľ>“úş@Ękł,/CÖ_émÎuŹëŃŢúÚźÇKz=Ą~7Fôçářá{Y˙·eyÉŇ®ĐűIď2ů|ô'$ţĎsľý»”Ďňůľ>öúÝŃĎoOěg—OXĎŻű/é_H|Gw{˙±'ŢnOI~3$~•Ôďk˛>OGřw—LXĘëE™~´L?®ŹÝźžkŽ+_/íł§Lěsţxź>öńŔĺ’źĎeyŹHţ3Î’íOŇoí)ă“D;żU’ţt‰o‘íe«^ßxsŚĚý·´Ç›ôţGňžLOĽ=ĎŠ ˙…>ž’ö=[ęűŻŇ^ö4ç(Wö4ăŕŁN4çłążrÚűCÉžă{97~Wwűx«I>˙DŻ_„ýŢb™Gţ€¬˙iz|–h÷˙Źö±Ź»GÄ#·H{řÔOv_{Ľtf»˙ÚQ~×±'†ÇŰýĐ*˛ł§M/*ĚĆ<v6ˇąłr˛§ććäßéud_3#űzď´üRż·äĘ‚śŇRo©cZ©?»¸ 0-ż0;Ď[š t'Ď;%0-{z~ˇĂÄ Š¦1ć-đN÷úł§yýŮţŮĹ^ľ‰Ů%’6Ę÷ççfO 8¦äćů˝łüyEX±fŁ §wXĘĚÍń{§•ĚÎ.ôÎtLtsQ×ěbŻ÷ŽěâśĘi<đysďŹssJ#îçR= s˝ú#¬mšťŤĄdHç+ńćä•fO+ňSÂ|>‹(ĎQ4mZvéěÂ\˘ęÍ)áę’ňł‹¦ÜîÍŤ`Úú PXâťjĐ%Ö s±x¨4{jQIö´‚ü)ŮRŻ Îo•‰ůR/jU@"@"oN®ŹP®žQ ‘Č@§¦N%qM÷NĎ-žmŢžYRä÷ !ę˘ő–”PąĹ%ů…ţ©\WY޸˙Ç@NÉ6UL÷––ćLó •„‹±ŇÄ.¬„Ř*¦ÇŮ%XüΉđ<{áoqQ©yŻÔ[B-,âŚS Šf˛ŕ s¦ ÁüůŮŞŰĹéŮĄą9^Ł€?Ľ¤űܢÂŢ!łeJ›&DÝJ}ŮXŃ&ňŮőVńf•í-*5r‘|łsHU3Ľ¦9˝h†)l·sňň:Ü+,ĘĆ*6Üd…–:Ż Ą&dĘĄ”ŻY˝©ŕ„۰cšŢ–JĽąŮÓԨ报Ţi\°Đ™˘â¸d^S ě1ü9ĄwtVd Đ(”É![–‰MIŰ›†´'KY:GŃ‘ÍI©Üé9TNŞŃT-. µĐmY*§1+ˇ+[˘Ąů…wXZ:3X’(¶6=˝ŐJý9˛uęe7Č ě7¤SŐÎ).öćeĎČ)(µz6ř†b‰Í…vtŻa{DrÍÍ).íüˇh/,˘.žŰYÔĄ{S[ăËóNÍ »âŽ°ÔĽ@IŽAÄú¶—_8Ír_·ČŽwmD-k›RĐ+`Ń›éŚuÓá"ČĽvíci¦AŻę'"ůÓ¨ĚöĺćüóňKÉÁR›31ڞ$†NWöŚS˝9ţ5q$#owG´gl:TĺÜéŶĘN%>Íl"ťöSůĄŮ9QóÝ^ÄKý%QÉ– –üX«J|”J÷ĎXâÓĽ~SüÔĽ¤Ä\Ë-ÓeŠĄŮDĘ?;ÓĚEWXâęőüVg?@âĎćn}=˘Cą>dCă¦d<ăÜzNłĺ¶úC–ßô}f%Ě`…˘˘Ľlź· -’úDŮ·âąh©R¤Öć`<Đůźš_€řEÖ¶´(ÂżéŞÉ%Ář˝˘'˝'éDk†’p“˝yIŃtă©­‰łŔ:oýťštN„ŘXÉě§± Ük¶ŮH˛órü9vOóš*ĘŁB¨ľ˛©QhBžUVL ú3â"éĎ/ x-·„ąXb‡)Ö@‚»jéW©ťPP üŞ%ű4/ŶE·=˝eSäXéä¬~Čj8¶ťőbyE…^G^.ŃETkËĎ˝‹QŮ׺ł»B nµ¸r©b|'OeÄŃQő†QHëéÔ68˛9ujúSŽę~"…SPű2ĂŃxáĐ,Q˘ŃrőŠŕYgwőĐČĆĽl$&oţ|8X"-NnQA,ˇ—Ńşm7ÁD‡zł«¦Qý~ožl 0Ś€¨I6”aŢÁ¸ĂçE[ŐďŰöHRč÷7PB·pßÂ@«0ěÉ;«¸¤c]‰¬µ™qü¦Çî\ĂßN-ÉɵwˇÂóË4ťä0"űmjHqźIKµôQ܆E$ÜŃÁ˱śIŇ—S*JŠp‘­Ńîx¦çÜáÍĆ^Śś)ě{DUDۉţ±űĂR]¨Öň¸#f0  KĄc5+^jĘB¦CÍ"î;ŃÇÚ~ĂŇbŠ’ĹPĆ J…őrżN-ˇ¸¤:t Ň::·T#:ޏŤ>LfafdËX…"łëD÷"S­­ŹűIrŰ–B´H$…ŮůS©ď˘1ÚĚś’BqD×_T ‡-ž¤¬ RS3ú-XPţÔ©¦FEŚÇtl¶)űhŃUf—¦tÖr"Łnr3ŠJ¦  ›Î~ĂŇ‹ť0vň “‹ëťn‡1(B!{ÔCĂdSZňLÍźĄű‹RĘS8ŐäOÖ;'—_aâÂ÷‹ľ5"ůŚü<Ż%ąŢ´íc))ŞŃtę&Đ[ OJrsíy¬ń9Ť˛ň#wT©“Ű"˝uôm&·ŢµE*ş5w‘Ä`°#ďÓč¦YÚٸǴ9[ÓĎ.ŤF)µËJm±¤D‰źÜ3«á­JÎ\Ä=bŐ?ęÍ»— N•7ɤ:Ü›’SęípÓ˛‹ŔĽ-Ş~áĐÁ–{tŮnÍâw±Y2đ\üşŘaŰ•pŐ¸«G]™=tpÚŕaĆosĎ@ěżeťYl—xě‘běkŤc˙%űMˇ[Ôç1|Ĺ:Â'šsŰĄgć÷âEú\Cúü;éđiŇ?ŕ3¤ŔZŇ?೤ŔçH˙€Ď“ţ×’ţבţ׋EP=_ ýÖ‘ţ7ţ_$ýľDúÜHúÜDú|™ôř é°žô¸™ô¸…ô¸•ô¸Ťôř*é°ôŘHúÜNúÜAú|Ťôř:ép'éđ Ň?ŕ›¤Ŕ·H˙€M¤Ŕ·I˙€»H˙€ďţw“ţß%ýľGú|źô¸‡ôřéđCŇ?ŕG¤Ŕ˝¤ŔŹI˙€źţ?%ýR˙¶đ¤ŔĎH˙€ź“ţ÷‘ţż ý~Iúü'éP#ý†I˙€_‘ţ÷“ţ[ŹňĹ„`Ko=ĽĄ|kć1u‰ÖŢŢ^ąËß]{zVíęö´Š[c7ݲckűóXÔŃţ¨\şAżäî$G¸™˛µ?Š(Ó‡Çá&Ćhúp3\Ď8vZúđ_¸–q¬ţňa9wx%ăřéĂVp ăŘâð%\Ć8ů°Ä!\Ě8vţů°.<™q$őa‰Ux<ăč”|X’ÎdY}X’Ne«i|X˘v1R>0Nd»N|ĹĽĽ–qöaÉ}¸ő8pěPő•1˙ŚŁ(ßćźq¬FńŐ0˙ŚŁhßrćźq¬ń­dţGU|«™Ʊ[ŃWËü3ŽŞůęƱ ×WĎü3ŽŞú¶3˙Śű9ŠgţGŐ}{ƱZÇ×Ěü3V|óĎ8V‹űZ™ĆÁšŻŤů?|!ë?ü3^ĂúŢÄřRÖ?đzĆ—łţ×2ľ‚ő|%ă+Y˙Ŕk_Ĺú^ĆřjÖ?đbĆ×°ţOfĽ–ő|<ăkY˙Ŕ3ŻcýOe|#븋ńzÖ?đDĆ·±ţ;ßÎúŢzřNÖ?óĎxëźůg|7ëźůg|ëźůg|/ëźůgĽ™őĎü3ľŹőĎü3®±ţ™Ć[X˙Ě?ă­¬ćźńrGü3ŢĆúgţ?Ęúgţ‡*}óĎxđVćźq¨Ö×Ćü˙<8Ʀáfơj_<đ&Ć“€'ŻgŞ÷ ^Ë8v%ř\ŔW2Sđ ^Ăx2đTŕeŚĂ4|Ă3ž<řdĆa*ľ±ŔÇ3ž|<đLĆa:ľ›€§2>řdŕ.ĆaJ>đDƱĎW ÜÁ8LË7 xën˙ŔËĆajľĚ?ă×0˙ŚĂô|Ë™Ć'_Éü3Sô­fţĎ^Ëü3ÓôŐ1˙ŚŻgţ‡©ú¶3˙Śű71˙ŚĂt}{Ćçofţ/cý3˙ŚW°ţ™Ć°ţ™˙¸ýłţ»ĆkX˙Ŕ›_Ęú^ĎřrÖ?đZĆW°ţŻd|%ëx ă«X˙ŔË_Íú^ĚřÖ?đɌײţŹg|-ëx&ău¬ੌodýw1^ĎúžČř6Ö?păŰY˙Ŕ[۸ýłţ™Ć›X˙Ě?ă»Y˙Ě?ă{X˙Ě?ă{Y˙Ě?ăͬćźń}¬ćźqŤőĎü3ŢÂúgţoeý3˙Śdý3˙Ś·±ţ™Ćʞţ™ĆŃ”}óĎxđVćźq4m_óŰ?p¬973ަî‹ŢÄxđDŕőŚŁéű°Ő-\Ëř@ŕ.ŕ+‡+đ ^Ăx2đTŕeŚĂ5ř†/f<x&đÉŚĂUřĆĎx:pl9g2×á» x*ă#€Oîb®ÄçžČřhŕĹŔŚĂµřfo=ÄíxóĎ8\ŤoóĎřDŕ5Ě?ăp=ľĺĚ?ă“€Żdţ‡+ň­fţĎ^Ëü3×ä«cţÇ®_=óĎ8\•o;óϸxóĎ8\—oóĎřŕÍĚ?ăe¬ćźń Ö?óĎřÖ?ó˙=·ÖwđĎx ëxăKY˙Ŕë_Îú^Ëř Ö?𕌯dýŻa|ëxă«Y˙Ŕ‹_Ăú>™ńZÖ?đńŚŻeýĎdĽŽő<•ńŤ¬ŕ.ĆëY˙ŔßĆúî`|;ëxëAn˙¬ćźń&Ö?óĎřnÖ?óĎřÖ?óĎř^Ö?óĎx3ëźůg|ëźůg\cý3˙Ś·°ţ™Ć[Y˙Ě?ăY˙Ě?ăm¬ćźń٬ćźq¸rźĆü3Ľ•ůg®Ý×ĆüÇí8ö(‡›‡«÷Ĺob< x"đzĆáú}€×2>¸ řJĆŃřŻa<x*đ2ĆŃ5ř†/f<x&đÉŚŁ«đŤ>žńtŕăg2Ž®ĂwđTĆGź ÜĹ8şźx"ăŁw0Ž®Ĺ7 xën˙ŔËĆŃŐř0˙ŚO^Ăü3Ž®Ç·śůg|đ•Ě?ăčŠ|«™Ćó€×2˙ŚŁkňŐ1˙ŚŻgţGWĺŰÎü3îŢÄü3Ž®Ë·‡ůg|đfćźń2Ö?óĎxëźůg|ëźů˙–Ű?ëż'řgĽ†őĽ‰ńĄ¬ŕőŚ/gýŻe|ëřJĆW˛ţ×0ľŠőĽŚńŐ¬ŕĹ„cüŞaDůÖŕÝ1Ę–˝”„uńájńje˝˙t5¸–2)qÉÚ1Âě﬏S‚čBŰw© ŐÄĘ]pC9c‚Űânąukh-÷Ăô3ýł}uÉľyx|’ş¤E ”ű„‚¸G´ďąŐÉ[kđGů-”[Ű´0Ą-ßú‰ăPGŐ@Ľ’ž¬]Nnđäç<‚oŔ1 x9»ę­mYjŕ¨Ňr« jţi˙|–ę¶ąšČRQ·†Ę÷}ŘŢľ54ĂÚxž¬˙ ęX—:2Žń«´]i‡Ôŕ–5®Vyݱ ľ´3®‹›ůĎŰnÝ:ő˝Qy˙5ÓĄÇUň˙ZMLۡĆfÔač»?IŤ»[ ţ^ÁÍ1ßľN«ż-Ű*/­Ž8˝µ˛Ţą¬Ţąľ^`ÖçFĄńȱ #3Ĺs*–¨UUő$ńšZŤaÝHP=µiü0đąz?iőę5q•;ü»ÓĄíŘź(nb”o3JâfĽ¬ĆR5n–&H~ş˙©˙\KůÁ–řŕí$^eNrśr7ú#_•Đí*nŚŐ2YzrWŮî˙TMMŰĄöP 9eĽIRĚ8âoTăîSËřf[»ż˛y˙şĐú~o µň˙Q ˇ¸5ĹłŻqT2ćG  @U÷12H0Ł›ł©YűÝ­lW»ÔŮqJV3UiRŁ›O1ˇze5«¤ŇµÉĘCˇj †aę ľ”¦ł¶ëcüwŞî}ę¬ájqzĆ[%=gz3Ţ›™SC¤•?¦+ł‡«îć »%Fő´dŚŹ›ůwşŻţq„:;Si=« ąŞ×Ą«W׉ő=˙˝SßâĚÉĘěAjŐď6sŞęn nq ›‰]yOyk˙ź©ö¨éţ?‡‚ąŻRCť<@ukŤŁ“ĎčípŚĂ¬ÝN Ó÷r‚„P°L$ŤWphľo’ Mm8\DŐ¬V ©4+©qÉšÜ<űŐÜÖ^&h—…¶†UA[éjΉM‘·ĄS×r) -ŮvŃś<(´$nÎqüJ --î%„–,§©FüÎť`Š„Éş0t$8Pâ$L”0Cu˘‡şnýQĺ „ýTăł˝[†+·Ô”Qé»*á_Ú”ąGCÁZ0ěnü^589+pt•PZčĄí”,ôü‡Ż˛ťŐŘÍĎ-üĎmß´·káăĚE<<$I&§şăQŻŹľ&=ÜzP ´©sŮA…‚«¤ E  ŢĄE‰&Řůcň.tĽˇ'Ý‘´'E}Ă8iŞH: <÷(*ť“ěRüɉL’.Ęú‹QŮ…­¤ň_ E~쟯>ů]^aőĎ_·ˇ)D;<¸‰<†,j)˙@~YşdŮŕ_±Ň;¨ýđč}d}€‰‡Hţ…I&I ńÜUO›ř ˙FU1¨4jŁľ%ťM÷ďÇTh‰˙9*řţ˝ü{Ěmü»ä©˝±ýŢĹE—ażIÚůÇXHPš9B¸źdKÎ_Ná·%qs‹ô˙˛ţLdpP·'unĽö 5 e„¨ńőß …!«Ň –­’~’:E5ˇ˘J¦ŞÂŚ ž Q«0˙CĆx¦–vHÖ‹o!AűîDµ™ß€ddČî¦}Í…·Gp­V­ Ô`+ĽćřÄý míYę7ż üÜ6źő«4„ĘÉR{€y%Ýu\Ö¶wYnŻý¨6îëěÖ¶FľÁVVµ\ţ˛›­|aQT‹ĎŁ{Ę©_ďr5"7†[Ňł›€ö„Ć%HjűűÚú{˝˝·i0ĄEĺ’ĹÓŞdÔqÜĚßP3ĄŽP©Âü¬ÔÁ}5’Ąőakˇ`ë«zŰÚ­mM$‡:ŽŰWÚö¦C9Ý%ĹtrOűJűą‰í˙Ű™a?%IŠ{Ż:*Qń졪ľ©9x)yśł`‡ü™ęÜ˝D>®Ľ‘+;"Y{ćôŕÎ řIŐÓL!(xDm4Ü!%F2ź†dłRlăŢĘ\‚‡­6+iŚcŻz li'+s»[BÁ›ŢVC7©ű«ÜE>3¬‡ Ü»ýN]¤1ÎjLŐ‘XÉz­wďÁK’‰pW ZV«ŢÖö˛żkÉÝđő?tg5‚TIWÔUPa`éeL+žHÉz ż…I–ëâ-|Žđ• zĎą7´ŐĚHŹ—řqwŃúJ ââ­ľŻ†L7ĽŢÜ&Ś^¨ł{5!64żŔľĘC¨t.Ď8(Ń(łŢ= ‚řÝÄčol‚8çCl‚Đ„ ö…pŻ>´u Ů[RnńH.ض3iÖ3_·XµF!DU1© 2˘’*X¨ěłP9đ Şăˇw-„´(„ş¬Î‡ÔVĂ;Ž._řwÄ“+ľCăZ<~Žâ©W= Š{şdĎF˝qŐ/ŤŁĆEĺçnt8abR͢DuŞgc·rř…łGpoW<;CÁĐż{-RϹʹ(‡[Ý65kgĆÝHv×Ů‚ňË+ pĐľ%˝ÇĄ•Ă=®ßśT÷öŚů ^ÚDnXť»MőÔË&=Q´×=ßčn0#NipVź@C°ŕq‡sa7Jĺ¬ĂÍlcwÝÔż* ĺň†`¨FlÖ‚Ľ˛Y­CµÔĽ‘RËđž*íHZkŻ-ΊCD!äná&>Z4¬ôł„ĽŐň2©žňýpT~ĺy±ŕ´…Hk#~”7+ľ?n©Ął*‰Űŕ“Fܦ·»ŮVOČ!gčč!gÚóöăFüś[çpV˝‡Üm„ď¶;µ†ÝXmĘÍGÎ<˙Yp~*k-<‘RÎéÍŞ“ŃŞÝ|XbŁ{'J!¨;Q]Ś\ŞRĂĹÓ¤díöÇÓ%Q§ÓŽaÚývÚ!č©ćstòCqVőAO˝’”¬ú´ë•÷É>¨ďgu«÷˛-%$+ä„={µţČŐgÁ©§Ĺ9Éé•aěă’SH,ÉŞ»  ô`Űp1‹ †‚Ť/˝[J‚X×Q…Â××ëűň1˝Ň—ró›ĎÍo› őD´Pťs"ş¶›AűQ„}몉qV}zL¸Kĺ Ó _ĐĂŇ€ÉŮŃ8Ĺb1lOta_©pµ×ŞîµB"‰»‰ý yü „ž8 Ţ'7°Řó‰ÔˇçËDÔťů/ŇJ’ěbő´[ż°™ŔĽŁÂ¦ĘŃŘÔĹ D}’Y­ěPTáPĆ IžÜC×dQ®É'l5€ÚQ¦UŢa*.|’,É˝]őě쪌ůFm?ÇZ\֒桤Ë~”%Á-vUŇX٤Š_\ŇI()pú¸¶Ł ąůąÔ,Ă_ý(ě‘ű`Ëx´ę-˛ şw«eě!łv†h„śEŢ}›â®í˛Ü˝gç'¤NĎ^âzoĺç‚SŘĎďQ)[Ö^í/ߣóß­r¬AîźČ9ŰçuĎp×ĎŘÜčćUŤnŘDűÔuîv5PĎŽuî¶ó…°§’_hÂRˢAD°m…H°íł˘’PŕNLĐdíĆ8ŇłOČ85lRź÷ÔÜŮŞ»ůl÷ľ`}Śłăs ţ0!áŢ­=¬‰~ę!:3\#’ öaOťDvSąË5ЬÎݧ UîŚ nŹ®JÎG4ş˛«,0ÇĤłú<ÂĂł™Í=" y‡w‚·Ć÷Ă1¶{}0Eş č…˙îçř7@ń/u- ~5¸\Š&Žô:@Ě:×»ö´ôńhiői»ě9QŠ>úxšýÍőţçúíĘĄŐů÷¦wŽÚěňwWšŕ·ú˝ďüŰ–wšq+NŮ’V~)€Jó´ Đ{íĎ—ăj˛5’¬ ą`U2´6M8{ňŘYźÓÓěFżu ‰¤Ăxd3$0ČăŞsŔýŹ_űV?q/&h|â¬Ŕ)Öjył0>i»‚řĽp˙eÁą­1ţŃjů6‡źŕÖçIRłŮ#͡P+ÝJŤ1QÔ˙“šĆ’šŇdĘŤߢÓńŹíHŚa+µ¦?1‘ýty»“^d9đbźĆL¶©ýI۵˙~ŽoTO"ŤY:×—·é-oa_Ń*p–—ZľŹďi˘Ą•cź#ÚÇŕl’”ëâ¸%&üŰöH{Âüë1M(&"µ§Ă棥1čľÝ-ţ–Gć]R_ ’v(m—’µń–CMŞ!Ykď|iŐ˙\ôTŻX:ôn3ŻÓ>ýdĚť&‰”s‘rŽqúöCÔµE9 ŽteÇÍ\ĄÍłĐś iľţ)Q“~lt­­$±dôŃťŮ7]Ź)XÇ(-ä›Âą¶ůĚ“<im•Iś«ýUăj*}•K9€iUt˙˝\yíšPá®°ďő’«”v&—qQ‰6Y-f6ô(”†«ßłm¶ŞŁäÔpaHý:h‡4R@zŤćm6§vĐă™R˙ŁŢŤ1í?őĆŁźéŁĄTőđ?äđ”~_ö…ç<-ĚŠ›ů0ĄQk—ň<Ż˙4´ńůµĆDNŠČşhŐ^ÁŰŽ˝ˇ`ú‡účCęj5Ő@˝©b€ŢĎ˝ŮĂ>ev3YIxL»JBÁ·ôüĺNU+i5DĐę ZŻ·Í_˛üGh;ľ„Ř_.ŽqdÔÔr7Ö˘Pťłö9+çA‹ö{xn âNÜ’±éäĘX’Ś„N!ő{C'ͬCÎj,ii¬Ň_~"Ě9ĂbH5‰Äśö§f›j&5›ŞIý’Đ Ő,×®µ'Ň,ÚČŤ{y@Ť zZhX}7řó÷! ®zµŘ‡ł:5Ć`&.ćje‡[WGÔ¨Ő{D(ßŕ­Ýý‘,SĚ'QsTďkčü‚că]ŤŐK%oH…pŞ3#®ňP`‹ „ŚĂö03Awk w#ßg‡HĽŤŹ›YMmÜb\žF¬¶'\µÉwµ sŢŇ>bXů» “ ,ŹşöP0ţCž ěŞ5Á’Žô0¬Ę°¦W([xGřÝő,ţC} ˇS:}ÍHß 3tăFţvĂĎ$÷]ŹŽä\á1~­ 컼«|´/?‡‰4ť<Ë.Ąr¨,[N˙űď˛č˙HŚ]ëŐžpm¨ÇFUh”węFÇťr‹ćěć†r7±rČ_ĽGtć¶tó_«>Ď4/'š_žHµ­ÄúSV)˙*߆: uľÄ)Ż ”'ź cÓDÔÓ$Ŕn‡Łő ‹,úć:5e¬żŚQÖmŁΊ+I\ľşiĹqiŐúhűŃÝÖiagej" !ťşl ¤łgő7Vn—5Ĺ«G5aŮ Ú‰¤ěô'5V6é v űę»T^ŁvÂű¦Ű}nŻŮ•ť‹Â×BłĆ¨ËÔ1lŰE}ĺ‹D.žD5áŃďN1ňmćŢŹ†*ëu€ĘzM¨˛^T6’îuúüdkęaô’÷G`m™!ďůşĽ‡˝C÷#ĺë÷4Vî¶ĘvÄę,…Tˇ+­ŃűRm«féHĂę:¦tźĐn!ˇÝBB3_ň§ľ7ĄľrÝSŁ»N BY‡őŇʦÇuQ_XÍ©×đS?-`KŠIŔüN0ă\0íJŇ_Mż[9¬ÎŁ0s…:#YŮ4ÚŕÄĘ:,óV9űüűt~šÁÍó̉Ďŕ‚KŠ›ŻTúaáYżUů§šŮ¦lQÜ+ÔĚdőúAśÇý8‘]©AeÎë=§A*yYő¬·×Ç+•>NPŔş™ ^ź¨T&ňÍ$ýfŠz}ŞR” văßʲÜaâ'ňoĄr,˙ďŕ”ńś’…¶l§Źăô śŐ;żőÔ#‡*Ń cýńÝ{–ö îjÇü5E€Kť ö%Řâ–yÜâP©Śęë\4SKBłËŔ‡Ę÷…ŁŕNđ>F.âi6÷ ô»XîŻV˘˝Ł),ę O°˘±R“FŐX٢;™RÔkSő×Ĺ Ę2$QB-ÇusU×il |g~Ď a­´Rą‡YŢËÓM+Î_ôÔMŚŽJWŻ®TŢÄu˝‰e2‰ţ?ĽKY†Ĺń‡ßîőš€şŽźo“ÎÝOäćƤ֢gSë0˘“CgĹhâ#kâ\ő|ÎE—Ćbˇą+1i±>G¨×gR-`ţďS `ýťUoĹCš71S“L6çs“¸÷ łÖĚő`Q,ŰÇiPčů|˙TľÓ'N‹e‚K.xž÷ qnÓ—Łi}đő;>ţǧÍđsţy˝ő±•şę\IČH^p şiźp.ň;Éô,‘î&©ĺŰE\˙$_ h«ß4\ÇÜ—mŕ`¬ÁYqbožtýÖmÔ!čȡ*Ě8Ć;+ď‹×í)< QĆ/Č0˛ŚŃ‰4BJJÖşíÂ[5‹˙Ś%çÎůÁ(Ú§íµ[/Č–ţz„ŐLš_hV+‡Źţ#™ât¬y`‰é0˙GX­ÝĘ[yü śXOîö,lńÄ »E4ĺm]^BěRVŕH›óŹAY(ÚXOĐF,d°m;/b*Źb÷ Xĺ§ł˛ĂOĐMgčéčExć!«Ne7zľQLh!»µYl$x×ň¬T*‹ŮÚk¸á$˛I˘%_°®=’ŰÎ…Xč\ôXwgwÁÎd;ŤaěR0?~/?GÖşĚQNň Č_ľ…'†Ţ¦b°“ćđ—ę:äUByôţ[śpSĎ…˛ËŠK%őł °ă´Śsbřý)2@€ěü”÷UwŤęYzWâôe23çčI9”ĘÉlÝ“™íRM¸ŠĄÍ*e•“‚»BĺÎ…Ł¨Îó2Ř*śUé?čşěâ;_‘ /ç§lל‹Řf«YrsÎ;AÝ4™R’ pr…“ #±™Ç<Ď…źBĄdhç¬Ţ–¨w@¬Ďăâ%=íďľ'7ľ¤Üµ/JWIÁýÎÉzmtďéfÎËi-âŐřlGů]ĎZŐS›!–|eU(ž2guű1p•Á‹ÁśŐß3ĂG2µë9ŕ¬ĺĽZl1˛žď®=ŐłÖ2鋜»ö˛ąKŐ@íL§s>>±xY Ć9#Ź%:WŹR9‹%9‡Uu˙a„Ć!ż°*¶°aÜp†q#"ßTyJO”·±ŁćuĘ&Ó3d#gű]™yýUΓÁUrÎżŚ šĹJśĂ•™l¸łđ]l”Őq×)ëâÍ@Žß—‰ĐN‹_ś)Âݱˇ“;żUáÖpę‘ŕr¸X4/ÜNĆ&ŃŇn8‚z=tH·ŕ fÖY}ůĽâ9¤żď+?>ě,čćÚ#vS·ZbxÜŹ¦âbśŐóˇv¦Š»Vń¬/ľĚ@ď,(–-Ö2ć+s*+ÂĂPĄWI4”ŕ'¨Ňć#¨ŁhKÚ÷tăz„7 ÎŞ‹HwáäĂzż“±ÎÇ™¶!Íe?°đH0ęY=mŻ1h=ŕ-ů®C÷®źđ ÔľzŤpÄćŹóË×úF+5”¸»§c _Cc2žźŐ^o´tČOó‚€ďy5ČzŽĂęĐŐk7ě2MrâłâMž×á^ ý˝4G¬éJߍĄ4Ő·ăÂľk¬ăL^ŃîőťůťZĂ=@ †«-áă’×­Í#¬}ÝŢţÂ_ő¤AL‹?Žk˙…{bůš§–ü¬âY ş(Y ypă¬Ŕ"şˇzňK)ńĆ%A®ăçÝ3bjÖBŐł CŠqdCd„•Ř}¬Íý•ťFČŕÓJc1hČ"nşŞ Źűę D+˛ŻZÎ2ş ‘Ĺ4PUĚĘşT¤ŐńIÉ\•ʨÇ÷)]Č%şűäPpé[PÍŔö(ć9Ž2ňŚŢş†šÂÝýsůؚáű~@+ďßh1*jŇOĽ®˙W),ŃżÔÂń#»Sşč.㎞zc묉Í:ŢÉ,¶ Ťr"˙;&˙=j:â-Ă€»îôĺdřĂ=ík»° +<Ś<]].ťy˙ů2 Ö¦¸7@ţ ×]‡"ÂrĹ­S á?M;üµî+ĺ‹~Hu8(&ü±6,I®‹K¶.ÓnŐ:]őę~űȦsúó±xIÎ(bąŮYŻÚZXNňtĆŮ•Ľŕ–Oڍ<©˘ň„K‡Ö!Ăťe§“=.ë4ĚżQć÷%§E·ţßJ' –µę´¬MIo‹ŁŃľ=5:ĄîöúXŰęÓ`Öç)˘"ěí¦7yBCŘ ż… ŤMĆ%›Lĺ‚ăÁâ ĐKlU˘ %ëÍg"žnŞcű«Đ×lµ†U Xť-1jÇ(r-÷lLĘOžÝ‚ăÝÍł2(úF˝ëGZ÷Ű5>d«­×ľç_(SZgWŽk—/ÂßTyV+šÇ|ôTčj§ŰY:©«FíęŃőt+¨ĺtp›™ízyýń)Ń)ťČ”¸Ţ!^gţslgÝ)Ń7ćńήLĐđ;Ä·b2ÁŃđ×€"ŚďB•Ř8˘Ťî˘ę7’YV!¤Ő„ŽśťŇ L‰ëJčB ÚÚ“QűLĂĚxNiŮp1J®nŃn‹ Ç%§«ˇt1¬NQ—IËNU7Ą¶ŰVXR7˘†cuQ ¬TJüľŢuśÝWÖ›#52GÇ~Î{–FůSĐK/U=5Ń„=:yöÁIŃô/°Ť‘RMQ‹-čNµű» đQ@Ú˘ĺĽ.íĘ+Ă™e dźv‹µ śĂ1\ĽűÍFČ\qܶî ë_ˇ>cŘÖx–'F7Ř&FŻŽ“ká;ńÉ1ŇP:y¦T®BřýLRt>·JŘd¤ç^ŤÜě"wĄž;BBś{ rKB ¬µĚűňsÝn+{ŁşEgď×'uÁŢZŃtbô îKę‚˝:äľ·‹ÜŹ%uÁŢFäžx"Zâ*ăWó¤ŕîDkő—†ÁoF‰ &Rű[¶Öhuu˘5ĄŞë6ŠV—bLd‘Ö Ůű¸ô Ś‹ăíQWú&2¦"¬Up—ťí®`éfpX\¦z*˘5¸—ÁEV…ę)‹ęÝRŕݦöŹ.«;ACŃÁµ â°¸ 5üu4.feT•¨n‹Ě´OúqgNqÇ~)6/¦.$C`'·˙Ś™0#4†T˙1-ôÉK$Ő›ľFö»F{° Ą~ĚŻ};Pýx×€őt<":^ŠW|¦Ó _“‰?Ájô [IŤ©Ąßá+LJ„Ż0)qoŁüĹgń4rsV‰W÷Ö良9jM1bâAFLś¬ÇÄ<.Ó˝,¤‰Ső$ł(&~EÜnČ4~ŤĐÓyÚ$)N,éŤÖź^†ůšŕđóm=#w/Nębf#ńEŘĂÍ őĎFýťĆO rdŔ÷TDs{u‘:WěÖ÷˙mĺýYć~­mpٱő ą¦FZ>/ßUTü–I>Ľžáţ’W~óGÉ&|µˇĂf•÷ŽáŕĂsöşŰŚMˇŕŹRFzĹoÇJü`&ď!iµpčnéܨZęlŁ~-Ş\Ţ8†6މ I€č›@qrб I#·~-o˛lĂÍ´Đ8&UdK`¸0çveŚKim“)n‰Ĺ±c‰)Ô6±ß+e»nxŹ|Őđęľ~kś]Gc_ ‰Ą´ëë[&h'l†(şýŽ÷ŞÁAĽÉ40D›·[ţ(Ţ–„–ŚÚÎÍĆ·±Óë°YDĆඤ[nÝŞŠX©=YŹ2ľFî n¶'8iĄíöýŁW®&G?µĐ đĎéř™ŐŚ˝qý3SYĆĆ.xeBĄ†CŢăŢť÷ĘE$#׋—ŢX´ ŽŰn./ąj[—ăe˝µqYi/š3„{Aěí{Ł–z‘Aë„÷ppÍÜ3Ô@›Đ ď>m•™Vo°-C› ą[a+úKU°4ŇĹó•/3ŻĆŠLÎ&Ö­đt˝¨ÚąĎňJ¬´ząš«9lyKĽ(–3|.5UlŹ‹tpĎÝÁ !ĆÂ%Çĺ› nď$5ÉÖëiDOďţK~H¶Nŕö9¶I7ۨćŘ·˙žÓݲ¤Ź…@ěp‡ő‡Ú¸—a]#ÇÂşÔ@|čĄ8ęşBÁÉBĽl.Ť†¶ć9s…Ńř:aˇ—ö˝xś}É /ˇš%–LGéŽ6Ó’ét#“†ČôŔ‹ČTeÉÔLŁ,™ľ|AĎ”ĽAdÚ˝™˛dş™úZ2=ű‚iˇëČv«ęú–UĚ·˛c¨hüŠ7~%żŤ_IĆ/—ń+ŮřµŃ ln‹Ýc, L0÷‡±˙ ˙ůÁFüÍ1ÖýĹwŐ ˙Ü ĺ=m6m=ďŐpśî˝wŻÇdJ‚:*1ŘëO ¶őđçaţ9ßúwvÁîfäţtÇ,+A6!cadB˛öĘZ¬ťkí&–ˇYš\ď‰Ú˙ĚT=ĘŚú&ýÝo„’¨}IBרeľĚ7”óZ§Ĺkěąe®$^ýXľTúţnr)ąęć-€‡‰›đvv]ťQłĄ—Ű»‘€Â?rWŃÄ9©kç¶łó'Öěޱţ—śEřŮăĆ~śJ…6ŕ%(°Ż›BçĚńHX®Ĺá)öţrô~‘Ď?­ë[[ü˛Đ‡&ţ5¦ľŰÖb1ńś•8Ő!2cŮ×ÂŕsÖtPëTs•ďĚ´/Ą}Yoú[(ą¶éÝEł­1@bq˙SˇŕZŁ_ô~Üő ÜWşGŚȱďM­1ă6đţŹ+­öýĐ&Ýľ+ž2ůŤ_Ë]•†óŕtű>ř<üxBů,ŽÖüĂQaůč$o0ö+°C÷<ŐAâý"z:­.0&Cf^«=żž=Sóź—ó?Ď'«Ń¶¨Jż}—{¶Şő6±Ý(“ľEIĂw˛kÖă>Ęz©őCŃÁÝcvp¦łď˙ÔÁ§ĺ,MndÄÇÓĚťęń=ű4^T¶ëoVíç1´iůuĽ˙”~ľ6ň°é++Éov×ô4úŰ”ăžű;'çăôťóúţ-‰ÇŚýizß!S—žcC/Ű.6ĄŘ¶źl$» Umżhď=Ź»Ű#îÖóÝťwź„Ą˛n2Üđn‡±žÝđLj•ľŘűâ'±ZJdž?©€`:m{>ýđăOXŹBp _Ő «ŰÇýşÚÎäW˛FߤwF0žűÖ6ÖK˘Vż˛\—I˛Ľ35Ćß×rPÁ ‡*ř—omż^Ă{˝†©U85®±j…eĄ»ôŻ? Á¬ÔŹh0h™‘‘s(XkD ?˛6|k,ń|¬p˛şúLË»„ŞžĹűáµxČCëŔÉţ+Ś!Ą˝eŤhěK6čÔăÔů»ĄŚŽ?ŁGzÔA‘S˙8@ť=ĐY] PkxqÇfµ ýrđ@{°µ˝×˙é˛Yf®áQBZ˝é¤?TžEe˛c ö¦1vSlô0Wlô0÷>ímGô •/b˘Oą5íľ.˛>}îËݢÝâŔT öRČčňm]sO~1Í5ëöÇ%'‹c‚,‹ö˙+wžFě'("?řUĎi1]ĚĆt!ž=Ús펨<68şĎ^mfYUGâiÖF´‹ÍśY{…xv7u%žćâˇ>)3ďń$®ŚŤ˙‘O?¦ĎѸ÷đüŠ{ŻŔšĹĽK»ńxźx¬ ¬…_j9Ď@ś7C6¬5<‡öňŇK—‰ňf=«÷š…ôëüĄ5p€˛ÇDÁĆ_ú١ţł6ňL˘çqMâ’®ť˝Ş–×í÷VO©Ü叻,Öź¨ÇŐ˝źâcÄFi嵦K÷¬=ŕôgą/>ôŞ Äi¸öŔSbiÖŁqŠÉ†Zě˝bfď´úŕ¶˰ŚCKôUÚąŇGž¤·üťő5zíoPçaSÓ+jĎସŘŔ·ÁzfŮő(‡Bfż<ď1ŃŁ‘{YşĘóŢüŚ#sč~ĺˇŔÓĽ Gl| îÜnV~ď“b{%?ąí ůd‹|‚9•pZ»Ôźöú*łęW<…ő)V§ąË>O‹4b¬W?Š>ęŰG¬„± Ąăů7|ţE-źqiŚŁĽ§Ă÷ŕj˙/cwĘ/ĽBžúĆJL´đZ«Íč«BĎk¨żYKę^§¬kCqĂD´w†]ç¬~ «©Xĺ®»ú˙Ž_1ÎĄőÎőŰ+w8+˙‚ő›•beţQąÖC€ŕăl6ĎŰbü×ál¸s,+¸şń -TV»…"Ň´űÔă9ăĉę%ĽĎ„9âĺńZj-’†‹Ú­STźćÔi‰űÁK»‰E!ÎꋌÂÔ˛Ť")Ör¨óyj} wpî¶LgĹ3X+ŢŹŻľĽ[.#=ŇGż-zÜů‰'e‚€†9ďqcQs Iť»Űđ Uö‘Ô¸D)¦ Ľ­ÔbŞÔaX©–ó"ˇç0U^Ä0T˝O©źŁŢ®×–@˘ŇÖ«ŐY‰őÍ2ľ Ôoŕď<…^z{G{űwŹ™ęvŢżĹyo}ÚŽá[śĽPXŻr+•·ż}¸IyłW?IVę9q‚žłŃŁ”Ĺ}Ϥ8v9+Ή·qô›D>”F{ćniăsB#˛znÜEŁĆëQgŃcz­äĚžśÖSÝM8%cLşrĂpř4±ź%|ü0|É1ç"¬—Ő«Ç U™ őÚě¬x2ÎPzÍ@4Ôń 0^źĄ‡Ί˝Pyuů,ÎcĚ8î¬X.Eđ+ĐĺÖ *IńąşRpVv‚ÁôožŠĘôĂŹvŕĚł›#¶„,Ŕ"ř›Ż‡˘oü͡GĄ|oW ĎŔéc”íÚăO űj7Ű—uý ˝*E˝1Up¤ďvPÇŚPoČÔ×÷«Třtce?–2ŕô$ëĘ~Ž«˙ú —¶YŘ©6 6Ö äF°Vß) ¶őÜě†wSKťŐďB>̇ء—¤ŽŻ$$뇠o5L$h]­[ŇHĄş—jăѧ‚ üWYý€š|×psŢóĘŹć[nr-żëg¸Fś»|Ű8cŻź»ĄS]}÷±F$«E}s˘Ť#…ęFZŚ’ę32]ąn¸˙„ŕŐń.±‰Vě)䚏đˇG ^“Ş5†őßÍď—ąVpźFAMkÁy\üR X7ĺůźfe1;>%)Aě|ڇQ<ô˘HI–§ż",ăqÓ“-‚ŮcmÜ»™‚Ç F¦ź~Ýđn#SNĽ.•‚&Eś…@ŐOpBéĆ®» +lŻ$‚p%âD ÝÇŐ8ŁG‰rDŹWj żŹę­Ôłv%®Đ®ë"«WĎÚY”¸\;ů{ă(¬Üô¬cíĄjÖ 5°śß÷ňP˝poÔ©"~Ś~U7{třrQáŰŽÉřŔbµŐ †™Ô˛›ŻzĂ—Ńűµ +\ţ#ź3¤»ő_áÝ‘g•ňŢwŹ9+Ć·¬URµW'¨<äU^Sx…·vů3ąËś_beY5Ń&ň5–5ëýW L™¤^7@©âÍR÷iĽ×y zťK©já;­z˛dőşAęŐ)ʢ|g•sýµ©ô@YÔ&^T'*ߪëů ­bł/#Vźĺ•µ4‹5Ľń’ĹĘ”÷ĚÉĂşjy@wi¬łjSŐt/ .ămIYŐ¬2Ĺ]Ł.ć".ÂS«zĘ”¬µę|.ă^.Ă˝Ú8kc yö„čF9ć`FąP;| şeő9Ř…Q.Đ6v‘µé».ڞB+?€ŤďŐ@Ťę©‡'m{›}Ęh¬ąő'gŞĽzÁłšťů¸äjÖz0HŘďGńT𲆬…r—IŠ\ü?Ž<•ÜÓ•x[¬mŢ”,ý`±čM+pßa~ße9îî„ŢşŹďS„gµY—ěWáđÉPpĺ.˝wđ)Ń›—ńňíŠnöEŁŻ˙…*ۦĎr©Yő/ʆ’„†Â«•7•·ŃZRy©˙AsĎ0eî©Đőđ™*Âćy[Ś<.F?ÄÄbz˙ŻĆF–'Ë}ŤU{eRĘ\Ëé†Ĺ)1úľ?űŰŕđŘÎ_>t|©ŕ¬ú#Ö?Ëd7€ áoŻčÝ´ďř6şióţ íÔÖč&zá·Ń­»Ł%íŁo˘çţ¦5şó"LíÁo`3ĹƲ¸IoC¦†ELüHß‹k[]=HHß6LO¶ŃĎ·4Ţ7>€AÚAëú·ę ăőĐ»‘×âómţ@ă—Ëř•,…?# h,>«žB9~>†4VĆp1&I‹DÎ çŽůĹĺÚ@á9&¸ţa18ĺŤAÚŇŕőgµ‹îúŰnz¤ÉC®]8÷ŢúöŞĽj+´Ě4?y/Ó-wĆýˇŁ_†Ž?;+®Áűá­+e%{"ٲö·ĹŢÄ:?ď;UN?Cwµß¬4öQČ­đ<ţĽ“,Ľv‡9RÖ0˘źůŰ„éşŃvţ™çZăäyÖËÄôÁ„ćTôoîÓťDhI\=qVľÓňş|ÜCĆD0S&gµ‰ł>=Y®?»LĽGN]bÖw’ĄľĂĐĎ<śg9w:ôE‡qZŐý‚Â×÷Š3tz,5\ ‹Láąjíže&Ăţ˘«OŻz Şš%©}G• ?ö­5v­d,«—ńL{]7Ű‘z]E%X˙LŇăqďG¶©ë±$ŽŚ‹Üp3Ü=<íŁč+p@x/mEo÷ÚNVűŰ8űŞ®xúu«îZř¤†źAN¶uą&Óč6ÔĂOăLÍĘ6^…¦ł›yl`TŇr/Qá29óîýŤ1`ćAŹZ~T?V]rŐĐM?â°×˝ęiýô˛±Ţ¨nÁ7¶mJ/,©8w‡˝Q&.µ¶eá8•ŘÜÄQ|ř*¨9xűٵu0Ćťé„× Ëł§“=¬ŹĘ ßřŤŤiąŮÄc0˝Ö`Úł÷§™> $_Ç¦ŞŁűęšÁÉň?XInA ~cŽM¨•aą?ďą ÇŰ‚ ů–ëńĎ”ŘČ6Őeü’ÎůZÄ?Ň;uČó»¤5L7¸üŽÎEáĎŕâ(y”đ®VÓŘü_¬KrŚHä|ţqź®hëŁŮ1¤żr\®3šĽĂô:2Ü©RÎ_YĂ ŻTŁ]Qlq˘n=‘6#íĺł{~ýČ>ř“*ÔŐ>:"®űn1ů ôÇ[µá"SëóŢç.6lśWę&‰uôÉ4Vć űŃ!*‘Ő¬5T˛ú©$5yđžŢĄŻx(ch>Š©[äúť´.¬ç4«8¬w÷:˙_ÄFúâ+ ŮÍě‚Üë5DîÓĂĆŰ……âíÂUđŰ…őߏWŠÇ+¶śÇ~k,/ő+A‹ŤµŁúŞĎ ‡ôůiőş“vIaKAßgkMÄJęîźtćx VĆCĺcŇŐôsM*ÍsMxăżł"‘ĎÄő¸)úN­řKôޓڣl’Űáyś‡÷Eô@öÜ/;)±łŤRŘ©mßťŇŢ/luŠÜ(Ĺű+Í:ݵO?śA M4‚äö¶Š7WËĆ {L–mUě^±+Z"Ű3ëË*•eypŐÜď\dÝ.Zőv‰ Cą;7±,mę_p{·Ôe™]裙ąUăLňXńyt)Ţ·Ż“;Óo>ŢĄqö:uĐÇp[ťľţĚ!·OÉ=Ş{w侤ÄŢqb—€ÜácęĹĐeĄKzÇ1ÔˇZhÓÁ%_áě)LäĘüüż˛,ĹÔÁ>K Ą]_uM“>)Qun’Çű÷D—\˙Ď;)±3đNµ]PÚţ™­Ntŕ˛Őéö uşˇ¬ä:H0tŕú/é D%o´I3zbűHoýql¤‹[úöĎńÖżŃ_˛mqŤ\«o,ç?ŮxgĚMC<aäĐ×ď‡o7^=łKé&éĆëéžű‘×ÇËóC'‰cZÎRĽ:Ľá śË[˙q™8GIqďü0üióCÎę`Śqň yC÷ó˘ Ď6}Ĺɸ%â-(ľ*›¶KiÓîŔ9¨îíj5VŔ`,[Ăßg9ÎĚł±FMµîňVŚ«LOsHZ<őČůyDFb›AíAw(đ©ĂPJŇŐ˘`#ŻŕŘs‹R‰Á‘8']’.şĹ]G­•ß§?‹ýňž˝Ťîµâ)Iďçp‘ľŁś:.mQ™:Ďá-D­łr'źĹS$dÂźŞbşk&/çZktm$řän®d=ÔJjxÁDă‹3‚úI˘ČlHŻHÓXĐĹRú{*If—ň»ĽµĘmĺ›zŵwqŚËdá¤7`/ujÖF…’ŽŹSĆƇ=–uÔ|ĎĂfŤąµÇüŁ,mş‘¬­<„ďK¬Ő.Lźň©ÜáOżcDSŻ-ß¶Ń8O6(Úkí1ą“čĄPđŽ×tăKbTÍ~/ëŐńÖżVĂůĆŞP ëzđÁF•íΊKÍŐîµä/3yZÔY]…×ěb@­ćÁř„DŰ/řă)r űYHn­â.ĂŃ8¤ŰY‘A&ŤŁÝő<¨uó©çűÝĽžQÖ8U˝ŹaZdůdźsYýYîz‹Ź;ż˛GGËC‡g ŽTŻš^㬾ih…Bí&űsÁď—‹öţ  xśż—`~Q&€„ĚzfÜ÷JŐ˝Rń¬’!îîßdŕݧgĄÜÎŰĂG:uHD„<«ôhó7ďGŹD/g«#CY{)á÷˘8ö>¬‰Ścí5Xý,r§Y«92ő¬AOǨx2ÎęŐčŮtĺŐ6‘†Éý @µĘěMçŮI¨+Gâďežúb|˙ô«Žę§MŠő6Š›Źň,”Ęş$¦3eáŔ]Ś»ŢC®ŠŽĘÂąAş¨ćľ]Ö‹™ŔҎʲ–2˘ ă™ŔňŽĘ˛ÖŕÇÝPVźĂµ”ß=y–+i ±ŠŁbíj»í©-v‰uÂŹĆLM…©Yjť©)m·~~¦z§i»šµS6°Ż1‚őBÓĽf2f©ÖIż¨ZwÜE$Źâeođ†_`8Ă1ľ˙Rü I®]«Ő5;óőŢoĎ%rwó‹ä‘ŻE’:ű‘Ş)ÇúçĄĺZ.x×Ę´hˇ]1^ÓI‹9äDZľĚů9˝ř}–^\—áŢ9řD+“Ę|÷ç«cL'µZ RCX~ű±EUŻŽ±ńůyĘBÁš×"D6°ëĘý©“Ęü0sMő ŃV l ·†ş#b<ËçÉŁĺĎMĐ–T"Đ]डP ^D· źC¨ÎMRÄi¨DeSqŞÂç÷Ż ć´}!.<é9Y§¨üXĺ J`2wať'—Áo¦g|¤ź[Ű,ŽRřA…ś†gaČÓDˇyGy&˙pwů§‹C"q\â÷Ýô“!şńŁEňľňŢćö3•ăi훿ßµYs<ćmŮ›*”´c íçzEôľâ¸Lv ďÔđJIrţKTĎR Ă*ů< q:%yĘ’yâřÔÚŘJ*Ľ«/Sص+2en…<Öqn…óCč %[V’yvÖ= 4·Ţzćfžy\±Qź ŚMT<µJÖÚF÷*ńő$qşź*]î®dZŰ.Ć ÚŮÍá 9ÉKĎ…Čłś» ¶,ńѤËD¬Á'g:pĆç˘\Z,§ĂăÔ źí^%×Ňáî!Ş{ă‹bńÓJuîŞ`ýŰzşúŠA¶\úQN6ÝĆAĺĆĆQ#ÄÇŞ3Ű틿ŕ*ă\9Y剪…<-ÚÔş2śżc)/ŐwRëçÓ¢ćLv.:I|‹Żr—‚ęČg –Ůć°¸ «)…Ýa«#ŞnůXţ`5ŕůâ™*Ąm?*ĆcK—ZĽĐÍíÝ8ý"An¦Ž×_AŞóőOÚ6΄%/-ß¶WŹţ.gŚ×OŇf˘G…ç7*śúľüÖEűŰEü=,„‡Q<¦ÎݨިÇĘŹó×|věOă•`CLFIśň­ł*Eń‰ýŐF”Ěs˛÷Xő *5ýƕ ş˙|ÖK¬VGH“ĹďÝ|äL1˘U¶ŕRü ßa^ú1/áŘcúä Ä’2<«ćőśÓ/Ă˝˛$ 2FźŤS8nUć®ĐozŽ瞺˜Őß˙Ż’jć$ýžűűťŐ8Ŕ*Âpߣ~´ _ýď>¦‡ňSčňHţVÝŁ< R7Ő˝7ů$áĚůť ¦%ŹoN÷ĽE ~ űÖÉĂśÉę[W ¸xĺ‘~0D„°† Oţ k2¬ł j]q{ô/wŰeőY'˛j"˘áĹGk›t!‰Ź|‘řýk?©mIń.P<ŚřŃrŢDy ݦĽő vń]č\/Źqđů˛ÍÚĐІÍćY#sŕ˙Y)úŔµú×WkąsbśŔŤ&ôél1Ľźż U§´i˙şKÜY‡;|BŢ?lLŠzCj”%ěüľĐXÂ.Wň}\ą„ýÓBî,›>âď$m¤ľ´M+żŹçxč×4ŞĹ~§üľnÜ «uvŚ>;eÝN~\3××TëGÁ`§ŹZÍ‹fďç…«îzµšölŁî¨'‘˝ˆŞ×Ęm°â¨ť˛‘Ęż‡<ô˘ř# âƦʙą†ĆLvÇŤ™bŘř>Öuľźű(ě_oJxî,^«f(%«TÚ´8·•$)_ ň{ńÄ÷ä꺬:a/I›/¨_č-—~Śćă-ŤOTš .łD$­Ëű•wŽ“¦Äˇ ă}Q‹ÇgŔK4…–€~Hĺ pw¦đŕZĆ÷•Í©©BžBŮń}ĺ|_g?s¨í Ű®¶¸%¸âűčź1¨1°öě敞YMú´ÇuüŘ´Öżµ\÷Ł8(ĆţÝl.browżg®ôßŔ:5Á—çŢ)ĹX)śĐvţZ¶9CxśĂĄť|×d8¬% ÖzYXű—_°•µť‚µíböR|tÄŁá3:Y-ňxŢK:9ĺM|Ń8˙«Q__Ôq ß‚/§ÉŃő'ŻF]hŤ9ťĽ´—őç.h< î˛#tb(«EE¦Ýü*O$H—@ń*ď`ó‹c;›‡Ř'¶z2×p : „_Y‘ď·EŻd/&°°ă<„µ”µ]ŘÎ Ôtś‡°Ö tĎv¨7¤«×Ç'ăÝ{”¬˝RŁ ;›mqďQ={őěyŻšs6QěU={ôJ:»¨äŮŻšsk6]ZKysktź1+;ę’7çJ]†¶˘%¬y¬ T&bÁ{ÝČ1#Ô,Ěď Ç,ÍD¬mŻáóĺF˘€Ň–Zj©ĹJ@TD¤QQß a1„-ůťĺŢ·Lf‚|˙źżżß·dŢ»ďÜ{Ď=÷ÜsÎ=Ën9ÔčvCŐŚx>04L0˘ŕ1„UqFŹGÇűĂ”üRZ-mLýn––FOŮ›ň­‡¤xŁkŽx“zvk›őŢ;±VźýpŔ—r@ŕťd2#;,O·¶bşâ» •óŢČVšÔ9?ŃŁCĚ×ÍiĽđbl ňAásŮŻ»ÉÉňydőŕiYó>§&Gl-ŕ_ÝÝ삿h_Żóź¸)˙É‹e^#*Ňęş™ˇ(ëS„BůŰT,‘Ĺ_˘8j(­çAą‡ňëĺźn)ĺ8xkĄßP÷˘9şľSĄ iľŠU\ŇirT.ŠVÖĘtĽ©zť€>Ë•jüíP ‹6“›bMµD_í%»IŮ›˛S}â1Te‡%CU—ɶ˘Ęn:PB“ň$xw¨÷k_¤ěôźP¨äŘô_±V}ĎN' YWŐťe 2ö2˝ü˛,(pˇ—[OŮ)$2CMg®8,F¬j@<ł×PŽŻ¨ę«a®b•ĚđR±Z†±VőRáÔIxO)şĄŞ©†LSţ1Iţ~PJN¨ýÜč%×W™Úź‘UMÍŞĐĺϬĺmĎbUÔ×ä$§¬ňďŕ@K‘¶já =" ÚZłéZéüÄÖĄ”ŞDN‚ŻĘţOŃ?ü~éÎQĚQ±-v {'Ę­ŔÖ$čQ&đóäj“aSîĆĘ˝ďS^$Ş}€÷łŃĘ5˙ě.m2łŽňŔ|4‚(®GÇŁLŞ_Ú2^Ś–dňyµ¬ŘĆŽFó·ŕN;ˇĽAµf>V6őŠWúiZ馔łˇŤ9Š –¶eV ‰Ą xî ąQß1†’ő˘Đšľ‹–°2=Úoóŕ•d¨¸ö슡oĄčâç¶ň_mţÖ%[üq+Ô´ç"™Ť4_Đ<ÜĂĽë($NúóŹĚĂ‹čĘÍŢnţł•{­•XĚCvTµ8F~Ú<ŹËÉUžÁË÷pY©t5ˇd2 _ő †Ă®r ĽZľ¤Ëźfšń|ř€óŽĂ”* ô"ąĚććm‹—‘Óľ‹µf˙9]ÝŰíÉU-ŕ[ř>«z› (w=%—«hyýPŠaŃ1âµňî{˝ŻTí>ĽăTA%Ňą®‚..ľ«KŐNŔ)TE]˝ţÜA¸gÉ‚8q4rŚÎt7 řGeçIl–$±Ýşd«˙Sö^J?еiĺG%FU/$>@$ý „Ůk­y;IĘý,IÓßbäŹ]´˙-ýÓŇSÉĎ=ĘÓdgX@vá+Q‰ĺłR?˛.˙Îą>őťçV¦ši°ô˛DéMHľ!—SµR»ň2%gôĺţ2O řf‰ĺţ Ź—;C ę¦.ňn °––›ŹÖ×iČÓ‘”`űUbąuĺţk$â.Zî.yˇËýŤ“—{q‡Ëťq‘ĺü°\nüŹ˝§Ó0…M‚PYż8ŕËßÍ řqB¬8´‚Ö>x‡vË#"_ŤSz'sýŚ€Ď·[ĂXéÔzáAżN™ýuŁ užË…ąçŮ®éŮn?¬żt,źômn(‚¶ĺ2‚ldľ49‚„ß3›úĂ ¨ÇCmmę‹Ů\AŠę*V`öŤÔ î¶¶…ĂTä Ú÷ Ý(°„C;©®b™ô0YCÂĂę*?Ä t·ÖNÔ}UdŞó\­öĘ×Ăčsx~ąŹ`.kŐ+:A2+Qď&F<‚0ž¸[Ä_ćâZŚĐxLŐ^]ŔG+F©±=Ó±ţ-€Ú™w+üůZ]7ŃDhy{ Hxˇ;íaŞüzU›’I)”QĎĽ;U"5CëM YŞ*4ZPěG=d«žtŇĘ7f‡®ü®l^ů ÝĂŻ| ŠîWD»$”.{PîstAEůÔ±ăÁ|žžoŔë‘‘ ¦uśŤĎF%řţmçM×›űzČť ň} ý ěW_ąńÔÚŤˇBŽĂ‚@EcŠxŠň\]ŕ XŰÓ°áźţÎ@ˇjş¬OPžž'÷Ď6ďéĐvÚ‰ř;x•zĆşpÖX\tVź=ať?ú4Ë/Ážg 3É«µV_AąěŹ˝/iń›Ă˛çHţ Ý5ťPŁŔŃâŤčS®Š·đ&2ßl*˝¶ÖJš Ś+`<ę`t›xćtdY(ř]‹Ž…I©2jEXÚdÝű&ř›@ĚKŮ‹2či_‘zO0ć¤Ńźš"ľOqöâEŇ6]ÂńxQů®*I —čŤDł´Ż!\HJŹ÷üNźb´µş3¦Ű©!‰gÉ/Śý Ő/…avc8#´¸Ů.—©s@j}iŤn66e¸l ”ţ\ŻD6Qĺ"*O8ktN;wé‚T&Z%Ü6˝LާäëÇ·2čî·TĎxĐň©fG˛ńJŕśk „¬˛T1ÚâÔşűMkŕA2«!G¦guG¦‡Ţ7:ÉŽ~ŠŮc)ţF,4Yúň,´ľ&@GßoT «ŻĆŽž%ŹÍEä±ÉˇjUzyE±]_ gÄ4¸­hőO^F܆»wč5hĺ*=ňźČ«ä!HÓĂ­w~ŻęŇ-/·Oba¬…KE·ČÂąg5ŽSű 7½í ç€ ÝW_čÓ—´ĐG¦ĘH@e˘-XŮ$%Ě€/e·ä_j>Wú¶6Ĺ<%tŠç4Ô窠Óe0č»lč.Ô ÝÓeQ/=—eżňÂF©Qr7Řmb«Â_ßÖ1{- Ă^żqŔĐ®¤ůŇěÓlĘČXXűéay}iť‰™Ë„µ _I†özË<ń¬zp·˝»S…<ćĐCńĆ{˘©Q>*^™i0űŇn«LUĄ††ÝZG;ÜZĆĄĹ­ă0zŞÝT¨Žş-MRĘ“µămu\ä\/Źż„ĽrM¤×É˙ŽLĺŁ_ŇMřís˝¨?˝ŘÁý×KúőAűD/ę†É{‹˝ťWűó®bĽ•~ŞŐ±éxűö’đöţdކÓńÖW)ďŻáí7]"ăměżĂŢ Č×-«"O>ţßú­VĽ˝ÝÁ§ż¨ß¨…ÁŰüU·•Ś·Ś·ĺŚ·Ú°xS/ o‹'ÁŽjmб5D)ŞaëćΑ±uő‹aŻĺë]˙Š<ĺ#«ÂşlËOuđé?V…˝$•źNůbkckI`1qÂY­Pł skÂbî{‰9!ç$Ig:>'%ž&š(nç÷:G(ĺ#5FuP+î“éwĆa^Wżţ—~_‡÷tđićżt—ű08Lxq¸q¸€±WIq „-YíVWXѸ é,Q”˙2©­1µőĆ  ¸ż©|ęűFÝE=ݡşi1ß-Őwŕ>ő»ď)ŽçP ™Ű8ŤůĄý«Q.w'íř)–ÎŰŻG:s»‰SŃcŽ›zű:˙-5†Ş\‰—¤rÝ€ ˛żGPdĺetp6m S Jé‰gŘÂц-Ľç^wŢël`Ň.á»Ö;´¸«Ô HíóܳǨ°ĚAÓ±˘™ —·ţň8—šůŚ0šy}®AV75Ś‘đĂVA]\1KhĚĄă:$ŕÓtúy02—u“xě˙3đ¸Áý=(‰Ć˛Űd–r1yĺźaä•Ű䡦łrĽţ¸ ½©'Ö˘ţé^Ď“ĺxđË'ĐŤĆ-ǬůzNŠ żÇnn¨vŤ±•ý·¦!řţŁÉHă?‰— ClLĽ;döÖ»&Ó°2ŕűëE ÜÂg°ŢÁTÜmń}ßů?TG‰+ŬŇMŢ<ή««XŁ˝]§=[Ż=ÓJőU¬ĐţZ©ýU«ýµDű ·3ńHZVüËTźs˛Ú#ťę~jáúźC¨ţ§'ž˙₞ęŻÇân™r^ÖýăçíkZqwŇG ď…ś-ę‹°“çđz/NFń|íÓźăĺ¦çŐĂg^¬ˇnUĽŕ©#Íką€ńŻĹy˙ žfĂ:Q>ĚÄ’¨óhü`#%P…í¦t¦úŠwę›Ď5’R·˘—‰‰/§íŰ_ŽŃ÷m·1˛¶ăţľS; ®Ćš|4;ośÍbIĐöíh;·]=ăÇb_•´Ëţôą^ňńńšL,{˝=ýů^Ľż 7y𥠡ţ|˘>cę=8ĺAźXdńŞOá¤SŇbcŇâýéčÍ®&ăŽ˙…2.Áż]KÓ¤ ąqę ŁŕÍ}qĘ´Xel|ĚÔ™ ß=1ŠsČľ6’J Tíä:ž.óŻMgYC*ÚáWsF˛>†[ćďQˇ‘?q_ę…‚Ů> jcPî·W>—Âk˛ôp ËLóß"+Ši;•§Vň9ŹÁ´kÔŢw#r.ߏ'&§ěőŹJÂlňéM1tM|ŔWĆô7~IµĽ¸z‚K=·RQŻeä˲\żďóĦ~4Ó‰ŐÁ^Ăwţ Ë D“îÎŐ/M/ýCkŃ7Ť3ô.\¸k:aôŁöAîČĐ’HĽżÜ=@F/˙¸Ţ …c0ő€»¦ˇ1ä<ô¬Ţ2g|Ă>ôđ¤›5öwKŹă |÷ ľ} ’`¨:Ą:˙ťÖŰ?¶—RÝ+šâĚáoĄç×r«±6˙´ľJµŤŢöĄ'IţiÉĆö~†Ă퉒“EŽ©ÁĂLŢgčč[őĄĽç e>]$ŽěŹNą«­•ź!ŤĄŻFJIUj–2.kQTPS¬ČăőźhSVŠś˛ŻĹ…ŕx7…Ţh­üV¬P6"słŻ˛”ä±jŚüÁĽś«Ś˙š˘ą1RZ@{Ł2”GńúwŃąćV2†Â^9D/ýü%:ä±µŞk”)F9Źf&ˇ-Ňútľ†îNá›Ëô·×P_Ţ—`¨äşÄ4 DPŘÖ*g›T9»“ěo­\‡ç®Â$:ÇđDZJ™/!%Ź1\=ű퇭5ôŕućÎŐÚóܵwútŢ‹~Zc$ł¬Ľu‰ˇ¦IÍ%ˇ ŚRoܬ=†Kúѱbű˛yŰÎk©ZÄLŰÝ«xŕÁ'÷&+S“RÓWúÓŹúőÖůVx5«kŞc…µ:Öŕ\«¨Ě]ĺ·Ż8˝ÇďXyzŻźQĚŕÇTdh‚ M‹‡QBkT¨Ĺ¬ë÷‘ůѱágR«~#]ŰY‹ŚŘőÔVăh«˘ô_ű%7ä‘üŹŻFCđFĎ»“ĄU`퇔5z\›¸çÖ/iÜ·á¸?§)rőŁ‘ăLëĄÜ×ŰĎ íů¦Pd!-Đ/K[pgŃvŘo§‡Ëü'OÉëFÎ!壿 o)Ő_×FV˝Ç>%ŁÉÚ)îSd™bŽňů˘ô˙Z„Dc†KčČÁ |Żţm‘ć ŔŮ-íX ÄQ)|vkŞT‘ŇYj);Kř\–s8á­Gc_kę%L KűBőÔ“‘ÄšĽŇ^+F°öIŽßâÓ†ľu("鑹dQ8ą‡|)®±Ú‡,Đ‹b ¤Á-Pj¨VÓ }`0ĹDikĆ §G‡’đÇeC1˙ĺÜ8çÍ燨‹mŁ)ô„ă9gzâp'ZٵđKŚ%j0_%Ż—sĹ7Á÷9íůMöŁD)}5vi·ä<)Cň"íű6µG ň*÷A~č±oĄµ?XŔ—PŹwv…}“şpˇą5š¨"Ť^Sú&Ń:ŽŤ•ńŕ=Íki ř<_ÉË áwpőôoôřĐz`řÁgŰ]6OďŔJŘ3ĐAÍśőę{JdL|ş°š9ëÔ|ş|a5sÖ¨é EPclóčľý):ᆱxX`±Ż2q¨R' â"z˝Ä]řŤŃ—ÂëÇßţĘŁó)żLýGÜ[ä3Őę©ýZ3(®çm°NĘi7ü†ŞŇ)‡ÔpĆí\qqĹýŠcO$®8‹°°?,WÄ€«=ôDd,˙F1uŽ%îVżôGđÓúÚ±Äb+ü"üs·pŞHV;¸DŃô6‘Řš)^Ţ0u‹–ÔŢ˙+i>ř9<č…_Łwžž$}ł0äň?ŰŁ`F3s×ük7'?çřÖ}ŤÓJĘşŞíÔ®¬Ł/-şô{ŘZů>Ş Ęa’~©µ¶¶ý0Š|"K!Č’$ Öű NˇtőĘřrPÓ÷X+{8ążŞÍs?V…K+GI| i?{06ĺm8VG±@˝”ňŢR•şCä¸ÝHâß%Ł—2®·Ô§ş§ž)ë2ëšÔµîßdú9áŹßľ‰Ü”Ť|îA”fk("ů ĚG›zfÖ˙¬ľQQ<ާZ¨ŢÓ)¦ĚáôóńŤsV§GîWţ¬”Í©jö,ćaWŤ×óOÂ×çTíő°żTQý.mNp7†™6‡GĽĂ]óĽŔ–c·2jNݨ9„ŕQĺS1_j÷ ÉFˇ{»µćşhN*‘LÝ­Ľµ‰ÝĎ+7P–‰8ěń‰ţŘh§÷şU#=eÎO8qJłz4GZŻÜ]ŃbUMnĄ»Ş{ZůÝ|ˇ:U˝l’FkúÄ4 .i%÷Ôš…2nđ?a7&ŻÖZsu4v쬮˘ż¨ˇw‹ydj`äÍŰ€;Ž)ţ'pfÁ$ÎQ‰±č:‡{ą‡ŰĐ(8 ć^0 ĚZÓS$‡ŞĄIîµVý@łŢH?XOČOßáű7z«FŐUÄŠA7üŠŔĘüˇ,+ŔG^l˘űV˘|D<–şyCĹ7Š}‡Ś˝a©bó†Ó÷q¤x~mbă-—4ÉůŃ!ć<ćSˇë¸w. ÜŻÜ’ â ˝:ř\đĎ˝!•«źD#O˝¸ŻM9–wG‡Ö´čhhcÎ×çiľk$ŢF±ćtI Î Pś«¨ź˙. [kÎ3ç#äC.ĽyvÖź+ $:o±˘s`śmJ<ťÂŘŕŽFĂJ:9Xc9Śŕ? ‰ÄoąM&㫳7ĹsŤoÚ°ń}ýŰ9*7>`§ă_O1Vr+÷ u–{¦ ]72vü¤Qw)S{“u‡?-N±7âżńdŇÄ«Ń\P!<—áŘ_3 B¨O$Q¬%Ţ»űG”,]Ŕ*ąŇS맦€_‘Ą‡Ţ’==üĹ[:tľ&'\zß‘˘Z2Á+gE§{Ź»“MĚ.ż‡1ˇóÜAěä_Nx\iŰ l,;ÂúĄkâU8Q« 7·µ˝Ő+úů·ź|ÁZą”TůCGdŕ…lwr ‹žÔÍdëÁb¤Ęíj @MÝn­Ľ®«ÉŚ5 ą±Ň…ßkČUŇć Çî)ëy7hĽ[4#Źb“Ü3ұ<ážP˝żÉŃz«5xW«©ž" ­ţ2I‚ş]ĚHŚö…ÖĘ”{݉|Î=R±ŞfÝ0Ňprý–âQ2Ä­.Eźdľ'ĽŞáYńÍxV,ÄőŢÍ©TS@ydc&Žří$CI*öó†§oâgŽ…MŐŤň’łşI^r˛”Cę›ß±ĐZSĂy2)š+ŃÎŔů˝ä….!¨u 0Ţ×ńS|v(ŤűÔfl‚2m(*ŐcŃn6vz»Ě<Ę@ăşÓ”gš(i2]óPÁrŔár…Ţa:BűjřĚ·+ťâz>o;Ý"Ř—Č‹ŐŢŘZt€É&5­¶:Ěń˛mé@‚¤»bŞ’˛“ŁŚÔ~gřĄ’¬n2cŔwçzŮô}9b=ĄUú›|e‚ř1F·7˝÷Ě4Üđý–čF[jhtű ąÔÁ„óÇr(Áiŕz×1÷űBżŠ3Ü^ř&ɫξ’mµdÇ ţ!UiÝ`~×[µn^ÄcęŹsŞÚĽRşżd<+p8ĘFŘ›ďŇ•©‰|JÇô(wˇÉtWĆ%"YxńJËW˙5© ?C—Ťă{,Ů©[9âqRE‘—ó㙤«^0q¦B Ťj´®µV®Bţ®ô?*3{­’.J5€Č>>Ť-t#cýé ¤ÝÖEł{Í'ŞŢěvUL˛H_ÄŘ@´´ř9D4ŻäBîXâRß˙ĄˇŘO¬…=} gń"‡’©C±SţĐ Ô?†¨Ś™úIĽe» SĽ2źČúăîó‘°uú§źĘÓô’¶ěÜóč9…Łúź˘·B »úVľZůň—ŇÉ…ř…Ĺ>?×.€SĄČ††ë…Ľo"Ěúë»ůź=üĎ~ţç ôŽ:ŔŔÔí (ŢâF”-*ŐnÄĽ¶;ü\ăHÔű<8@î|ěh/®ęŰävg_X\yTćAđ“÷™zö&cˇŃ¤ţúqJ·ńĘă±uöő<˘Mâ|ťĆ˛]T°Ö\÷÷ĆŤTWߤEU‹ 4w`r|ßFŠqŇ] úN~÷›ľ˛Š“{ÜőĂ[ ߨ×sLńxZ›¤‹V˛ś&ĺ üČuŁVô >şçz\žâľç©-… ˇ§/ŔVWÚ$ĘRĂݦĽŽ7Ä‚N<@=ŘG|IWçÝđ0ť‹×DRŹ}Ĺ‚Ťgźŕ¶čĎrŚÂö·pB–_‰.ɂծvHÄM0ˇo/éë7-řtËłá"–šEâżt’µz•ٱ¨0oĂČÉĹ+5)›…ĂńB´xTvłAä¦óŃó(…ţI”k›ĆVđëŔ*‹V— &•ş{%šä¶Ť7˘Üć]ŹĂúč†ÝŐ։ݚűQęiąĹžíK’qŹ«F鼡ß%ó†Bč>řës¦Ű¤ÝT–uבPáoLڏPj‹W‘’¶­ÂĚ”Ř(¶Ľ®]áŐ G%4qďd»Č˛aţOXĄŕŁ8¶‘‰Ćyf!T8ó|K;€Wa“*“2ć&B›ćbúó!2o¦!Ż'¦|a46SôI»" ÷C°ń(}˙.ĎMJ‰~”iG¶ň(Ärś,^Ѩ”!¬-ćçĐąŃ$¸h)8Ăkąľ¬É—°.ćRid‚ô“,ţË7i\Ťą¨.ŔU*Mă;y=†ŠoýBË;ÜńxBę·JP«ÔĂ?i‹ŔŹ–^#2ęĆ„b¬™/ş’Č˙‚iáWr‹%üJ>g1Żd˘a%—^ňJîĽËFGLe·Ű“W]’BöGuďqmLkÓvŔ­IŔ·\č}ä§ĆfíÇzÝuŤŹŠ'wD»lľ(±a YÜ÷A–~Bł_zÄ Ž÷ęÜÔŻC@U ¨kÎjł_t^›}!bň%ŽŐŇÁ ŘÁ X8×÷Ä­ŠxÇcť W6‚Ú-Öŕ% ®>"o›ÍK?Âř Ű/˛üŹ#ĐŐtĺůű/$O03Ľ‹Oş!¤î-´đeÉů¸·(Î;ćgźÓę‹kgťäD4&{ÖňľhĎzęe´gM {–n0áżÄś ¤})ăćŕNÜC)ä®YČŮ–«ćĹĘ“Xáď)÷|ď犻OQ~ýšLLF©”§9ˇż·V~‡¶ł´rţŽo%ž˙UJĆőÖ‘“Ľć(YŮlZ:4ÔŇľî¤ÁݰPćgt2)[PYžUŽf­Łqč¶ŇíöSm~N7A·¨qľú(TŹü”†„#Şćˇë”ňąNQYG_S›ďzÓT>Dn% XxÖľ™tŞm¤Sí÷Ű÷ť*·ĄtF‹B čĎâß<0©PíPjŘ pŘo?ČTTř!µ·Öڇń§lö˝Kˇ&ÖĄ›ń.©f©Ť 壱.Ýš˛Ó7w ¨i[n˘ÓűĆŹńŢ&‹_ÇÔśŹ’Yh®xÖ‚“ˇ'~.xÎkĎĎ—ž‡'ĂkQŔ.»ÉZ˝j‹˙Qióş‹P(ĐŢŐ<&Îf­D×hźý`”ĎqŘâŁb†Q"‹Sz} †¬űXR`ăY›9=x/¨ÓyµĘŘr±xOPúµŚŢĘČ^ţ§čňó¬y±Ő i_ah Ŕćę? ľx–Żj´+j«Pg2Ńň˝I]ZTW3D»(Ŕ" •sbŚźňköZâ›»;ĘO¶VŢŐ˵í€Uý jŮ7ł91^HŘCzŁSJą2.YÉHň§ŻVĆ őZÉâO_ŽiŽeJF/úJ‘ĄÉ±‚óq"Í/póĐ ±nląv §ď›×łz›mv©{Ś2öÄ [ÜóW!~ t×+číXţkű2¤Úyćlx=ŃöăX«ţg{1ćőóÁźFĆyĂ`ÎÎ`Ά~zę@č§Ćůʉ~xOôž(­sxşăJÔ‹p)wÝâ]®ŘWa¬ ť¤ľŢ›xÉ‘sÂ^e­Ü‡Nł)÷őŐŇŔ|t3­×÷őćz"‚•ŐR˛™ČfbjŃüŠxgššľÎ:SˇKŰkőüs’9ő'‰¬ý8^“™ż ÎOĐ8ä˘č1ĺ&˘>!ş:Qř €©f,=Ă®ÖZŕ+΀Ż;Żf˘ćĎëŞ%iëîÁěłr‡ë”Żďh}3ëźn‡VËn¶VsŠůŐ€rĆ´0üîÉʱ#yÓĽmdŠ/ĽŻĹ4D u‡ZdÄTĽ0ü$N$ř9*ó©uÖĘ‚âëK‰=5óĎSśUé·ÚT´,śÁ¨ł(!-A?N9}ŐđE8HkőĂh`¤|žK[ąáś¬ŐiXSÆŐ®$űś‘úâúV‘j®şIpűŹĘňˇŢç"âGa¬9ÖŇq…€ÜkľŰmŤg§ĎôŐţg‰ž!–1˝”©˝ý|ńyHeÄšŹCťÚKą(y=&ĚOß$hĽ% ZŹŐf"¸6-pQhśâXŃę`'t˙ÁĹmÂú˙‘áĆoĚŹ ĂâÎ7›"şýˇ5Q]•Ź;e„V˝›%¬Âo4·ţ\Ű›2Ą°Ě1ˇŻMÜnogŮčÓÄôźËa‰~Ůbަť@Őł.|aňi»¦S¨úÚŘ©vćHÖoÄ«_&Áń[3Ü^—·5CNĎhŽ˘ÄÔ‚ż<§ q1Öš~—Iˇ)esÝ<Ť1ŚÇ21´żčg e^u™t­•(r0źŤDEiůäÄŃAnˇzĚyůŁň‰µ„w«EŽńŘś'÷N$úŮ®:ůZjZ,_ůŹű.Â&ďÇZz=äb„zvî6¶§“NNęăVÄi“ !†sčRySěOĄ…éć·3á¬>zQn‚ńOĐG°ü’ĘN3©¬˝$ĘŢ×Kµśľ‡áećYCź)YGĂαďf$۲oL]í»¤® °« h?  ZDO»»ČŞ–‘čéD®,ś‘+‘}óĎ9ÔČĄ(áąÇ¬ ýŘŚGsĄH‘+ˇYUí™4]«čŰfkç‹m›îąŰ6”Y]›yu9‘wŘÄć)é†/çâ›gp¶î ´ř$ÎźžLE(·{"gđk ˘eTqUar?ľ_cٱßj×C'ôʸśĽ+™Ö~ŮéRhí|w’»ośbů›Bt:Ţc¦ă.‰ŽWtŹ Ŕ˙rŇDÜ—uąéŞWfë„ŮÎďüť0ß~¤ü?Y¦^Â8Y˛çţě`˛ôq„úYncH}D&,ë-Ě€ĽęC™yĐBOč;$ ޤIŽÖ’0˙Č·† ű±±Ĺi\ßt’Ć~Q.QťL™@út3š"ŞŻ8©©Ho˘‚‰X}Ą«´›·¦~ë ąµxŐ±|´Ľ –+Ż#Žy˝×¸ŕK'PtĄx*xCc FwşXŚÁ€G~^ŚÁÇG^§o2/c°@­íŔĘĚČ1ŰĹ2–üÄ‚â哇ܠ“µu<ő-ކµDśŽż¤]:5ťŰŽq.ě&ĎJóÝ×¶) żzÓô‡ňćČĺ[ŽěPN™Ô’‡:ŕGö)§[ 5ĄŻíGv+§űeőät™”O$#!lŽüFŰý9ďy“i‰°Ë.pË/‰Oµt´}Ó"ÂÚ/L.pĎ\ś5çFáÖüGPÜß>ź_s(ÓÉÇMĆiM&hĎ2dă/ZLđdfáČn6ťžKŘáéůÁô‹žžäić}0ňÚů§wpz–ë§gJ0ěÓ/~z˙R@ąÜ^lš @ëţT{hiˇF+xź%‡ěł».iźýü1řźăT¨ž<ę9ô†3Ž‚îOśłč—ähźy—D+•±¬ Á)?š čŤ:r%MëŚ}~XkĚöň[śô¤NÍmiŐިáMXÇhtkĚÇĄ^ËŽ\éđ™)Íő7űsQ×Ę|&ĘÜ8őηd±°S§[5żŢr‹©¸Ű¬_P˝®Ó9ełݰEöž+ŁLfOPŐřóK!U +BóŻ~Ţę„ă}y‘qĽO®×ý'÷¶µâ( #pőDp÷žFĚWĘ‹">V†ŔÚ@ĺđ}[F/s.vőÜFPç)‹¨ţ,Ž27ˇŞ9ŕ«®Ç;޵X ęŹIŃÖŞŹĐ‘ýĚ›¸—â€É_†é@Đń9vx´çö˛(/MÜŘ~ç›boĐ.P»Á<ĘDWúQżťj­Â+%šňuÁ„R›0łFŐëQTšârň×´ůZ:Ykć"@˘ŘCşÉř)ś€Ć÷UWži5'Ly ŚH-ő'äˇëŠEźŃ¤hÇŤŚćş«ÚľîiÁ[Ő7ŹbĽP mň‡ádמý˙•“%!cˇ˝lżDOőç1%Ga¤.Em!Ľ%ľĺőň¬[ĐÖ*ă)őýíŹF’ýăB}żÄ«żn:ĺţvfÚkçůŁŻ-ÚZąy±ÍŃÉđZq$ÂŇŠ76ÇR*Ä!#Vx“ż^/#ˇß©—_ ©ÖYB’ď(ޞ˙ QVSžĘgđ¶áP­b§‚(KéÍ:zňKĂf#˙¤ůţ)Šňź)‚Ɖ)ĎX§çŤzĺÍ×óš-ťľťyfös!Srî˙0ŐŹÚOőp[Vj)|—Ň“QÖQZšäŘx {rÖP(WŐ¬s$HĎăEŘŕŐĐ|\ŔžţjÁą?ýçáY:6ęc8ęŕiż<ŻŐ* |#şptôdJŁ5RüúÜ"‘®Ĺ–Z¶Sß‹pĽ+O¶r‚!e~µÓ3KńM÷Ĺ ⋯OĐŁ”ĹX± ˝_¤~đK©ü!}•"żú}e]şk}c3ŕţJŮLH&ys#%›˘á(şˇ=Žľű q„ă :ĐZRC߬ÓrË}ŻkéÄ©-ędţFëçĆ0ýĂĐ2ÓÔۤCĺM óźşU“5ň ŇѰźÔ¦ qrK¨Y`Ěi–/iţçiţŐáć?Ĺ<˙3ć6Âüj7˙łć¦Ýü϶›˙}ţ͆ů7ć ç˙Ďźżŕ×Ás‚#Uň|R?>Gb&3-Ď1˝‡–źZ ňg¬µ“á*)ä« 0’;X‚Ýç ßw‚¶mĐ©?k¦ł'x'@ Í+bŇd~׆×Ěâ^Uěń¸P`ĺvrťť$?=Än=Ď…|(Z4TăpŇĂ?w˘UKp9Żťëue‘­?ČdY<đG˙Př­­z}fyţťE|˘ýłôŐ!@\sÄ#v1˝ÄQµô¬”îŻjÔ±űgŚo®EéÚ¸lsŐOď”f!vö!(ó&řîŚň]ÍúĆ|t¶á±VFĂlGĚ´VžĹßYŢw0ŰŽ˝ŢúĘ|<đ¬Ż<'^ÔxtúyQôÖdđŤÚEąIú#xIó?$ sEUĄ5€îćqwž©#fz&ŤČ˛VabWúQµ˙ç´ł>x9&|u5UâZŁŰyeůSőźwaĘŻDg˙ÔX*€ě!ňMŘoăŚ菔»>ţ÷ô ”°Đ{” Â|š¬Żě‚N˘ŽÓ‡ô4ŃĺźÜ…ŠŞ·‘>›ń$௡-"¬ć[w…ńĐ×d|î…‘0Ş[ĂŐ“ŢÔ‚‹űę|­žôĘ–ĐzŇ{‘¶đr+^)OTJPsîg ….ŮĹúFçQÖĘý¸X1ÖĘSäíá+ëW5oŤň;vX«Žˇ°°ÇW‡·¨ť»n ŚŠJ­óŰ·Yç?….];Eś'1Řc‹sUśőŤhß÷Q]í«ROx4ôzĂĺË€ŹłÚ°<,ę¶á âwă2† ‹ĄČObUĽţg0xÍ˙änJ+ „öÖeLhŹX‘Ь•ˇ§ĎkÚ3ŇP„T–cÎĽł wŚ“«B¸ßEN[Ts:ř3z@§ÇŁž49†ŁŘ]m)#3´üÂ?â—ZZÉË~ VĹßn†o«š˝—‰H­¦Ňĺ*b`z#ÁÇáÇ1´„ÂŃFÉúwŔţ `žE±k,(‚ż¶Öě˘#Đ(ę_o•U2Ń‹çćă8ô…Ĺ#~UŮŞvbELLĆvĎĺÂEíUcí&ë Še…G/öŐ˘“8_5݉±$BňĆâOCY5´ę=ÇŮ*© =&)›BáńÂ9?*Qž3§öWä|6„o{Ô†8Ęđ:…@o™“ĽV K5o;ąź{—.Ml¤úy[(ŁčX¤¸ôeJZÜöęĺśú™Ň¦ĹăĽ(e´B°Sü[`Żř_Łś¦(·ţÄŢHOčJÂ=×›Gě'ÍćźGN—i}ýóH˛Oëď'çHŤ—Y+'ubŠ~9Ž)ú.˛ęŽHŃŹ†ä’:ĐÔŞWAĹĆęh˘Îm€ń8N-¶"ŕłgjčOďVř_/מ6Ý·x&KˇŽVŕC‚(t|Ś(xRu„ڇ2VłÄxĎď[±ę$˝ęXţ ŃJµş(dІ" `Ý qŁőőđ őxŃŢ÷Ǥ¶C—ŕďㆥ Nʇ´G`ö°Îc…§ĽFI—_m4 ái!¤4Ń ?ÁQŘ~ÉçxgÍ7žŮ”MzţŞÍľŰpŤúđRDňú·ű?Ąëß ż}=0x±rFęő1óvP†`#_Ýţß÷ňĎî= éęłţQ6ô?ťŘ·™cS}s9}śÄżwZ…'ňŃ}ř4ŃÄnśČ/€ Ň'čg§Q Ág!C%Ľm·V?kňM:K4Řqlę‹ßňńń}w¦jŻç&ĺnŠk{ë™NęÍíđ’Gy,Ď—ßôä[Ű€ďăF™e§}Z‘Ö‘Îoׂ޼ĽńÂę ¸ě Ë+Äú96^ĐŘâţNf¶'ůâ řk«‘C?;ŰÂ<ş4ਠřމóŁč¨ (tq:Jć{ěĺQq‚ŽŠ —µ«ĺýk$ü´cDřĂż7˝ń'ónâťnóňÎľZ‰GRÚ®•ü@u}…;3NS:@Ôńž-¦Ŕ'TŔ7¸Ń¬¤ľ{çąDŽĽM§~ćřŕ>đA´żBń.áz+±ężż$Ea_ŤîÎűjľPCJ±9Ą »Ć°§"@‡úúĎŹú VęDy…ĘóŤ z“Ró˝KČh=•5&%¸˙ke/=LçĘUE¤ż±pkëo<ńW$°^§F§Dv˝ęW$°^ŁÖ%Gţô)$°^­.LF.( ŰíĄ́Ž5䤯6€Ká‰v e ·I sh~‡‡O1'Ą‡jť®‹`ëMíŇtŢßÁi ÂZs\[Bo…ž|AHňsÄji«iH—aZż8„ő5ŃUď&Ók7¦ŚiógÇsŠŮĺRâ.ÉeN’¸Nás’|C ËîoÄą,‘*'ŕď-˘:č[m.‘—‚Ă9NZŔÜ—°|âß €ž®Pí)rżB–!řkŠBĆ"ř+Ă(8ÂďqđĹ`vÓ¦~‘Ô×·-îŕƣlj†˘G|>˝ďHež˙†($L‚` bŻÝŇŇ‹C?j·¨ Öw6“8řzôµľł•%ˇňE6^É0-¨ëw!ś&í bżYßÔ•:w7mjüŘŰÁv>ó)Úp<Ë*ŤČ˛f§ůšwĽMXjűc mM¸őhŔ -?Jn+çŻď-ť9ŁŰWşMĂ®–aWöe…N õň“[ŁŤ†łť 3śť<ŕĘN†'ć~‚OF™‰ů2"fogNŕđ k ťŤXMҬͬ˛ďxٵgm$.É=ǵěčëص{ ˙˘Š®Áńç( šÉTřŹčK3Fa?5?éÇ‹0ÎéŔ@¨őëőOÖ˝˛X+´#G­E&@#Ţýámčů¤íľĽClĽC`ă~ڬٱżÂÓT¨(Ěâ˙Ę„Š?\ Íű‘»byÜŤ”~çÝcZRžĺÇ´¤<ŃäL´ŞIşź, µÇí ±Ú×*á$śÓŕ;Rźô~ĽOŻśî,ĐîgSŽîg÷¤[î?bX<^ä¤%řZ˘<Ă|-qÖʵâjÉ'ýWîűoGvŁöýÚGíîŃž•ۨU­›ĂšúĚ}h·hDŘ]@|m‰ńn(űAś.š+’ś)m‹Űß T»đ3N ·ÝSŤ±oí†ů”…´‹·»čŹŽ2 UquÄŕŔÜ=ďQ’&í*ô@u¨Ĺ}ö¶¶µSś·łŃ‹î?~ß© Bu-ţşěî?{t÷źŁđŤ(ęG€Q†j™ŘúůÜÚ7˝ ™şć@Ż“iügţ‡ă˙Á©Ó“yüŮ“jůŕ§ú0EASµîFřE¨/~¤óŽ‹óÜ'b÷Ëavm7LŁĺšö“˛čöü´] ž|©ŽŚÝ„Úů»µż*´ż¤=+3l}Nň_=sćźkđOS}˘O%›±Xëů ̦Nť˙™ř8ş j•ㆠ@|ţ7én+Lý:ß~ęFY*¶.|8žßĎţŰĄ{u¤ąsŁa¬g¨ŻD^­onü5^Us¸H2ÚÁš>@?h:¤DO~ŠÎźMçS6vď0Rß)Ęr˘ˇ¶ZC­^µŇŕvQ»áË_OďFŘZú‰m!űĹ˙Í?GŁ·-űLôvâC˘·†˝˝-‘ŰbÚAň}ô–úľHě»˝)űIJM‘ôö§}Ńßď>ý8;ś?Đ~“?Đ­ź ĎÜQo›đ ’^.ű>‘=„ž:ŢCč­ŹC=„ň„÷úq¨‡ĐB=„p<ÂCč‘˝ş‡Đč˝úůĐkÚ.§wŕ!dŽ—Q?ü±ń^–đĚ•ţ‚m“ż`«ôQSŹ·÷Qű.+}¶÷őS]ÔÉĂY˘~ę#T?µó‰pőSŁLőSĎěj5ŐO=}Ľ}ýTň(ß#ë§6 ˙ŻGÂŐSNěĚ…´¶¸ď?Cë¦"=|•+Cë#˙ťh3vEčóH\gő‡~ŹQ0óCŤ¬ŮM á\EÍ•{Ď^DKí5zŔhŕ‡č#ŻűC‹ůž˙ç{<ç;GýEk¨óĘ•{H„P&%˘çRĽß±ÍIöM†+ś%hő…łůMdÍiq6kUĹ—n–©ýlfÜ&©pß‚\CotO +pŚŰŕMŔ~4°ř~Ô‰í«ýŽ• }ď"Ki řn:!ĺËc'Ą ×ó„”41ź=e¶FŐE68_ô†ţćČ x 5 ĺ•ţ hĚEasś %_¦š.Ź>×ű¶Íaż=ű¶Ŕâ!'´6~űĚf_c@Ĺę÷C|óöQAĎz_k”§ŹŻUV–Ô/Ć}·Đě]ß°”Ç»Çűěl% çÂo…¶É‹ŻGwo>jÎ!´E ±űÇA­^nß˝q6F»…Ő:—ňî‰ ~űzë˘áśÍHÎR_©ŕŤmś.ú_˙5.`đOTŤ„ĹĆěU‘ÖF8µ$<eVŤoŢ (˙®UBÁËü‹@¨Ž2ç›úf@XA㣑I§SČ5ZA*cB†˛m˘ˇ4î»(˝ý=dD“Đ˝Wš ŚLôŰ÷[k0Ŕ öťO˝Ę×Ň}ćí1W)3Ż9ä@,,Źő{w+ńĎmTJăüŢ&kMBŹöboʱďđ}ß'u«űACҬŮäGľë„©řĐő˛2ë`CýkhL™k»ľĹ'ô+‹Ä(qeţ§µp0ž0_ňÚ† ·ź”ECa°ůx.ĚUA;ĂÖ}xŤâ|u}(Ţd3~tÓkľ[ÇP4Ń÷•†Ď;:â˙ÂJű–%„˙oEł˘^oDÇç»q>÷N5é‹§ôů”mG?ńřnhÖ¨&7ńř+<ÉȸOőGxwążÎS–Wëo1 ż6P!‘öŽ Kţ+µ9 ÷®ÖĄ§pđýu /±Z‡DذGGň ü]ÁńAsßÇą•98>jýMŠ`p3ÇGMiŐőÇ.Š‹bđíďędőţÉ!Ţ\gxóęĂÄG9”äŤó … ÷¬UĆÇVíôtS˘R3b˝'Ş}Í!ń¦ ˙ě"ýgŠĐJ5ý‡8˝GÓî?F˙Ů‚šG)é?Ąę?ÔÉĂS„ţSHúOÉ©púŹĹ¬˙ĽmÖrO…Ńz}…‘őźť¤˙L§˙,‘úĎöVˇůU“ýâíMŰĄjëôj¨ÎsŰvMçŮőžľD/ż§«*ó·hÚĚż MC“Ě-ň·´g ĹçŐ4Ą“ źţíqßč˙ČŃIż¬.¸ăµ_;7>őŽfőřŽŢAöżI~'űP6žjá®ch‰^ؓЌ!IaŃš§:í­ö†şvüm<őwç$N,áĘ%pZÚë99ëQţGĺůJ˘^{˵ĽőŔl[ŢÖŃ»\˘†a{5ł=ŇL0ęż<ş3ë;¶—Hţ_Gü˘‰˙o1đ˙·Űó˙M˙ß.řż‡ř˙ţW ü˙eä˙‰ç˙Ô˙őMü˙Ľ˙o1ó˙Yr,'ţʧIĹŁMˇt2^ý‡·ŕÖkńęžCáN]ńxz·yă&qb$F<1^<-OŚňSňÄ( 91. ‘ϰÁ‘mĆx#Â˙€í4˙ ÓüĎćżYžžl:+†yą'ô¬¸Wäshw^H¤őD˛ Nz»a@{ tdŹżWŐšň©ýÇž}ź«Ţ5ťźmŕó`ťá<°o#‹ ŕ=7żĄ“ŮĆwÉ„.Ţ\fxó÷wµó 4˙ČĽĆFr†ŽWżŢ†#9x/ĆôR&őćč ŽÉPl§žÉčŐŻ(•µćąî|ŃÂ…ŁJçm]NÉ3° X"{­zŢ&{\śdm‰[…› ]°Üö#ő±Ťí‚7¦ĹëyąĚ6>39dńlę:kd—b;´Çpé1ő”úhţ`Sh˘<ŕĐĆdłR>kcÍ"ňă˛o (Ű~’ĺ0ąękýś »ĹÂîgÖĘĎşuáUŃZm3@ç·ë9‹ 69*IÁĄăj@TAAń×r8ŽđžvÔúÓ—‰ătŠ7‹ń6")ťVB‡[Ún@űűWŘŹ˛q„ĘÔĆ CçH {Łâ831A^( +J_˝_¤sžŔQ˝đ tboűÄ?*)j»đ¦›|ů§ţŮCýż"ć´uËŮüź2…EŃmÇĺt3‚“MEŇ -µ¨łV÷ PÖü6ľ¨śőŇR-§˝úy3Ý[[ îśľ®Z)˝ Ë8@«Ş9Z7!îzś^nµ;J# ’ëĎĺŞÎ%o4gčl$ńĄzҶşůˤ©hţ1•—‘ö«´‚¦|Đ>ôʉS0 •É8j®&x‡M“Ş«X"-GČáM¸@¸»šp|žĘ·°ńŃOňŢpvg Ť‘XW±Lť50˘Ş˝Ö%TĐŻëo¦h[KŰk­¬ď‡ľ>‹ŕéăgIŔńš6Q¬ßąAFźP†ţŕWŻÓTHĐ-îŔ€†ÎQW•uä€'×2g Řwsj]ü§ŤźuvZeĂNĘs{đŚmÜńz«Ä?'c8Ť\u+×Twšrůěˢ(Ä1Šr(ń_~ éĚű¶a]Ö˘Łŕ·oŇ]OŰZą™4¤Ęýě[úeE÷Wá&ŽpŽ˙š· ٵ(´F Ú Ň?n¤(eţzÍA8V}úT/¬SŃp}ë[5™Ěű^'› őg­ütŢ0ďĂő™Śę"iB­B 6ś×ĘýMś\/78%Śáe.FüʉE÷ éÓ ¸V‹cµg†’ľú]R˛şúÓ—7ÜAůîY‡’zÉÄúę0­KavÝ&Eë Ëń> ×BI_®ŚâýŻS[f˝®ŘW+#cŃg{µw©¬j¨ĺ+Bxđď¦őF“Ąw˝Ú*üj‹V­ ’těUmCc_Ű ?ĂťĽîe­á|!a€…k¤m sę- ‘‹üݬ5;ëe< O›ýuŢ+‚ÍHú_cÖ,O†r»Úgm•N|ŹÔőś-’üí^×–ÚdáQ×ęKíy9¸ě‚¶Áć‰NíkDŐXű^ ŔÍŠ†l ő%ÜąŽtŽËĹůĹF}qŢ#d×DE¶aÖŞ+`°ŢJú ±Š9oĐ*.‚!U\c­â $:~dQJż}]ÝĽ%‚ťZ+gE“mѱNé©”Ĺű+1…áÄh®ďk*zň&úăŮW*ĺńŔ‚?D [+żF{žşńŐVCůČc8ÇzÝ„6bť¶Ą=Ć-ŤIĂ 8r^8hĘktkgŘmŐô% ÂÂŁ“!sśj2{"ŮľúS˛~SA›L1ŹáI¨d$ü[3ŔÍ1KŮTĎ ´Í(o›ĘRÁh;Ă$´ČĂů&rÉ'Öéxňy7qů7…SKsx)Ĺ“­>%EűN1ă¨ä2RČÇĚ÷ÝwęĎ!‚ţ<ŘÁĘÓĆš§Ő[Ďę´I{ŞÖ˘WĹ8%ťąŇóʶKűicýě-Á“€Lb-Źí4â_GhYV*Łč׊—PH]Y7’d>˛…"ŤMŠEv¶ÎZĄŕFJ_/x­¨t-€PgľŇŞłJâÎ+ĂAU†¨F—Mą`b­q¶ËŚćI­žXm$• ú Ý'ź&ź"Ĺ´D‰ĽŠ¨PŹxýeN@g ^vĘ´Lע˘°E©hżD?hK”ج/Qđ~™?‚2­ľ…}äÝ·ĽůV\čhŐßĹHćäoĆź~Î4®ŔiŕôŮęoÎuÔďCѲ‡uÍíýµŰŞţz«FđrĐrc»5(˙YźŠŕJ[¸0Żc ŹîĐĐn?NÝŹ‰Zçă¨^X €_GżENâŰ3:t€SšM<(Ă1 ő%„xŽÜrçPřÍ23Uß®J^G@ZhĎŠ}ú›5r7!Čl3ČD¬)Mcojţ9Č=ŰśrR iS}Ťý9Ą‹âMPć&b†t,Ż&lPţ&˙ŮŞťÖĎłtş€¤°Oátt„Ma?\ĘćĚóöLÝ>óN˙ĹŃxş9ĄŮżĄáňÚásgNHŮ™Ň,Îw˙Lw˘j§§Ëéľ˝–Ó‡|Űú?¬»uU5{»çIŮ{şˇ7úĎž>NŮďŕź- ďZß®ó5Ý෫ޱ©sguJő6•ýŤ ­A3- Ďť~č –U;ýŚ &€ćn«?]ÚWp.˘ăÓŽŁÁŰ0 C ý'nenËľď­o¤«~ű) ¨ŽĆ}ő]ë ë}ßÂăSűT|ąď+ü»ëJ¤ąß÷§Oc »şÓߦÂ?ŰË®îŘďéę?“ŇdçÄ&ú¨Pó}ŕľ6x|¦•Q_kŔ?¨‰ Š#ĂlˇovđÜO§×§·Vh„)Í˙˙ ß¶^„ł™–ÔÖôw·ľ˝•Ńb­ô#ó¶ó>ešT“żE™{ ¦´Đşď;xŘäwŔbćŐÔuĎľü'N{Źú?ö{ëýöúÓߥ~ Ó*MÝĺÉTŇëaü iť= ^®”ĆLĄ•jÄa§P|ięY üžJu4ş˙H ÁTý~D¬\đ—¬[k¸ZB}ů‚QA, QŠŻd‰Ż8e. ¬şw¨ßϤ-ůĎú˝GAJń6ůçÖ{SĎĚ|ÄŹdäŘ#4$@7©éęĚ^~ď˙ÜýyµěLęŰ–,đk}Ű®bzÇüT{˝µf'9˙7¦¦µúަż›Ň÷4lďMiÄŬWęéăŠýčéă óĹŇ4Ţj?¨x•ąGaěöĂűľč0űĽ~ńŇ\=­4Gś;v#Őí.›<ܱŰs7ű§¤ďPwőÇţôÝřŤ˙¬bßMËx_=>@Ř»aţű€ö­$ÔCw·ÚŻu ‰cé–™ohşÖqŞaŤČ˙ö*ĺŽöŰčŘśq^yŢ×Ňć±ú´íQĆś÷ý ?˝'ŃÇ9™cÉpýŕĽ÷¦Ăgę6ŕ`<¸ó˝äA)đ˙S-ĆfL°ä»=K ˝ů®b÷Ŕě,·Ú—äçŰÜž2gV‘­(«ŘUę-Ěň¸JŠmý]Ĺy%¶¬ěŻÇm†Ů <žŇa—»J •”ĺ€oÇN¦ťe¶4fË`ȶţŁťŮ®¬âńIiVÎŚ¬|§{ĐďłĺŇ+08t08R‹§l¶«8ßć)±ĺ”:s<¶ś‚,W± Gǡä:‹Ľĺr,eNŹ·¬ŘÖ/×2Öíą/?4>§ůP g™E6ÖţČtĂ7Ą–Á^wŮ`wAV™spaINVˇłbŇ`ÜNç 1š~…….‹Ű›]äňxđQ?Ż-{¶Çé¶äeą ťąŘ$ßI˛ągçز˝yy0gYYIŮ0[?·Ą1đlůY3ť.×âžá*-…Oáo«Ř ?‹JĘś¶Ü,O–âÔ9ŹĐťSŤě÷M¶ä—x`ň¶ţýÜlye%E6X»B[YVqľSŕ†škÉđş đOçLg1 ±ŘVš˝–ZrÇ53‹&Äh†§e΢’™ř„ZeX˛rs żÜž¬2˝=aČ6Ëĺ)`ŕ–ś¬bč p¶Ť^@WSƧŰőVHLÜ%Á`=€‹| ĹÉöóë—ü+ţźAý’S˝–ńĹ.Ź+«Đ–ďuşÝĂy%Ţâ\[±łśŃŤµeyř]>Lß[č,-qŰJň¸ ˝wąmS,Ĺ%A®aé)Âóמfą™#XYjÜŐ2†źf2 OřÜ`8´>´†ÄoÚękäö0ŘŠ°Ţ^7 YnävÎ,7°Ř`“a đ9°ń$D;üD~%öÉxŤ’‰^IDÍ,â„xvax9ÎÂüŰ]`uď–ű ‡ă]°IrŹż¦ąŠlS˛fŕ¶Ťĺ*™Wč…Q• Ę))ş7g&Đ›álµŃIŠslĚ*pâˇRFs-u•:˘l‘íâizšrKŠ8Ü+>vź”áĐuÎ*sበD|â)pšNT\EŤŻ'Ů$i3Ń’$‰Źł‘´łŁŃÉPâ1IFFD+ ˝Č˘Ś¤·Ýy¶Í4<˛X$g’u!Űs#vHj=ж?â,“śúžľ÷ŕ?ţŰ4]¦Ăx¸ ojŹ«ČŮ*ţťĹ’•çˇĆ#:ŰĺF)L –@ę˝ –”đÇ ~㞠â­rJĽ ç ăf9ÓYfÜç´Î0ś_ˡ´T{n¬ĚŔ¨C’CŚkgËŠ<ÉiNTčŘv QOF·­ŔYć4źß:Ł*,YjçĚĄf$ý•ĺŔ B…řІebŃwi¸p±|ăz̉gj»»Ě 8'†ď-â éh·ĺzËXVrž,noiiI ŰNrfBkB=rŔ<Rąm&t(Ł6eΧk&L€÷s6í,…FI¶)“ďh‡ż;äŢ`ô çCD ·D‚„_!3 ĂÉŁ, {`†łÚĂ ÝĚgËÜ0¬ţ(ŽGŤ:yr(\t€űrs?ŮxTĘ~¸UqÉ0>b;ś“¤2”_3‹Ĺ±f|–+ž•–9Ë@ŹAň=Čâyxć´ŰnD8~ٵÓ]ź×Bt…ź„”b#˛\śÖÉ"ť—Ľ(“ÖÎu)ýV‡ĄOTŃuŔoˤfá—×Ц¤t­ă6ŚŃđmP¬¤É f˝yőX_•L?O8:»ÁĂHŰ”™ľĐžŕ))‚ł Y?Á=ĹĽM„– ?Ľt0áâč[5S#m<ŠP‰esÜŔóĚҲ@Ĺé#ÔDŘr‘HÁBh’ D Rł˘fşJĽn–b€˙ íŽDŁ Šźšôűś‚’đ†@`—ý nř–ҲE‘&MJ‘ubĺŽ~Ä?Ř”ÖĚć™ĺĘ3Ú•_\Rßłü”]Âc‡Y™dy u¦mP×Wž ¦m€{Ŕ«ť˛ ‹Ü08‹8ăčt¦IYe¨j 9î’ůCîřÉ˝TH{í±šDŹŠŃz›ş]“ČäŢ&öbÓwV¸ç§dŃÔΤM‡ }EÇšůŘ)‡ňvđD1¶E^ąĄĹ"TE<-YbF:I’ŠÔ`±ŔŇxŕۇÍ0ôp l`ÓtŢČÜËŘ&÷˛ŮLÇ˙ľťNi´ŠĐ¬<ÄçPˇóâŽ;¤LŐa›d‹¦BČŃŁÚgŇ%řą…äu›ÎÜ?ògŇŕóó‡ŰŚĘfĂŽ-çËqq\ÓxzY4;kNlUËÄ­ňFH!–ń•ł «(ŲWą%áž—ĎDŃ3“ŘbűwlP3=fžś)ő ó»ö=¸Qě7Vˇh9…’ň_Čŕťzk>ÄÄWćf P—†fµ"®Ö"‹/;‡Ś=Ľ=JŕĎ„pzÎ'#Wřć|.YÂôA˘X¦”‡2%i› © Qˇ™{2QľA<â[2ećd›>ŃZ†Ă´°zA_…ĐĘŇţżŽÇGo†Č–RWčK6j‹FҨmh@¶ŞpÔĘ_éŁúâ“,öά¬2ŔąiĂQŚł8”jJáö„ˇD .ÜBž±6n ]ś€ÂĐťĺ*žˇí˘pďöŘvš.lüš…íűňŠťąâş€/ Ě/üŘ60ĺ!˛°UZ‚ë$uŘ,Źv´ Î@;ľRdż K)Y_ ě ň°aÝRŕ-Îĺ ˙CÁo‘aę–›o¶ôż×1a€Đűą‡ősŁuĂÔ|¦+×Y,7×U–•cÉ+ĂËBJ÷Ô†ţĚs•Ăp ]nŹĹĺ D3a¶?ńáöÜŠô$QŤ÷¬€¨©ľRsă`ÉĐYë§ N=ń$ŃĚ™şrKďőr.žgIY–e ˙Sę*nÍ<&ŐŃHMÓ6¨âĺ­w÷¬,Zěśŕ{ëh†çúC<6É4˘¶“¬ąć§ôV`V–›îU0á®KIÚř8MŚ„Őo(€{Ll˙-Ô/]bzĘF…Ył-EY°–ô>ŁĆú ü)Ţ"٨TŚb©§Ě•źď,cÉhV´´Đvă6¤#j‰¶ą±“§dŽźśyßر™éŽűmý[€B*ś¦žŮĆí0,ĺ¶_ y|{čąOćBٱ0ťţ¶ç,Ír+”2NĄ8ljKĽMk*,ĺ¶ţĐ ’‘ źäUFö ¬ô„ş| ëÁ.7[Wé–M§rťÔu—fÉr‘8.«§Ŕ% € J6cń´»·Dč4rHôEřĆł¤0‰m¶COÖ #ű(ŐČ8‡0Z•F”äP™ţ­íR`Ö@2>1>ţx- 6ą°ŔĐ™C–+â!â[´‰Á†-+)DIŮcTúD{’c#¶vĂr „ÚOM‹€â¤#÷mĎT®7Ě |ý2Ho4p0yĹb`‹4Ř8žŮl#‚˝^ě„g.˘^”5ł<¸Ć‚»Ř4öďÖ.L‰A·c;<¤"DĘ&¸AĂrK˘?Ťy2×sKŰi±0~V$ŕqe!Ą¦Éâ„oć]Ł2čÔXˇ_^ËŔ&8ôhVňÂŮ6çCĚ­‚dćFŇ-Ö %Vd}Dqĺl1ď{`eš•ő’Y.ĐPОf8ĹF)A3q~’MNŐâ-Í%tÓJbvîq‡×_e[ś‚ÎÂYČÍômPíf}€Ć§řŕÝř¬Nľ¦# 0ÉĂ™‡*±ąáűJ˛ý߸€á*ľ9×v„­”ěu Ó31ŰöߨŚB4±´šńĹ á)A<ožv°ćţu ˛+qn7nkô]#Ç•,jôY‚&1Řŕď‹ç#HÁ¸%I6ĺ=jDň󭇞Ĺđ rËH°ĺ_Hr’&Ä™ĺrg9=YD6č\C2Sx‰gĄd-b«Űń¸ď/Ź´^J‡©&"o5˛Öv,# ’[S /üaaž |Pç BiˢËhqőh™TRśD’ŇŮŁN۲lúcd=”íňäAËŠťž;Í0™šÂÂ4µóčĆ$cłŠgzÝĂ–ĆQ3]ňËÓĄź•ůđK;Ó ?áđ ąör‡ú>ŔE0™üŔÉŞbh77ůĐ˙·ĺ6ňUŐľ7ú¨^Ł|`xˇÉšBő1żŇyüh—ťPĘÍł•d?J®?Ąířjţ@2™‡FMof§üĂrß%z‹sČE%ÔÍDsţȵttGîN˝8Ď•ď-c·Km<ŻqťĺĘ ŕ®bŹ´ö\\””|†‘źŁMĹĚ­ŤoÝ!n»ú`~äúŁyKbÓ ÍHe’Ä"x&•ÓzOgIĄS¨,ů%†ťž^éţ?ÝgŰÄ…¶W^h'śŃĽń׌)TĹy‡µ-…‰¸Ą˛Tě-ĘĆíŕE°éc4^¸­Üť0ĐśrËseşĎ2řZk~ę& äÓ ąĎŇ}t ă]łx ćČ 3żÂٲ31şqĽM#5Ě»!iV vsC»b™«ýĹŽ.>/Ű}l}ŚF®>|FŃüúĺjÖŞţäÓ$F4Ŕ€wÚrs )1ŘÝe% í˘3ľipň|@C«P~y÷° TSÄ~3jj—´Ó,é.XgˇmrNfD‘˙5{ îáÚoE~ör“d&bj ŘE]3° I厶6̸»«­m:ü;äý¶¶9đo˘‘˘›d‰šum|lěśz[ř˙FÂw¬Ó2ŞG\UtÚeťěŐ±51üá­ŘŮö˙Ú»ßĐ6Ę8€ăϵ#›nĚŞµ‚LŘ‹í^I(î…SçvÚˇN ”Ú®˝uŇ6ÝÁtčy(úb"8č@/¦tˇÂ&ŰUŃq"ú"/äŘ`A ţŐďďîB®KştDÄ÷Ŕ§O’űýžçrůsż¤—dQ_fąĚ3Ç|“M–g-kYűďŰbňUIµţĆ6“:]Ů]?ýaçßi=ţµYMý‰Ę)M­>©5,˙ÇúâË'·Ő—Ë©ë­ÇßpZS:>řrůń{Ç/—ŹmžŇZŽ˙ÂYMÄäyMÍśo>~­őNhKĆŻŚ·_ňg'—Yż'[çźdÝľŔą›¬ßäXóńźyąőřż0ö߸z“ńç^‹/?r¸ľĽ›űGˇŘzü­ šÚ…K Ëß~gŽ&ăżQ_.ż´U8Ňzü _Çă︠©Łăĺ’=wÇýHŇNú÷’ţ㤟Oú‹I˙cŇ_ˇ—ßÁřŤ^ľĘ˘ňRň=gçf4%_.!ýýýúâÄüZĄä3ôó÷ĹÇýĚyyÓ»‡ť.'UW˛o~ŕ’‡TXďŹďÄ˝r?Ůź®ô*u—l‚RÉ·l\_\śëŤÇŃ˝đWúďňJýE˙ěżődń}}űé[•2`‚ .<”P†Ź!ŞČQ$ô@‡l8pᡄ2|QEîňˇĂ€ 6¸đPB>„¨"G-ŐLX°áŔ…‡Ęđ DąmäC‡l8pᡄ2|QE®@>t0aÁ†J(ĂG€Uä%: °`Ă %”á#@*rŰɇ&,ŘpŕÂC eřn—i ˙1ňˇĂ€ 6¸đPB>„¨"·|č0`‚ .<”P†Ź!ŞČí$: °`Ă %”á#@*r&ůĐaŔ„\x(ˇ BT‘{ś|č0`‚ .<”P†Ź!ŞČ=A>t0aÁ†J(ĂG€Uäúȇ&,ŘpŕÂëKíłĐÔşooţ<)ĎA{ŮG«ăš*ě"‡ç­Ë¸†‡ąěůăËçż~"~®ZI»2Ű8Î+·ßýIcţföZę˝Ý[ť˙­ÚŠrĄ­;ÝyćóxýWr.Ď·wýwžm/˙í6ó/¶™żyˇ˝í?ç·7łŰŻÝŰôŔ`üöTľýwdćęs†ĘGx%>=0¨ňűÇćGŠ#*?thĽxh,î§§â%r8¨‡•>Óϲ©áQ‰‹OLŽN«|ty>úßK^Žj`ŃDô>i~x¤?:0˛dhŞ~NĺĺŔŢ"ÓĹÝKűX( ŃSŃz ŚŘÇÜÓŃźx˘xĐÁb1Z©ţˇáÁűGĺŁę+ow¨¸ÎéHjqůö¸¶‘¶*!5O•úDâ¤6µ÷'Ňq÷$±IÍ$*ëăeZ#µÓýInGRc‰žîĄµ^t?Ś_ďDóJŤ$äçjóÖĎ&u•ś–ÚJôŞĄóJc·ŞnKr¤6R›ĄŻ‡Ôh»RqRË ©ń:“çŕZÜždü\RKŠŢÔö­Íűt*®kkěŘúĄqbo*n¶/¶iwýľÜUű±»TśÔ®bC“y‡“¸čú#Ön©ÇmLú±TÜUjo±©ÉxŻ¦âşľŃ"‡›Ä˝™ÄEŰUöiXÓ$îÝT܉Y&îýT\1bU“¸™TÜFbDĄŁńú~”l»ÎZ­Ś.­>Níöý4=/µľ¸q;‹ĎRqňš@śęlŚ›OĹÉţ^ĽŘٸ~_%óˢÂOZd¨Éő]¸a*qÝŞńq¤Ą«Ń˙ ‰ šÄe-kYËZÖ˛–µ¬e-kYű´,ÂęŘ aptdaemon-1.1.1/tests/repo/glatzor.gpg0000644000175000017500000001610012117271433020527 0ustar renaterenate00000000000000-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.12 (GNU/Linux) mQENBE0hzl4BCADSYPRyP0ZiI/FC+ds375PrW59JRf150kK3nPuEdH8hWQFzO0Sq 5d3xa7GLGzD2/kk6T7GwSVdH9TVoNBr2aDXdbSIykd04gFvuetFpc/TrB94yHf9F 1GNSJCVzX4ICzoazMk08Nj/8p+3swp8r4mG1rgIMiV4Vf1mvTL+tN8v68/DleHw2 8RI0NFK1YdoOh5M46VVFzpBrzkf2aymoA3th8q5ufnOGnDzt867DRu4czLMICqFI jSurKIzP0B+ABGZQUpvptGnNOQyYG1rxR1GXXXfXAIInucvDUOrMqq1mJRySgzFC xXpJFgWqyaTt1+hzazgzCqCQgtp0CSte8FBBABEBAAG0J1NlYmFzdGlhbiBIZWlu bGVpbiA8Z2xhdHpvckB1YnVudHUuY29tPokBNwQTAQgAIQUCT2BikQIbAwULCQgH AwUVCgkICwUWAgMBAAIeAQIXgAAKCRBoPFPHz5gtGK6DCADOgqivyWrAXWRTH/9W Nl9Vt38QPuS+OOFJxzPcxqCGc8zfvmNDmCQksnZ7i3pkyrGagofUNLJVN8OgXrmJ 51IXYAZxtqxY9WBjfWMEiOTkt7bszZ/6f5GBg5easEEjHGcOmjR21B8R6AvPV2y1 hWAgt0KMve4uImd9DPuxUmzGy045BS30BPndWglPDFajecnKC0clQroeV7A31NwY WhFCEP2ZXyGv0GHDJ50Ts76nJQAHytJoGgwEkcjb8q5phJROIna8jXUyGV5+1p3E UB9bZfwejmAFoy4+PvscqBwE5k2lyJbZ2Z1d5FwsnzsPn+KcdZbrFYhHsABaE24v WYuItCVTZWJhc3RpYW4gSGVpbmxlaW4gPGdsYXR6b3JAZnNmZS5vcmc+iQE3BBMB CAAhBQJPWv41AhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEGg8U8fPmC0Y sMgIAIYjmhICQ/Cwxk39MkgKWOoXQaqwZJA67Z5LFxPewolyRfhfYjzpPLSxUg0Y 389WNtM6ufh6aHzsM9qnNkMpTL1K8Bq+V2HuAghLA1eVyonjs74yx3UVjOr97RqX Urkp4iv9udPK92pa43oIH4R6DLzt8sqEVDStmLSV5h0Qx1qKS14FFXEJfExf33Ds Kfo2AlSib0G/1qGshlde8+vahGE7BklWWMDaiZV9HSROd/Q66IL0qzSjz6C4qPse aVJTmjaP6pJ6lrI983eRdjmSxIL2Xsdg+ELT0S1EndvC1pEwmEIlR/3aACY+KVF4 Gj/vsSlPABT6eq/S2c9nBUVPYJy0JFNlYmFzdGlhbiBIZWlubGVpbiA8c2ViaUBn bGF0em9yLmRlPokBNwQTAQgAIQUCTSHO0AIbAwULCQgHAwUVCgkICwUWAgMBAAIe AQIXgAAKCRBoPFPHz5gtGKypB/47mW4RP/c+YLv7b30Fvt2GSYMZqIFbSN4Y0dGo 1Pkd+XWq/wo2h1UPoZb6K7DTfAXNTCHoqyP5qSe/DO5CrxJuiL5F5mQGTqe+QmSy 5YYdK3cInddWNwE+ZMBCe2U5oRxBItACq4R0VJ3ZEP3ivYA+/p8FR6H0ya08KEku frMoHScG3CfmcWWqxL3ZK4+7XVAdrO3tiuRIEVjT7Luzfmxforc0N63izBhvGqmf 1uKDRc9qMILbATJRHEQbYxR9d1g/gIY+KIBvrXVSdcRzLC3y1wXM6Zy7XHhx5Mvs gvhP1YlfM24Gx23KsJCE9v1120mqt5ZifMkqvPhoiAIlJjwBiEoEEBEIAAoFAk0h zyoDBQJ4AAoJEHro6KyTTCLVrAQAnRP5U517+leetoollvfkFGscY9eyAKCHNu7/ 2NJP532vH/h1TAFanzTq+rQyU2ViYXN0aWFuIEhlaW5sZWluIDxzZWJhc3RpYW4u aGVpbmxlaW5AZ2xhdHpvci5kZT6JATcEEwEIACEFAk0hzl4CGwMFCwkIBwMFFQoJ CAsFFgIDAQACHgECF4AACgkQaDxTx8+YLRiRbQgAg0BT+6RR4pRgORGML4QcBROJ Tb51GFe83Fx/cKBJiChSarbdbS5/dDzfq2fzbMjSNOpfPnusDpAvUe1gTcXBTxzz V0hcOZHTPLbp6hbLANVbFsjIV+HLDL2VD3RX5XmK/zt62WhB/iHQkSytfFPJb1x8 kigh5z5pfdb78j+US0cAWF9RpWBjYs0xzIXaxYe0UI7UGu20PwvEbbmAheG/exS2 ezL8cebnXT1ymlz55ba3Y052XFupNOd5H7KH8MS4Ex4Y0hNaP3zcK01eEe5IdZqq afb3XtkxojgzV43OMgWs2o1Yqp58DvuUNSPd5zL90NE57v/Y3Zw5026cQf1KM4hK BBARCAAKBQJNIc8qAwUCeAAKCRB66Oisk0wi1SD7AJ9W0wtzT9iL0ZN2Ke+WVyy5 ndMX/wCfaTLHEIYtgZVsezi1yXKZnejFzIe0LVNlYmFzdGlhbiBIZWlubGVpbiAo ZGV2ZWwpIDxkZXZlbEBnbGF0em9yLmRlPokBNwQTAQgAIQUCTSHOogIbAwULCQgH AwUVCgkICwUWAgMBAAIeAQIXgAAKCRBoPFPHz5gtGCpWB/9r7Fv4lZgbhmdBAQPE rEwWu8Zmr7aLquNcvs2PcBqtQU9JiU8oOJBGskQ6gDT6DAzymobyvALkQB6csf9E Lo+JL2HjL0iuytXwEoRAFy3D8ddnEnAC/iVfFsWkMrIsfXkfbNpD7RsOkthsXl8J wnA8OBoEayG3mj+cUyddmuLLzbD9k0sF3S8NIiqyp8YkobbP4veAjyBBrOjQEXDC pDudYoP9zDE81wUZABU8uj1LcXlK75JpZKJnrMMNXX17VzHbYWPiOThRNLARNidh d/rVzSgJbcs5ETbODWH60lZS3LwHYjbqxTp4+FZOyQw+FvNYTCd0dkAVGanc2k/J bTaPiEoEEBEIAAoFAk0hzyoDBQJ4AAoJEHro6KyTTCLVQr4Amwdi5Y/Fs4uvA+O5 xqZeNQMbSxFJAJ49mVdpeO2I1DXxsPqzC3XM6CB3FbQpU2ViYXN0aWFuIEhlaW5s ZWluIChkcG9vbCkgPHNoQGRwb29sLm5ldD6JATcEEwEIACEFAk0hzr0CGwMFCwkI BwMFFQoJCAsFFgIDAQACHgECF4AACgkQaDxTx8+YLRhB/gf+LsJo0C27+UpisfS+ AG6ngR/LE9DY4+YMC5gTVT3u6Rnc8rQrvWb9sQgQ1BEl5FAp98EHqbpAq+AGhYMj 56QedcXFl8ATgV24PkVarUrypo2r99H//f5fMB8mUI2I17lYxuvRNbeEnro9kzqS fiQD/P796endPmy+9JtwZ6IiAoov/9WvwQB8i6U3I1mj4eI665QpDaxqVu7XwXeR 3JN2ezMoz+KJqgpL5IQrwHPP2VyLSOv1lPdrdbWk/rBWDcv+kHxDnIXWlsiLr/Ge dPwRhPFK4yOtTxDqrzZxQI6/ySMkVzXFv26lyXEqSfOH/B7hdkMj3x5FeRs4ZOFU RJgRi4hKBBARCAAKBQJNIc8qAwUCeAAKCRB66Oisk0wi1bklAJ9taZygn7ZKxw/L VEgyacvMeS53nwCghWZr/5o3x4NzPsb7OCKNYb7ftSu5AQ0ET1ot8gEIALYo/VgD I2nXjn7bOanslizePCpsYMHp9nRfTYRwKLTukV9cpd0MirqlrYKM8/TZxJqLzd1Q mrLQembUU0SW/kaFGYvRpTP/LQcZojyrgN8cJpc1idrgF+pSR7YCIFvUnowdP85u rj+My2rAmx5F5qxLXbeTXNcnO60GZs1MfRFN5yU4tKxGuq5FfZPtWtxG8sS2lqAH 4/ciSI4wjHlVycCtCH0vT9x+S16JZnnIG52o4zGHI0T08ojI8FjvRiSnfwuKYQ4C nNbQbaOxHxpz+lIjYQ0QVkzdhFwHBsD744bXWR1ehCOEax2ehF89P62Dw9FvlZSU HAgDe0id/W5FpH0AEQEAAYkBHwQYAQgACQUCT1ot8gIbIAAKCRBoPFPHz5gtGPJI B/473IbrXxfjSEf85+cIj0JP8VRLoVsZMnOxzUyQkpVEAfLXLHkmRwMc9/aheX9O 9796p//PSiMP/ig9e8oF4mv5wssN6oBphe9uLpg9eQ9PW/aIbakRlJhhwDCZON6Q RPPyQR6zQSjsouePGMstgH+w/OFyKRKcUCDUDJVOr63VsSSoOJN8OarHCi7m6QuW Lh0/TnoZBp1cAgd8py6r6bXELj9R2T4I/LtoL74dlbFPZ7Ct+k6j9TgaDl/pbL81 462D7hMcARZAJLP1e+Q/6ha2w5BhUYoYfpF0wYriKlEl2jX98+lPBk610H8GhgkV 9X4g615HwQkQWQa8cKIlEcE0uQENBE9bL7MBCADJJbyU4pbHK06wul9RAzHI5h/A EoUBo6K5j45HcAx3LHWW4ZRFN6JBmudgKcRTKpu5ij7U61ndi/FXnOctLBQ4BtAM nFU5y2I4HIKy7o5ZkaKFbrQJJCy7DuxoN4sj7THGBOoeE2JZQYKXGKfGb/c5qM5p ljeZkYt26nrRuPbKMcxg3Kbm0WNaKQli1WYuUkOEyKAlcQWYE9Kuj8kmTBN3+kSq PwPBWzdIEWPzQp2a5ZY3Svq4zDaWvaWCz/18J+CzISeqlF7sLoiv8yqJ/E7kxD18 GZxLxt7Cqd/6/I/4nup1f2vhd77y8PTR9Psl2fhmBDd6AC9yaAHYvr5NGySnABEB AAGJAR8EGAEIAAkFAk9bL7MCGwwACgkQaDxTx8+YLRgqjwf/b6VPE/5gVOrAgJVv 76Xa6N9lqU0Hs026nJ0u5zhcU7WIBBvJiL+irQ4pDTKQZdu3QYV8vIeYa9ssGoQd P8OHksq3ZOBvBEsjzblfb1uhDpBHgvsxk7c2lfuDawn0+lQFy94AcV0f/jyYKGKp 5I9AEgSOhuhrtxqD1fGlRBIjdAqhTKC9cASsS3qGGMuLIjbD6gfRSeSPf+ncpeCb 6Jw0xJDLIb3xXP2JTvRkgKDVWVZ0Cyvgmvx8ox1vKZABVH8TjGrH3IdRUgb643O4 BHAnk99PwM7yoRJkP2O2fIICZdY0ZpUaqPCF0QgNXY4TJhI8i0xgnkwbCJA/8lZJ w3pqTbkBDQRPWzBBAQgAqyMOJPED8bxfksgtFHp20c/CloKR+dkCIV2Xz7jdlG6h U85PniHukuHY1i7BDQofVo8nAjWj0QPPZN6nrHUhAjyxWH41dyd4vI+w8Ryf1fru aEk6SpoSr5HimAthyXPPs+wZEXwrGI2AGzdP6HDX7WX+nlHT8J9nnFUa7OyIUnJU rd7yv3+z4yKaKKpFmqo3LnXx5ltLuz9X6bOcj07XGdTPijztS1cCHmZdcbPcVQbS 2yugGtqw7x02dL6sZm8gtEhzaQIAptxwirq5/H7y7Vqy5TWe3Z859PHNcA5cXrg8 Rhi/tDxSFqlo/1mOmHInaMbssRFgWJ5wHGpBKFBwkwARAQABiQI+BBgBCAAJBQJP WzBBAhsCASkJEGg8U8fPmC0YwF0gBBkBCAAGBQJPWzBBAAoJEB8w/lhZqRjZ5gkH /jdrZ+9eTHOlUkOT+nGdvG2xI9QnVnoxNeO+V5PO2BgjRcju8U3Cv320KjSJhzIF PLXwRSy8x24Uc36ARLj69YM8fwF9ZiCPrameBvECL5qDYFCmSe8WQAEi/ckrhTbG RFlpgMc1Z52LnhOcZNw5E7lK15QBxZybwJe8dWsZwqf0AJU/1XUSoxhhZF2kffWf 5c2hjRrCdldxgT+do5Fr6v0rQOWyc8nv88fb3wawXXasBSD/a6tS6upwtrQJpoXt ZI8lukBjQYzWhGKpi0GVrqj6lre1YeZHuTHWEmesfCSYiTLAe4mdEQ3P3SYRNKX1 rnZOCO0/EW92NQR/iSXWBW9fGAf/fihEurEYFdiquQVhAx0xyeBs1iDwa9LtRY6E 5CPTRkmQK+Glcjm1NL7fvClYVc9iWLfDEXGl+7t7XpUwlwku9BKxQcstfMhV0uAe VnbJ9uDur78j6JYyXTuxh5RopBk3mmH0XE9rBoy5ytPYftoAs9p3FT1qI9Azb584 1aeWnxbJghqi9a08Iwxr5i596aF6Ilxd6phfmEVufxJ/W5BwX46LpbO8kqlf5+qn h6hMcSDFexAJb/RKiGLGqg2OO9U7ghW7Ldk9vQPGLogowHlNpWn609uYO/C2QORH 4zmRcHf2KEbctxLFj5bZKepgzX0+xPBmIP1rlj8wL7dkFGcbVLkBDQRNIc5eAQgA 2lDY2Uq/1H1ZbiW9KgAfo4qgahCsOrY2PTq3wQUMaSucdSUn9vZPHhw8OwZh9cnM oofoZKW3ub5ZHDxcgZnB/hKBfdchTpNmwIu0PtXy9Bm2e8t7qGChbzVPiaSRanOo cpUWnOYXHIooSM84iCCKXCIidRemlq3X+/PjxAMmRyM9MNxPmENoJbFVgjaK1uEz 7haQnpcvH3NytXbxhGceTInO0PJP1uMBmmCdkpacBddxYdcW9PAVCFv3cusa+GX0 SSsVIHRB79pA2UM3ZKiErZkK/vSsM6PaLLGfB+PFwSOjKPdBZHlXvC4vp8/MLues dtv8pq4jHQz+lNmqmsnC5wARAQABiQEfBBgBCAAJBQJNIc5eAhsMAAoJEGg8U8fP mC0YnUEH/32IQgeswnN8JWzEmi5vOmzNI8NB0zri08ECo/+FUMg/flMzKnfV2+fB sg5ea0UMOi7XGzm60nvEuFp8C3N+VZrslUOAjc4RErzhy7UZfVZttNb1hGUqwUAm fU8jwEGAx69qwHxFqZ7KgcljHl+MHzZl82PkV/v/vnTTxTqvQZ1Xinmu4wPlfGCQ 5fMj6n/foJpKq7C3xAnxcexD7FPAznFI51xqMCILe7TnsjT4NYUyVKdfPheBG1gh ukdmn7rMSUBeaswlSvl4qC7rMEOHovV0NgJR7z+edOBp6+mJiv9Q66zbeIbaZt7i 8fwzmD4MW2kyoYtEl1VGBL9PjLSZ8Ns= =BAJh -----END PGP PUBLIC KEY BLOCK----- aptdaemon-1.1.1/tests/repo/silly-depend-base_0.1-0_all.deb0000644000175000017500000000342412117271433023673 0ustar renaterenate00000000000000! debian-binary 1294644051 0 0 100644 4 ` 2.0 control.tar.gz 1294644051 0 0 100644 506 ` ‹íÔQkŰ0`?űWÜcŮ–‡16čĂö0(¤ě]–/¶¨"I^—üú©É˛--[÷’ŽÁ}ÄHXÝ%â”-“«Ëنóă=ŹsĆ8+xÉxQĆ÷M“7 đäĚ>8kĂźâ^Z˙OeË]ĎýĽóW>˙şŞ~{ţEU\ž?cEÁČéüŻ®cL6uW¶UÇWś5eW¬X›×’cÎę¶˝[úQ8\öV.˝ŇzżčqBÓ/:áq)GaÔvČn°SÂdĂ!-Ķ‘%/Š·qż˛–mĹšĽíWułjűö/vµÓŢ©a iB®Ú˙Ňšŕ¬ţ‡ý_WĺÓţŹę˙×p+ä˝p ĎZ0ÝŘŮÉ+Ó)ЧźŃyeÍňŚ-ňô˝“Ł (Ăěb¬Đ:ý$” ńA·† Ć­BĽŕ*Łăozü‚úÝ E8X—őř6ýhâ!hŤýbŁq—˛HoŽ…řsöSA1Ë1łčwʤ·NY§Â~ ř58żâĄSÓ)ä{ąpúAĘ `ÍŻ{Áćq~ó <đŔnľ|•á!FBçPÜĂ>ţ%çĺvÂÄq‡&@°Vgp7ââť2FěcÎck],Ł›‡á±Śiv“őčłâçnډ/kő—•ftB!„B!„B!„ByŮ7(/óv(data.tar.gz 1294644051 0 0 100644 1113 ` ‹íVMlE¶ RѢ ś84O\šHözwíµ[§Şę¦Ic”&–¨RőĐőîŘ;ęzÇšťŤĺp€Ş Qr@‚Co€Äß©Šz"HH¨pDB= ¨8µ—Ň8 $Ţ®mŚ 4EMCć“âufßűć{ó˝™±šN—É&@“ţ?pÔ\@DzĎY-]+‡4¨ĺÓeâ@ŁU‚= pf ő=üĂ-ĎËŚ ˇ/BŐfí#Ŕ|Ąć†I0LL逡ińŁ ™]”–Ő4UQJ˘?ëúłśˇÉY\!:…tş±ĚŐµęA#”é¶E}E©wÁ‰Ő†b(\Ćlj( 6ę%âqQ”©a3óţ€ń©‰ľî{¤šŁ6ńRčó ţs ôÂA¸NĚ×áń ·<(‡ ŹÚĂ(xŽđ€2Ś~rßÎZKĂŻMN¬)ş¸-'ˇÇB°Q'Ĺúi#¨ËwŇŚC›9´Ů‹‰pp4ż Ľkn%-éD#{E)3‘Šę@Ě0d¶ŞžBń=‡ĄaĂIŚI`mw<ŠÔX·|ŃCý1ĹÉéĘÔ,揕ćJµE,fJµůéjf*P„r±R+MŐçŠ(×+ĺ…ę´µ^$ŚÄ wYćfl®¤C„E˝`Pú"š <Ď×Z"h˛M芳 :y·ö/f±<ć·âB1z´–“@›ŕ3‘„.§Ř4‚ýÝŮ8änJľ­&Á<5‚ëD ěY6TĂ"“Ń’pŚ" =YÍĐu=Ąg´|ęŐ"VUÎǧČŕ`ˇ( 5 7XňŢvXÔŢ ¦y›ě¬ň\¬áěźn/<‡ÚĚO Â4P•„ÄýŢ˙®ĺ·ÇZjßTµµĽ˝÷żfĆđţ7t˙z&›—÷˙N`lĺ‘řąçˇ}+W•uíńé_~»pecőŤÚĂď=vćĆéΞ>˙taţŮ‹đÓÍŻ®ď?¸×ßxfĺ­wÇčw/Ż~đÎ'çśW_)|˙äíĂ˙|uzýňű/îŰăâOż\jí¸}ë‡×_\|~Őx{淚G鷺‹Ő˝µ¶çŁî·—˝ůŮKź_ł‹7Ď\ąü͵ë_ŹýřÄÚů×冔ŘFü©žžh( aptdaemon-1.1.1/tests/repo/silly-important_0.1-0_all.deb0000644000175000017500000000340012117271433023533 0ustar renaterenate00000000000000! debian-binary 1232221431 0 0 100644 4 ` 2.0 control.tar.gz 1232221431 0 0 100644 495 ` ‹íÔÍŠŰ0ŕśőó±-˙ơ”öĐ Yz—ĺ‰-V–Ś$wIžľÚ4mÚ@»‡’-…ůQ"Ł Ă(IW7—EMUťÖčz=}çśeYäEÝÄý¦áŐ ŞŐ+X|`ĺ¬ Š{éý*I§ľňËäoÜ˙ş,Ű˙Řô_űĎůódÔ˙›ë8—MÝmŮU›Š7E—ox›Ő˛ÂŚ×m°x—úQ8L{+SŻ´>¬Ő4[„ ©…PŰ!ąĂN “ G–‹}#‹*Ď;ÜÇlE-Ű’7YŰoęfÓöí‹9í|pj[‘›Ďż´&8«˙áü×Yy=˙EžŃüż†{!Ĺ€[¸B¶ł‹“?öçoaž}Fç•5[ČľÎŘ{'GP†ĹĹXˇ5ű$” ńA·…v‡x+ŔTFÇŢôřő»A‹p´.éń-űhb ´Ć~˝SÇĄČŮ.f<ť"úIvď”u*¶p©ď˝tj>‡@ďŃÄł4śke°{.ýűOĘŹěţ˛ů4*9ÂSŚ„Îˇx„Cüß—“0qťbfÖęF<@Ľ¸@Ćč€=XĎŘ[=vË0(3ŔĽ¸Ůzô řyăÁç„§~®ŐLč–#„B!„B!„B!„ň׾ Ô‡( data.tar.gz 1232221431 0 0 100644 1104 ` ‹íVOUU¨ŚE=yč~xé.$“™I&iłĄ4Ýîv#ŰlČË–:™yÉ<:™ŢĽŮő )ÚEë=ô¦‚˙NeéÉ©= ŇhńÔ^Ş®zÁo&‰ńĎÚ-J×ß’IŢĽď÷~ßű}ß›QÓ‰{ ‘7ÍřŠřă5ţ­ëz&›Í™\4žĎką‰@‹$8câNó¶»˙…šžŢEţ›ů„¦k¦aJ˙wÎ˙Ŕµ8Iď˙őś‘—ţď´˙łÓ»Ă#“ĎJ˙˙ ˙ęyýít–/Ň;î.ţ›fV“ţď˙m×ňŰÄcmő8iRËWŰ+Ë˙\6ű—ţ†1öŤ× ÝĐôhŇ˙{މŐâëžűö­^U6´‡güů•͵Wę÷żőĐ™›§ź9{úüă…ň“áű[×ně?¸×ß|bőµ7'č—ĎŻ˝óĆçś_(|őč·‡ß˙áęěĆ巟ݷ˙ćĹ~şńŘúqűö×/5?ą0ýôšńúŢK›~—ę-ŐŢýéöúž÷z_\:ôęGĎ}|Ý.Ţ:sĺňç×o|6ńÍ#ëç_NHě˛ţgÝ>§m÷źÔţ6ý÷üďú_Ďgs¦ě˙ť@ÝĄt-űśŐ&Đłpâcž®š}¨‘¦€yB}?p¸íYb…ńŁa3ôE¨Ú¬sŻÔÝ0 †‰!]04í ~4ł kҲš¦*JI V`=ßc–+´8ë€+D·N7W¸:¤V2,ġ˛ ݱ¨Ż(Ťn 8±:P …Ëřd0UEÄVB˛LĽŁcÎ#Š23*çQÜŻ0935Đ}—T Ô&~@ žá?Bß!„KŕDą'O¸ĺA%lzÔÍ‚§(óÁLŕ¬Í15üŮâ„@ŔZ˘‡m9 }‚Ťr8q(ćO›ˇ @Xľ“f:̡­~L„ăőáťXk;1hI7 ÜŘó( ™‹TÔ†*`Ž!ł%Pő4Š÷9,ʞ-2dLă1ˤ%"ńX7 śBĹ}Ŕ=ÇŞ[oŔ8Opű#n—u1%1É4 „i…^2ćŔŮpŞTź_lÔˇX^‚SĹjµX®/Măl,Ľ‹¸đxó(Rcbą>ęŹ)NÎVgć1¦x¬´PŞ/a0WŞ—gk5[¬B*Ĺj˝4ÓX(VˇŇ¨VkłjTz‘03Üa›[±U¸“ő‚aęKhn€ň<\k™ É6ˇË(΂čěÝŢżĹňߎĹŮ㽜Úź‰$ô8ŢěĎÎĆńcw“Pňm5 ć!¨Ü'ϲ ¤ F™Ś–„c,ŃÔ“EŔ—5]Oé-ź„F­YŐq…ÁËâđ`ˇ( 5Ť,yw•·‚aŢťUYHB€9śýÍÓ ĎˇóSĂéA'Pů„—ř?ă«(aptdaemon-1.1.1/tests/repo/backports/0000755000175000017500000000000012202062656020340 5ustar renaterenate00000000000000aptdaemon-1.1.1/tests/repo/backports/Packages.gpg0000644000175000017500000000245112117271433022557 0ustar renaterenate00000000000000-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Package: silly-base Priority: extra Section: admin Installed-Size: 44 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages (0.1-0) Version: 0.1-0update1 Filename: ./silly-base_0.1-0update1_all.deb Size: 1934 MD5sum: 8e20af56a63a1e0cf40db3b0d07e7989 SHA1: 7ce87423d9c7a734478c464021994944d07fbf1b SHA256: d3693c0e3e7a9519b2833fdf1301c7e03e0620edf15b95b4c7329d9eb0bee553 SHA512: e9eded74e2449a98b02828539c55a83de85a762d2361cd8c929292eb9c5a6e5a9b8eb9b64c26c45d7b73280e12a280cd799a9b831126e484bcf55b56456d559f Description: working package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package doesn't contain any files and should always be installable. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAEBCAAGBQJO3ZylAAoJEGg8U8fPmC0YooQH/inTQPInDCiN3pTDvzWfV16F Ea+UpwBN0vzuyS6f3xmhLRxLQpuz/yk8buc1H+f/XKn6eygydJRFwIEgtdWAN/Tk eG9I4c5zYiHzZnNWe4XNBhRdPVkIHPkbmbRs/RvDiM5Cq0LvXIe0X0RV+empJyrC EgKbt3PJxh8qpMfrf/OIF+GkSqAug4tq0i0n6QxLOi0raeb9PjfDwErmBpbLDSFg XyDnNvPET5BtWxjgupOwoFqs2QRkrLv10JBdGRz+7qG6WhH1BCAOfzYxxCtn++Ip kmwo8c/pmtOr1BzZyyNMWP8nvVtB728eb/M84WGYynIEyCObUQ+Q2HVsXcsPQLc= =j3Nx -----END PGP SIGNATURE----- aptdaemon-1.1.1/tests/repo/backports/Release.gpg0000644000175000017500000000263612117271433022426 0ustar renaterenate00000000000000-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Origin: Debian Suite: sid-backports Codename: lalelu Date: Tue, 06 Dec 2011 04:40:53 UTC MD5Sum: 0bd018b62f0031d1ee4993896f50ddd5 782 Packages d41d8cd98f00b204e9800998ecf8427e 0 Release SHA1: 42201c0ab580cb2d557ca22a7ed04717a68b2e6e 782 Packages da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release SHA256: 950233659ae7e86ac11ae886298963e57f4414691881af1357456c6a4038ef91 782 Packages e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release SHA512: 984c9203b8e534b9b9cc486b21da94cf807428dc1d2daa56427a870f4d53111c58ce749c35509a5fcf7112433d7a403830378a0f482354fb382c0aa7a25bdbc2 782 Packages cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 Release -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAEBCAAGBQJO3aBFAAoJEGg8U8fPmC0Y+esIAMigdsJQneBznIwfTsA6EMSB wKegB/IAl7VJDPMXoUAdu9kVxaJbScrrhHJ6lFdIobgIA+5zWfJjMnvujsM5PDAv t8xzh/sU3m3HzR8iBDi10BO+SleKps/fKHnnQZOP8msf03rzydYUTbQI2KVhy+C1 MSx/KTAD4a/0NPKMw09kKNqfU0uoFLnJFZEO3kVYt3hIZyGjtvw2QoEPMphNMixk Qq7YVhKiXw/QB318dPb065bXQePvc1EWxQuR9RgtCCM+9FMyOyF1NwAzOc8XzjEY qHib6JzkbH+tBLqq5AmVLOTR07rndGQQuNtu70BkIGkuZC8KpDRMRTq5mi1cipg= =CUOV -----END PGP SIGNATURE----- aptdaemon-1.1.1/tests/repo/backports/Packages0000644000175000017500000000141612117271433022003 0ustar renaterenate00000000000000Package: silly-base Priority: extra Section: admin Installed-Size: 44 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages (0.1-0) Version: 0.1-0update1 Filename: ./silly-base_0.1-0update1_all.deb Size: 1934 MD5sum: 8e20af56a63a1e0cf40db3b0d07e7989 SHA1: 7ce87423d9c7a734478c464021994944d07fbf1b SHA256: d3693c0e3e7a9519b2833fdf1301c7e03e0620edf15b95b4c7329d9eb0bee553 SHA512: e9eded74e2449a98b02828539c55a83de85a762d2361cd8c929292eb9c5a6e5a9b8eb9b64c26c45d7b73280e12a280cd799a9b831126e484bcf55b56456d559f Description: working package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package doesn't contain any files and should always be installable. aptdaemon-1.1.1/tests/repo/backports/Release0000644000175000017500000000160312117271433021643 0ustar renaterenate00000000000000Origin: Debian Suite: sid-backports Codename: lalelu Date: Tue, 06 Dec 2011 04:40:53 UTC MD5Sum: 0bd018b62f0031d1ee4993896f50ddd5 782 Packages d41d8cd98f00b204e9800998ecf8427e 0 Release SHA1: 42201c0ab580cb2d557ca22a7ed04717a68b2e6e 782 Packages da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release SHA256: 950233659ae7e86ac11ae886298963e57f4414691881af1357456c6a4038ef91 782 Packages e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release SHA512: 984c9203b8e534b9b9cc486b21da94cf807428dc1d2daa56427a870f4d53111c58ce749c35509a5fcf7112433d7a403830378a0f482354fb382c0aa7a25bdbc2 782 Packages cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 Release aptdaemon-1.1.1/tests/repo/security/0000755000175000017500000000000012202062656020217 5ustar renaterenate00000000000000aptdaemon-1.1.1/tests/repo/security/Packages.gpg0000644000175000017500000000245112117271433022436 0ustar renaterenate00000000000000-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Package: silly-base Priority: extra Section: admin Installed-Size: 44 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages (0.1-0) Version: 0.1-0update1 Filename: ./silly-base_0.1-0update1_all.deb Size: 1934 MD5sum: 8e20af56a63a1e0cf40db3b0d07e7989 SHA1: 7ce87423d9c7a734478c464021994944d07fbf1b SHA256: d3693c0e3e7a9519b2833fdf1301c7e03e0620edf15b95b4c7329d9eb0bee553 SHA512: e9eded74e2449a98b02828539c55a83de85a762d2361cd8c929292eb9c5a6e5a9b8eb9b64c26c45d7b73280e12a280cd799a9b831126e484bcf55b56456d559f Description: working package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package doesn't contain any files and should always be installable. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAEBCAAGBQJO3ZylAAoJEGg8U8fPmC0YooQH/inTQPInDCiN3pTDvzWfV16F Ea+UpwBN0vzuyS6f3xmhLRxLQpuz/yk8buc1H+f/XKn6eygydJRFwIEgtdWAN/Tk eG9I4c5zYiHzZnNWe4XNBhRdPVkIHPkbmbRs/RvDiM5Cq0LvXIe0X0RV+empJyrC EgKbt3PJxh8qpMfrf/OIF+GkSqAug4tq0i0n6QxLOi0raeb9PjfDwErmBpbLDSFg XyDnNvPET5BtWxjgupOwoFqs2QRkrLv10JBdGRz+7qG6WhH1BCAOfzYxxCtn++Ip kmwo8c/pmtOr1BzZyyNMWP8nvVtB728eb/M84WGYynIEyCObUQ+Q2HVsXcsPQLc= =j3Nx -----END PGP SIGNATURE----- aptdaemon-1.1.1/tests/repo/security/Release.gpg0000644000175000017500000000263212117271433022301 0ustar renaterenate00000000000000-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Origin: Debian Label: Debian-Security Suite: sid Date: Tue, 06 Dec 2011 04:40:53 UTC MD5Sum: 0bd018b62f0031d1ee4993896f50ddd5 782 Packages d41d8cd98f00b204e9800998ecf8427e 0 Release SHA1: 42201c0ab580cb2d557ca22a7ed04717a68b2e6e 782 Packages da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release SHA256: 950233659ae7e86ac11ae886298963e57f4414691881af1357456c6a4038ef91 782 Packages e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release SHA512: 984c9203b8e534b9b9cc486b21da94cf807428dc1d2daa56427a870f4d53111c58ce749c35509a5fcf7112433d7a403830378a0f482354fb382c0aa7a25bdbc2 782 Packages cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 Release -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAEBCAAGBQJO3aA1AAoJEGg8U8fPmC0YigkIAK9CXZukop9g2byChtM8TRsN t5K3epgmAoxws7yFF0gZJdFk7p6EMVp+13o5R4WYZhTfVQO8AFcYrEFvb17CGY9g Y7JYAl79lkewZJuG5LYFaxUlyczft0p8yqRShpEMp+kKHUuHbpvABfVsLVh8dRWD ydm4xIxHD558QSctn0Do+yEuzEJvKuYfp2h5LedXcpylhXjgMchfDhZyvNhPhCEB uEb8/o458SILq4XWMSlkyOof/Rn/X7afbtJlG/oq0tSZ8SNYYkVj49TUPPGjD+zw cU7LY3G+oEsDMl9XvUTEjX8zfeqcvpfBDa/d5KyXV2ZRg0EJB7mgLVIdBNdhxqA= =8bi0 -----END PGP SIGNATURE----- aptdaemon-1.1.1/tests/repo/security/Packages0000644000175000017500000000141612117271433021662 0ustar renaterenate00000000000000Package: silly-base Priority: extra Section: admin Installed-Size: 44 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages (0.1-0) Version: 0.1-0update1 Filename: ./silly-base_0.1-0update1_all.deb Size: 1934 MD5sum: 8e20af56a63a1e0cf40db3b0d07e7989 SHA1: 7ce87423d9c7a734478c464021994944d07fbf1b SHA256: d3693c0e3e7a9519b2833fdf1301c7e03e0620edf15b95b4c7329d9eb0bee553 SHA512: e9eded74e2449a98b02828539c55a83de85a762d2361cd8c929292eb9c5a6e5a9b8eb9b64c26c45d7b73280e12a280cd799a9b831126e484bcf55b56456d559f Description: working package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package doesn't contain any files and should always be installable. aptdaemon-1.1.1/tests/repo/security/Release0000644000175000017500000000157712117271433021534 0ustar renaterenate00000000000000Origin: Debian Label: Debian-Security Suite: sid Date: Tue, 06 Dec 2011 04:40:53 UTC MD5Sum: 0bd018b62f0031d1ee4993896f50ddd5 782 Packages d41d8cd98f00b204e9800998ecf8427e 0 Release SHA1: 42201c0ab580cb2d557ca22a7ed04717a68b2e6e 782 Packages da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release SHA256: 950233659ae7e86ac11ae886298963e57f4414691881af1357456c6a4038ef91 782 Packages e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release SHA512: 984c9203b8e534b9b9cc486b21da94cf807428dc1d2daa56427a870f4d53111c58ce749c35509a5fcf7112433d7a403830378a0f482354fb382c0aa7a25bdbc2 782 Packages cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 Release aptdaemon-1.1.1/tests/repo/silly-broken_0.1-0_all.deb0000644000175000017500000000346012117271433023004 0ustar renaterenate00000000000000! debian-binary 1294644052 0 0 100644 4 ` 2.0 control.tar.gz 1294644052 0 0 100644 539 ` ‹íÔÍŠŰ0`źýó±-˙Äq(Ą…=´‡ÂB–Ţeyb‹Č’‘äÝ:O_%Űl—…nOI)ĚGŚy2úc”¤ŃŐeA]Uç6xŰžż3V±Ľ*X•—ˇż®YAÝŔě<·‘5Ćż÷·÷˙©$»ĘÍŁ»ňůŻËňŹçźoÎź±ŽČŤę_í­Q˙°ţë¬|U˙Ĺ©ţ Fő÷\xŹ[x]‡ńÎĚVĽtNĎ1.ţŽÖIŁ·%l•Ĺź­¤GágbąRń7.µÚ-ě°ĺ·[ľ Ô*<đˇĂGTźzĹýŃؤÏńWö_)ěV;y YŠ<ľĂ uç.ŁĎš?r©Z®0Ţ…ÁÎŕÝ(u|oĄ±Ň/[ŔŢňđO'¬śžC~Íž¤ŕy]ĐťSŁ2¬v§ü—8҇ĚţwçÓ Ĺr(r ?Ŕ¶ćň:†‘ëĐŽ¨=xcT.î6!ÚcF‡1öƆ±ŰąďĄîašídş$†đyÂŔ—É ®µńĐ"ČËĆ„‚ĎOÓâ0JçN9^V˛$tWB!„B!„B!„B‰~ÔÜ÷´( data.tar.gz 1294644052 0 0 100644 1107 ` ‹íWKE˘i Šzňýń’]ééîy%ł!¤łŮÍŽlv‡y6äžîšéb{ş†ęęf=čA‚fQĸAą©ŕë–śŚ HĚQD§äuŐţÝ3ă®Ů@܇PLwOő˙őýőŐcFM'¶˘ËĹwÄßďńł®çt#—ÁkŰ ­€\bÂâ θWÜVď˙§PÓaŔÓ{Ě]Ëšôçü\‹“ôŢń_φô§ýwťŢţ™ĽÜ˙wĹ˙€z^/Őŕl‰řé]ńż€ţç4-+ýßu˙mÖéqÚrĹűźĎf˙Í#“Ťü×ňů®ţ Î=_Čć I˙·5—бě%«E kŕµ|şBhô JV °f ő=üŔŃ–g‰ĆʇŤĐˇjłö1`ľRsĂ$9L逡i‡ńRÔrE]”–Ő4UQJ˘ßëúłěˇÉY\!:Ĺtş±ÂŐµęÁD( Ňm‹úŠRď‚« f(\Ćlj"( 6ęeâqS”©áŚćýŮăS}Ý÷I5Gmâ¤Řç|s ôÂA¸NÍ×áń ·<(‡ ŹÚĂ(xŽđ€2Ś~rßÎZKĂÇ&'Ö]\–“Đc!Ř(‡‡bý´ T€ĺ;iơÍÚěĹDŘ8ę_Ţ€5·–t˘–ŔŤ=ʉ˘”™HEu f2[UOˇřžĂň°Ša'Ć$0łŚ["Ďu˘Ä TÜĂQ®şůŚęt‡?âvYKr‘‹ěâä€0 ÍĐKĆ gJµŮ…z ĚůE8cV*ć|mqŁq˛ŕ[ô°ĎEŰŹ"5Ć-_ôPLqzş25‹9ć‰Ň\©¶eŔL©6?]­ÂĚBL(›•ZiŞ>gV \Ż”ŞÓj4ő"a$f¸Ç07c«p$",ęŇŃÜĺy¸Ö2A“mB—QśŃö»µ1‹ĺ1żŠŃٱśÚź‰$t9ĹI#Ř?ťŤóGî&ˇäŰjrG Fpś”=Ë&‚jQd2ZN°@Dˇ§MĐ ]×SzF+$ˇ^5±Şöp2ŢE Ei¨i¸Ŕ’÷·Â˘é­`š·ÉĘ*Ď%!ŔÎ˙ĺôÂ}¨ÍüÔ ýëďŻn¬˝Q{ř˝ÇÎÝ>űÂůłž.Î?{ ~ľsăÖÁĂűýŤgVßzwŚ~űňÚď|˛äĽúJń»'<úń/×§Ż]y˙Ĺo_:ôé—מZ?ißýţµĆ'ź_3ŢŢyăŃźRÝĹꇿÝ]ß÷Q÷›ËGŢüěĄĎoÚćťsWŻ|}óÖWc?<±~áuą %$$$$$$$$$$$$$$$$$ţCüIśZŹ( aptdaemon-1.1.1/tests/repo/silly-base_0.1-0_all.deb0000644000175000017500000000344012117271433022434 0ustar renaterenate00000000000000! debian-binary 1294644051 0 0 100644 4 ` 2.0 control.tar.gz 1294644051 0 0 100644 524 ` ‹íÔÁŽÚ0PÎůŠąőDśTU­´‡öPi%V˝;öXŮNiřúzaŰUW궨*Í–Á™ŚŤ­qľ]]‘4śźűäeţÎg%Ż/«4Ţ4E3>»1DáfŢąřZÜźž˙§ňĹ^ń0îÕϿ^.{ţeąüőü+K>‚Î˙ę:ĆdSwU»ěřŠł¦ęĘk‹Zr,XÝVcđ‹0Ź ĺä"hc¦y'.ä lŹĆőůvZŘĽ?eĄŘ6˛âeŮá6%ŞjŮ.YS´jU7«VµŻĄs‡Éë~ٌܰţĄłŃ;óëż®řËúŻXMő ÷BîDŹkx®ÄlăF/.!ű‚>hg×Päl^dĽtDGźb…1ŮgˇmL ý6RĹt+ŔGÔÖ¤o~Eóľ7"žśĎľË>Ů´űĆ šoô)e©Ęl“2žgjŻmvďµó:NkŔoŃ‹ěôúp 9:żÓ¶‡§%f°y\ńŹźt#¸íóŕqĐr€cŠ„ÎŁŘÁ”ţîsŠ˝°©ßŁŤť39< 8AşŻ@¦č śMslť…ÝŘ÷çŚţŕ†<ôyŇÄO A9 öM„Ç2K{¦—µI VAÜhTÚ˝Łtú˛#˘3ÓEH!„B!„B!„B!äo}kL(data.tar.gz 1294644051 0 0 100644 1107 ` ‹íWMlE¶ RѢ ś84O\šHözwý×:UŐmš4Fibů‡*U]ďŽ˝Ł®w¬ŮŮX8  %$8ôHüťŞ¨'‚„„ G$Ô‚ŠS{)ŕ€x»¶1‚Đ”¤AšOňîzvŢ7ß›ďÍŚ­¦; QČĺâ;âŻ÷řY×sş‘ËDWl/´\r‰]@‹$8câný¶z˙?…šžŢcţëZNĎK˙wĎ˙Ŕµ8Iď˙őĽˇI˙wۇŮé˝áż‘ÉËý˙ľřPĎëĄV°ŤŰÁżóż€ţgłą˙ßo˙mÖéqÚrĹvřźĎf˙É#“Ťü×ňůBNĎf°Nô|¦PH€&ýßqÔ\@Dz/X-]+‡4¨ĺÓeâ@ŁU‚Ą °f ő=üŔŃ–g‰eĆŹ‡ŤĐˇjłö1`ľRsĂ$9 逡i‡ńRÔrE]”–Ő4UQJ˘?ëúłˇÉY\!:Ĺtş±ĚŐµęA!”é¶E}E©wÁ‰Ő3.ăăÁD› uČńŽŹ8Ź)ĘÔ°¦‡q4ŔřÔD_÷=RÍQ›ř)öyß}‡p.Sóu8E|Â-ĘaĂŁö° debian-binary 1294644052 0 0 100644 4 ` 2.0 control.tar.gz 1294644052 0 0 100644 502 ` ‹íÔ_‹ś0pźó)ć ¬]u]Jiá íCá`ŹľÇ8«á˛É’Ä^ÝOßt»÷§ íAaď8J4“č0¦YrqyÔTŐqŚÎÇă5ç/Ş’WĹ2Î7 Ϩ’0ů @⬠˙Š{îů•f»ľňÓÎ_¸ţőrů×úeýgý9/Jž@Nőż¸ŽsŮÔ]Ů.»jUń¦ěŠoóZVóş-&ď2? ‡Yoeć•Öó˝G”Đ™…PŰ!˝ÂN “Vm#ËŞ(:ÜĆle-Ű%oň¶_ŐÍŞíŰgsÚýěÔ0–‹÷ż´&8«_±˙kŢś÷§¨˙_Ŕµ·bŔ5ś5!ŰŘÉɇůýď0ĎľˇóĘš5ä)_äěŁ“Ł (Ăäb¬Đš}şĎ°†9ĆĘ„x˘[Ă;áă#źQOx×ăwÔ-ÂÁş´Ç÷싉ŃűĹFbҲ`›¸ŔqQŃď”a×NY§ÂĽüś`WčĄSűS‡—€Ó¶l~˝Ĺý­ĺA€Çvű8y7*9Â]Ś„Îˇ¸…9~‚Ç;a⸋™!X«S¸q†řŁö`M\ckôŘMĂ ĚűÉí­Gź2ÇÍ>%<îáé^­Á”~x„B!„B!„B!„BţĎOžň(data.tar.gz 1294644052 0 0 100644 1106 ` ‹íUME˘i Šzň}xÉ.ĚôßLď$ł!d˛ŮÍŽlv‡ů1lČ!=Ý5ÓEzş†ęęf=čA‚fQĸAą©ŕß),9ą‚ 1GAr ž’KÔU"řşgĆ]ł$ë őÁt÷tż÷Ő÷ę{UĄj©‘·¬äŽřű=y6 Ë0­,^ă¸|ŢĐS`ĄvQ(l⌉;Ĺm÷ý U‹B®í2˙ Ý2 é˙Îůz6'Úîńß4łŇ˙ťöße޶;ü7łyą˙˙'ţ‡Ô÷{†$Ôöµ÷ßÄ÷†eé–ô7řď°NŹÓ–'îŃ˙É\îßü7łąŘ}r2oąlĽţó9+—]ú˙ŔQóhŰ9g·tí\Ň v@W ŤTIñ#4đń‡[ľ-V?5˘@DŞĂÚG€JÍ‹Ň`ZŇS×⥠[C‡ŚžÓuUQJ˘?ë>ł]ˇÉY Architecture: all Source: silly-packages (0.1-0) Version: 0.1-0update1 Filename: ./silly-base_0.1-0update1_all.deb Size: 1934 MD5sum: 8e20af56a63a1e0cf40db3b0d07e7989 SHA1: 7ce87423d9c7a734478c464021994944d07fbf1b SHA256: d3693c0e3e7a9519b2833fdf1301c7e03e0620edf15b95b4c7329d9eb0bee553 SHA512: e9eded74e2449a98b02828539c55a83de85a762d2361cd8c929292eb9c5a6e5a9b8eb9b64c26c45d7b73280e12a280cd799a9b831126e484bcf55b56456d559f Description: working package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package doesn't contain any files and should always be installable. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAEBCAAGBQJO3ZylAAoJEGg8U8fPmC0YooQH/inTQPInDCiN3pTDvzWfV16F Ea+UpwBN0vzuyS6f3xmhLRxLQpuz/yk8buc1H+f/XKn6eygydJRFwIEgtdWAN/Tk eG9I4c5zYiHzZnNWe4XNBhRdPVkIHPkbmbRs/RvDiM5Cq0LvXIe0X0RV+empJyrC EgKbt3PJxh8qpMfrf/OIF+GkSqAug4tq0i0n6QxLOi0raeb9PjfDwErmBpbLDSFg XyDnNvPET5BtWxjgupOwoFqs2QRkrLv10JBdGRz+7qG6WhH1BCAOfzYxxCtn++Ip kmwo8c/pmtOr1BzZyyNMWP8nvVtB728eb/M84WGYynIEyCObUQ+Q2HVsXcsPQLc= =j3Nx -----END PGP SIGNATURE----- aptdaemon-1.1.1/tests/repo/whitelisted/Release.gpg0000644000175000017500000000000012117271433022742 0ustar renaterenate00000000000000aptdaemon-1.1.1/tests/repo/whitelisted/Packages0000644000175000017500000000244012117271433022336 0ustar renaterenate00000000000000Package: silly-base Priority: extra Section: admin Installed-Size: 44 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages (0.1-0) Version: 0.1-0update1 Filename: ./silly-base_0.1-0update1_all.deb Size: 1934 MD5sum: 8e20af56a63a1e0cf40db3b0d07e7989 SHA1: 7ce87423d9c7a734478c464021994944d07fbf1b SHA256: d3693c0e3e7a9519b2833fdf1301c7e03e0620edf15b95b4c7329d9eb0bee553 SHA512: e9eded74e2449a98b02828539c55a83de85a762d2361cd8c929292eb9c5a6e5a9b8eb9b64c26c45d7b73280e12a280cd799a9b831126e484bcf55b56456d559f Description: working package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package doesn't contain any files and should always be installable. Package: other-pkg Priority: extra Section: admin Installed-Size: 44 Maintainer: Sebastian Heinlein Architecture: all Version: 2.0 Filename: ./other-pkg_2.0_all.deb Size: 1934 MD5sum: 8e20af56a63a1e0cf40db3b0d07e7989 SHA1: 7ce87423d9c7a734478c464021994944d07fbf1b SHA256: d3693c0e3e7a9519b2833fdf1301c7e03e0620edf15b95b4c7329d9eb0bee553 SHA512: e9eded74e2449a98b02828539c55a83de85a762d2361cd8c929292eb9c5a6e5a9b8eb9b64c26c45d7b73280e12a280cd799a9b831126e484bcf55b56456d559f Description: another working package aptdaemon-1.1.1/tests/repo/whitelisted/Release0000644000175000017500000000162312117271433022202 0ustar renaterenate00000000000000Origin: Ubuntu Label: Ubuntu-Whitelisted Components: main Suite: sid Date: Tue, 06 Dec 2011 04:40:53 UTC MD5Sum: 0bd018b62f0031d1ee4993896f50ddd5 782 Packages d41d8cd98f00b204e9800998ecf8427e 0 Release SHA1: 42201c0ab580cb2d557ca22a7ed04717a68b2e6e 782 Packages da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release SHA256: 950233659ae7e86ac11ae886298963e57f4414691881af1357456c6a4038ef91 782 Packages e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release SHA512: 984c9203b8e534b9b9cc486b21da94cf807428dc1d2daa56427a870f4d53111c58ce749c35509a5fcf7112433d7a403830378a0f482354fb382c0aa7a25bdbc2 782 Packages cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 Release aptdaemon-1.1.1/tests/repo/silly-fail_0.1-0_all.deb0000644000175000017500000000352212117271433022436 0ustar renaterenate00000000000000! debian-binary 1294644050 0 0 100644 4 ` 2.0 control.tar.gz 1294644050 0 0 100644 576 ` ‹í–_o›0ŔóěOqSž„hš6©ŰäJ©¶gcđJěČ6KÓOż¬ëiÝĂÔT•î'ńůě3wľ(ž˝8 RćůÔ"OŰé™óś§yĆó4EyY&Ĺ ňŮ|`㬠ĎéýküŤĹ{ë6>Ľž˙9/řĺc'›ABţqćďâZ›Řwlwxéô>ŔÖ:đşďŹ‹­Đ=c^X(62‡ď ~ŕ·iHÝčś±ńćâ×ä~ŘůÎ˙Ĺrů×řOÓĺăüĎů(˘ř?5ç˛,ę¬ZÖů*çeV§+^%…ĚU‹*ĽĂô śŠ+ăű|ËNVő¶Ť.T­…‰Ú[–Šm)3tb­¶¸PVČjÉˤjVEąŞšęąĺěţčtŰĘ"gŤiMp¶Ĺř/đ°˙ç˙çŕRČkŃŞőĂ~c'˙ö' Ďľ)çµ5kH"ľHŘ'';” C]Ń÷ě«Đ&ŕ­Ü6ŞXMź•6=ŢđľQ?U˙±íE¸µ.jÔö« ś©šĹFßâ*YÁ6¸âdE4;mŘĄÓÖép\ş N° u*N&}š.ĆŢTx›qÓp·iĐŚ…‹ÝŢ ť–Pj§Ä5ńŤď†ě„Áv§L€`mÁU§Ž€) $jŐ€5hc,ŹUm«M űÁaý¤|ÄŻ« ?ÚÚŁđ·•“uŃÄŃO[Ź(íAAAAAA˙Ď/KŁĺ(data.tar.gz 1294644050 0 0 100644 1105 ` ‹íWKE^˘i Šzňýń’]ééîy%3!¤łŮÍŽlv‡y6äžîšé"=]Cuőłô Ał(bÜ ‡ÜTđu KN® HĚQD§äuŐţÝ3ă®Ů هPLwOő˙őýőŐcFMŤm;4D>›Ťďżßăg]ĎęF6ŤWŰóy-3ٱ@‹ŚqĆÄ˝â¶z˙?…š žÚKţc»®eué˙ú¸'©˝ăżžÓsŇ˙ťößavjořo¤sié˙nřPĎë%›őR»äýĎdŇyé˙.űołNŹÓ–+„˙ąLćßü7Ň™Č-—Ë㱟Ćy˘ç2ř4é˙¶ŁćŇ:–}ÁjčZ8¤A-ź.=¨’†l€YB}?p´ĺYb™ńăa#ôE¨Ú¬} ŻÔÜ0FS:`hÚaĽ´lA× ©ˇťŞ˘”DżÖő=f9ŘC“ł6¸Bt ©Tc™«jŐ!‰8P¤ÚőĄŢ 'VĚP¸ŚO“P@l&Ô!KÄ;>â<¦(SĂ9=Ěűł&¦&űşď“jŽÚÄHˇĎ3řć@č;„p śšŻĂ)ânyPµ‡Qđáe>ýäľ śµ8–†ŹMN¬)ş¸,‹Đc!Ř(‡‡bý´ T€ĺ;)ơÍÚěĹDŘ8ę_Ţ€5·–t˘–ŔŤ=ʉ˘”™HEu f2[UP|ĎaiXŰ“cŹY&,‰çŔ:Qâ$*îŽá(WÝ|Fu:€Ăq»¬%ąČEvqr@@fč%bچ3ĄÚěB˝ćü"ś1+sľ¶XÄhś,ř=ěsŃvÇŁHŤ…qË=ÔSśž®LÍbŽy˘4WŞ-b0SŞÍOW«0łPĘfĄVšŞĎ™(×+ĺ…ę´M˝H‰î1ĚÍŘ*I‡Ü^Aé‹hn€ň<\k‰ É6ˇK(΂hŢÚżĹňߊ ĹčŃX6Ág"]NqŇöOgăü‘» (ů¶š€ě¨'eϲ $ˇFé´–€,Qči4C×ő¤žÖň ¨WM¬Ş†=śŚw‘ÁĆBQj.°Äý­°hz+ćm˛˛Ęs °†ó9˝pj3?9RtHUĆ$ţóůďZ~‹x¬ĄöÝT[ËŰrţk†a ĎC7đ÷ź˙Óňüß ŚŻ<ß÷=t`庲®=>ýëď—®m¬ľQ{ř˝ÇÎÝ>űÂůłź.Ě?{~ľsăÖÁĂűýŤgVŢzwś~űňęď|rÁyő•ÂwOţxôă_®OŻ_}˙Ĺo_>ôé—ëO­ť´ď~˙Ză‹KĹçWŤ·÷_Ůxô§dw±úáow×ö}ÔýćĘ‘7?{éó›¶yçܵ«_߼őŐřO¬]|].H ‰?łŔýż( aptdaemon-1.1.1/tests/repo/Release.gpg0000644000175000017500000000075212117271433020433 0ustar renaterenate00000000000000-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQEcBAABCAAGBQJPqculAAoJEB8w/lhZqRjZCeEH/jpt4El5MNKUR3Eu0nUR9CYn MNo0ZuFGQ+y11yL+FZ7nkwKIFdbFDwcR/5GFPZBPvltTmuBkbSa7sWNU9jyPwJHC 7IcKVw40C87lMUDN/rRFdGMhYZzpu5n2F74P7frwlgu16yRq5towprwNdRt+6k9F LmVvo/os8/p/WwFCPX10ARdm+JTZa/G8OTfSSu6iWmoClOQ/JvYGnmzxyqVICFiF lR2YGLAW+RXOo/B9jhJWpz6f5/0MPVd8SpHaONV8RxZeOEkJVTeWYXg9HCIBCjUc azCiflzQpTC/cVFvjfEaEP23KHaSV2dTMp0fq91yMCiPq/wDqyB0M64Q8xAMN00= =FgqZ -----END PGP SIGNATURE----- aptdaemon-1.1.1/tests/repo/Packages0000644000175000017500000001623512117271433020020 0ustar renaterenate00000000000000Package: silly-important Priority: important Section: admin Installed-Size: 32 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages Version: 0.1-0 Filename: ./silly-important_0.1-0_all.deb Size: 1792 MD5sum: ef9a1eefd088a375ef58773831256205 SHA1: 4075517d20fdd81d8642ab0febe7ad8c5fcde4f0 SHA256: 3003723f0f2686a6ed700f364b0c13c966026c5e5f3b383969d87b5dba411d5e Description: an essential package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package is an essential one. Package: silly-fail Priority: extra Section: admin Installed-Size: 36 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages Version: 0.1-0 Filename: ./silly-fail_0.1-0_all.deb Size: 1874 MD5sum: 623a67e49bb7a1351a9bf1ae72fc6cfb SHA1: 76417770f2b788b680ef18be66b5a6c4ec51bc62 SHA256: 45fea3eb64a427a288a90b12f42cc3a6abea8e8387efd4879b319db736890ebd Description: installation fails Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This installation of this package will always fail. Package: silly-broken Priority: extra Section: admin Installed-Size: 32 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages Version: 0.1-0 Depends: silly-unavailbale Filename: ./silly-broken_0.1-0_all.deb Size: 1840 MD5sum: 78bbe306af637c18f5df9dc47bfbf41f SHA1: bb63cdbde699fe2100349b0418af095e6d9f80fe SHA256: a816e61369de433e261b5ad041e913ee3c140637825ce6613a5c99efbfd4c21b Description: package with broken dependencies Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package cannot be installed because of a missing dependency. Package: silly-depend-base-lintian-broken Priority: extra Section: admin Installed-Size: 32 Architecture: all Source: silly-packages Version: 0.1-0 Depends: silly-base Filename: ./silly-depend-base-lintian-broken_0.1-0_all.deb Size: 1758 MD5sum: ba9e0b746b08fae8f8a8fbb4cf9ba41e SHA1: 8bcaf6034b09383e461f0e366762e6b6683e69e2 SHA256: ff1302170d232c21ab66f332e38c51b2af9b6d06d8f377ae5944465be9467c22 Description: package depending on silly-base (but lintian broken) Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package depends on silly-base and has no "Maintainer" set and the file owner is totally wrong so lintian complains about it. Package: silly-essential Essential: yes Priority: extra Section: admin Installed-Size: 32 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages Version: 0.1-0 Filename: ./silly-essential_0.1-0_all.deb Size: 1800 MD5sum: 492c977ce9b2f1b6a51d7c475aad058b SHA1: 06fb9a5efb07f72edbd297d2a21cffd1787a2388 SHA256: e516159e99bd40d860515e4c9af251ab056eaabae58ea3f5ee11eecc4f3bee50 Description: an essential package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package is an essential one. Package: silly-postinst-input Priority: extra Section: admin Installed-Size: 36 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages Version: 0.1-0 Filename: ./silly-postinst-input_0.1-0_all.deb Size: 1906 MD5sum: 99eecdacbcdf95b9e7b3b0c50f812a8d SHA1: c066b13414faa9931ff688c29f6dbcf4809861a9 SHA256: ce6e4f7f59c3d1da45ff0b3e8e54ebdcf9a5b44edeccf9fc04c96daec5cfa020 Description: breaks your non-interactive package manager Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package will wait for user input in the postinst script. Package: silly-config Priority: extra Section: admin Installed-Size: 44 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages Version: 0.1-0 Filename: ./silly-config_0.1-0_all.deb Size: 1928 MD5sum: 565698b052640ed3d514f6b38ad457c7 SHA1: e7169cc58f10e8ff9481cf31b2ffb947bc99f617 SHA256: 255f025bae5b24a91158e7daa986f9bf59146ab1895f39452104eb97c412d190 Description: wants to update a locally changed config file Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package will install a configuration file. Package: gstreamer0.10-silly Priority: extra Section: admin Installed-Size: 168 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages Version: 0.1-0 Depends: libc6 (>= 2.7-1), libglib2.0-0 (>= 2.16.0), libgstreamer-plugins-base0.10-0 (>= 0.10.0), libgstreamer0.10-0 (>= 0.10.14), libogg0 (>= 1.0rc3) Filename: ./gstreamer0.10-silly_0.1-0_all.deb Size: 52016 MD5sum: bbaf259e0dfcb39050061181d2a13755 SHA1: be59be2d82b7f57097f387a22f5f295d202d9c1d SHA256: 6b91b67de10ae547cd4c648ef343c8acd35e626e4a1ac20df1aaae51d6ec6328 Description: gstreamer plugin test package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package is a GStreamer test plugin package. Gstreamer-Version: 0.10 Gstreamer-Decoders: audio/ac3; audio/mpeg, mpegversion=(int){ 1, 2, 4 }; Gstreamer-Elements: ac3parse Package: silly-base Priority: extra Section: admin Installed-Size: 32 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages Version: 0.1-0 Filename: ./silly-base_0.1-0_all.deb Size: 1824 MD5sum: 81ba1cf86142c466f35a36a11b5b7b52 SHA1: f949c8e5962a43fbcd4f7d67df0ebe741052c497 SHA256: a7c2a30abdb6488d5c3d2894db398f5dfafbc6be098da1135822be4e3ac94b32 Description: working package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package doesn't contain any files and should always be installable. Package: silly-depend-base Priority: extra Section: admin Installed-Size: 32 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages Version: 0.1-0 Depends: silly-base Filename: ./silly-depend-base_0.1-0_all.deb Size: 1812 MD5sum: 3ee7181283e4926558d2afdf7b2657f1 SHA1: 8294794b1727e22b123866f9124431a2c7b79380 SHA256: 5fa74f7bdc0d207188790419130330becb0cf7484a972762ed512090885016f9 Description: package depending on silly-base Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package depends on silly-base. Package: silly-base Priority: extra Section: admin Installed-Size: 44 Maintainer: Sebastian Heinlein Architecture: all Source: silly-packages (0.1-0) Version: 0.1-0update1 Filename: ./silly-base_0.1-0update1_all.deb Size: 1934 MD5sum: 8e20af56a63a1e0cf40db3b0d07e7989 SHA1: 7ce87423d9c7a734478c464021994944d07fbf1b SHA256: d3693c0e3e7a9519b2833fdf1301c7e03e0620edf15b95b4c7329d9eb0bee553 Description: working package Silly packages is a set of packages which will break your package management tool. They are created only for debugging purposes. . This package doesn't contain any files and should always be installable. aptdaemon-1.1.1/tests/repo/silly-postinst-input_0.1-0_all.deb0000644000175000017500000000356212117271433024547 0ustar renaterenate00000000000000! debian-binary 1294644049 0 0 100644 4 ` 2.0 control.tar.gz 1294644049 0 0 100644 601 ` ‹í–ÍnŰ0 €sÖSpí9ŽeÇv Ăô°Ȱťe™±…:R ÉmÓ§“4ču?—´Ŕ–e‹)[&Íd2:;)QĹľ'Nűýµ”…ĚŠ\™¤ńŞJ‹Ł`Qy€‘w.ţNďOň˙”d˛q!âëíż,ĘöźĆw7ŐRŢ˙łsůfR; ť¸„ă—A{ł‰°r‚éűíř(»˘#ŚQÔť‹oĘ´Ýë=ěµBxTŤ đŢDH…1˙\üŻ›" ëpćü_N§żŚ˙¬8É˙RfYĆń˙ÔRꪬóů´.f”uó:›ÉyZęSYÎs ö””ÇIăôäą|0Ńť˛-ö®M®°6Ę&íČÔŞŇy‘e5®Čd^ęůTV鼙•ŐlŢĚ˙ΰŰl˝i»Č™ălńŻťŤŢőŻ˙eőSüç2çř ®•ľQ-.ž˙Ń/Ýŕő“đ ÄWôÁ8»€4‘ăT|đş3u<骾ꕱ‘ú,±VdTYřĆöÔŕm·Řżo{śO|'>‘Sš‰ÍxiČJ^Š%YÜ{QÍÚXqíŤó&n€÷Ń+q…‡2eŻRSĄq`Këë,-?˘W4˙áqٰV–:/`ą{šăp@Á®˘q«§Á»ÎčîHó`ű`úQ,m­ŃFÎő |ép ”Ë@“vÄś%»Š¨ÁzhŰ]}´<˝_ ‰:ľtäř¸¶˝Ł;ŞŁNŠ(:Cěđ´4K82 Ă0 Ă0 Ă0 Ă0 Ă0 Ă0Ďň)}Z<( data.tar.gz 1294644049 0 0 100644 1111 ` ‹íUOUU¨ŚE=yč~xé.$“™I&i“Ršnw»‘ínČË–:™yÉ<:™ŢĽŮő )ÚEë=ô¦‚˙NeéÉ©éA´xj/UW=ŕ7“Ä®Ý"Űu…÷d’7ß÷{żďýľ÷žšNÜwhĽiĆOÄ_źńo]7uĂĚ視Ăń|^×`&va ,ŕŚ‰»Ĺm÷ţ 5<˝Çü×5ÓĐĄ˙»çŕZś¤÷Ž˙zÎČH˙wۇŮé˝áż‘ÉËó˙?ń? ž×OuY ¨ő»ˇHď¦˙zäÎĚĘýżwü·Y·ĎiŰ˙Ţ˙\6űOţ™läż–ËĺM=›Á>14S3 I˙ď;ę.  k٬6ž€CšÔňé q Ů‡iZŘ –s„ú~ŕhŰłÄ ăÇĂfč‹PµYç0_©»a Sş`hÚaü*hfA× Ąe5MU”˛ĚŔzľÇ,ghqÖWn!ťn®puH­:dÔeAşcQ_QÝ@pbu  —ńÉ`ŞŠ­„:d™xÇÇśÇezÔÉŁĽ?`rzj ű©ć©Mü€<Ă„ľC8—Ŕ©…ś">á–•°éQ{ĎPć1HŔY›ciřłĹ €µD·eú,ĺpâP¬ź6CA€ °|'Í8tC[ýÇó Â;°ÖvbĐ’n4¸±ç1Q”2©¨ UŔ,CfK ę"Šď9,ŹŞM2dLă1ˤ%"ńX7JśBĹ}Ŕ5çŞ[/Ŕ¸Npů#n—u±$±Č64 „i…^2ćŔh8S®Ď-6ęPZX‚3Ąjµ´P_*b46 ľE\´Óő(RcaÜňEőǧgŞÓsS:Qž/×—° -×fj5]¬B *Ąj˝<Ý/UˇŇ¨Vk3jÔz‘03Üe™[±U¸’ő‚aéKhn€ň<\k™ É6ˇË(΂čŘÝŢżĹňߎ ĹčńZ¶Ŕg" =N±iű»łqţŘÝ$”}[M‚yę׉@Ĺłl)¨…E&Ł%áŢQčéh†®ë)=Łĺ“Ш•°Ş:Îp2>E† Ei¨i´Á’÷¶Ă˘öV0ÍŰbgUć“` ç˙t{á9Ôa~j¤1čŞ$$vŕţw-żM<ÖVľŞí•Ľ˙5Ă0F÷żˇůD4`hňţß L¬>?÷=p`őş˛ˇ=:óËo—®m®˝VđťGÎÝ:űÜůłź,,<}~şýĹ͇÷ű›O­ľńöýćŵ÷Ţúč‚óňK…o˙áč‡?_źŮ¸úîóŢş|čăĎ7žX?ißůî•ćg—ŠĎ®oůđŹ©ŢRíý_ď¬ďű ÷ő•#Żň§7ěŇís×®~uăć—ß?¶~ńUą!%$$$$$$$$$$$$$$$$$vż¤ŻD{( aptdaemon-1.1.1/tests/repo/Release0000644000175000017500000000271312117271433017656 0ustar renaterenate00000000000000Date: Wed, 09 May 2012 01:24:59 UTC MD5Sum: da80d4a76b8c6119b697558524cdaf71 7325 Packages d41d8cd98f00b204e9800998ecf8427e 0 Release 0bd018b62f0031d1ee4993896f50ddd5 782 backports/Packages cec65a680d0777c2f8f06bbaa503d345 899 backports/Release 0bd018b62f0031d1ee4993896f50ddd5 782 security/Packages 4fa3f7d1e32aa2bc06b63bf7519d9e64 895 security/Release SHA1: c911274d83557d97f04bbab8d681efd11450b695 7325 Packages da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release 42201c0ab580cb2d557ca22a7ed04717a68b2e6e 782 backports/Packages 71e98c6dbe072ebbf7c959c4ebc496743fc4d3ae 899 backports/Release 42201c0ab580cb2d557ca22a7ed04717a68b2e6e 782 security/Packages 8e14bd91f977a2e12d3e30b3649c3f772e84126e 895 security/Release SHA256: 9ee3b2e2d7cd1d6f567a7914d4a78e201b80b65d01d21a0865f1d5a9f5cceab2 7325 Packages e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release 950233659ae7e86ac11ae886298963e57f4414691881af1357456c6a4038ef91 782 backports/Packages 6e85dc9fc5506e5564bd9914abc165f0c50ac15d34ede44c31b363468ef641b5 899 backports/Release 950233659ae7e86ac11ae886298963e57f4414691881af1357456c6a4038ef91 782 security/Packages cfdf15ef290d6ab0c9e3afff718dec679d78a07b4364cbfc46be9d9ad4296ca1 895 security/Release aptdaemon-1.1.1/tests/repo/silly-depend-base-lintian-broken_0.1-0_all.deb0000644000175000017500000000333612117271433026607 0ustar renaterenate00000000000000! debian-binary 1300886298 0 0 100644 4 ` 2.0 control.tar.gz 1300886298 0 0 100644 440 ` ‹íŃÁŠŰ0PźőĂžÚ˝¶×Ž!·B/=˛ô.Ű[DŃI&użľădłÝ-´=ĄĐ2Ź4Ł™±˛űäćrÖÔőşMťż^Ż’˘¨«ňˇ)Ş˛äýfSo¨“ż`Q{€rż‹űÓů?*»ďČEOöĆďż©Ş_ľł©ŢľQ”Mž@.ďsŹş;č·ڵKÚă„®O[0µĆEŁ]Úz: S;š}÷8]ň‚ú‚>r[Čł"ÍŐߍ&bgϱÚZőÉń¶űtgľńŢC©>ž«„ë]k5µăśó=ş?§˝!oâ˛ü˝ć”Đy3]Bž‹ĂĄ[ă ÷ę.x×ΞۇKűďěÖ€kn@CŔ´˙±yM7‰#9őžúz¬ŕ¨ŻGt"‘ÍŕiÄ´Gč8:bĎŤpŤ=yî­ť‡aímšýDC¦€O#~;@ř©}ízuGp÷YóüG·6«Î‡qDŘ‹@'>X'‰´~ăNž¸b —é;:N–óyŘ–ř«©D!„B!„B!„B!„Bü7ľîľ,(data.tar.gz 1300886298 0 0 100644 1125 ` ‹íVMlE¶ RѢ ś84O\šHözĽvëTU·iŇĄ‰ĺŞT=t˝;öŽşŢ±fwc9ŕ€*hB”ŕĐ ńwŞ˘ž*‘PŞžÚK ‰·kW"$ĺ§!ů${í™÷ľyoľ÷fVΦî;DÁ0â§Z0”»źC¤TŐČizAUŐxĽÇi0R;€(-"-ćoe·Ýür6 xvWčŻj†ŽßzJQ•\^úďśţkq’Ý=ú«FŢúď´ţłł»CM×5ˇ˙żˇ@=Ż—qH‡řN¦a˙Ä©đçô/ ţF^/ýw‡ţ¶ků-â±–|ś4¨ĺË­ĺż >—űCý5MCý•|ľ`hކúkŞŽÇ(B˙űޱ•‡’çžö­\•Ö•G§ú啍Ő×jľóČ™›§ź;{úü“Ĺů§/·ľ¸ľ˙ŕ^ă©•7ޣ߼¸úŢ[ťs^~©říăßţđÇ«Óë—ß}~ßţ›|üůúkÇíŰ7^i|vaňŮUíÍ˝—6ţ>Ó]¬ľ˙óíµ=tżľtčőO^řôšmŢ:sĺňW×®9vç±µóݦv]˙łNŹÓ–ţ­ó‹ţ×ôś2ě5§ă=ˇňx%ţßÔ\@DzĎY-]+'9äé2q Ń*Áqf ő=üŔá–g…ËŚŤ‘F˛ÍÚG€ůRÍŤŇ čŇMQâWQ1ŠŞ%§(˛$•Âţ ¬ë{Ěrp…&gmpðSĚfË\PËâ ˛ ۶¨/IőNrbµÁŚB—ńń`˘’ÍuČńŽŽ8ŹHŇÔ°‡~ż ŔřÔD?î{¤šŁ6ńRěó ţ9ůáşNĚ×áń ·<(G ŹÚC+x†đ€2´ľs_ÎZSĂźMN¬v±-'ˇÇ"°1NŠůÓF !Xľ“eÚ̡Í^B„ŁőCÂ۰ćvÁ $ťx$p͢Ře&Ž˘:f2[!F= „â<‡ĄaĂEŚi`y·×/a±<ć·’DŃz´—“@›ŕł0 ]N±hBö{e˙‘şi(ů¶śăÔî˛gŮ2PŤb ]WŇpŚalzŇ|YSŐŚŞ+…4Ô«&fUĂúŻŠ…bhÓ°ÁŇ÷ÖaqyKčćmŇYĺą4ĂŮ»n/<‡ÚĚĎ Ě,%qĂ üźń+Ť^í( aptdaemon-1.1.1/tests/repo/silly-bully_0.1-0_all.deb0000644000175000017500000000342012117271433022647 0ustar renaterenate00000000000000! debian-binary 1355649212 0 0 100644 4 ` 2.0 control.tar.gz 1355649212 0 0 100644 514 ` ‹íÔ_kŰ0p?ëSÜmůoĘŘX¶‡A!eď˛|±E)HňşäÓOKšv+¬cé(ÜŹ8 ŇqşX>§YrqyÔÖőqŚžŹÇ߼ț˛äyŃVqľmó6:yłÂ$ÎÚđRÜßÖߨ4“Ögő…Ďż©Ş?žS•żź?ç%ŻČéü/îFČ;1â ĽŇzżčçřÍÖvvňqnw ńě+:ݬYAžňEÎ>89©€2Ě.Ć ­ŮˇLş¬±>(aŕ*ŁăW~Cý~Ô"¬K|Ç>›xűµĆa±V‡ĄhŘGk6ZÉŕkŮ:îsÜ[ [eŘŤSÖ©°_~N°kôŇ©Ý)äˇ`¸WacđěA>$f°ţ™÷ćAůcT»yšĽź”śb ­ˇw(î`oĘy™ÁV8nŃÖęn'Üp2FŔš¸ÇĆ:°źÇQ™vłŰYŹ>e?·SÜř\ëą8Şúéź§ěÂýżj?oýě˙˘hž÷Q´Ô˙ݎç\¶M_vU_/kŢ–}±ä]ŢČsŢt%Ŕě]ć§řdg•Ů/݉LNÂŚ¨í^c;=¬›V–uQô¸‰™ĘFvoónX6í˛şóŮÝŢ©q ,!„B!„B!„B!„BČ?řPĘĎ(data.tar.gz 1355649212 0 0 100644 1102 ` ‹íUKE˘i Šzňýń’]ééîy%ł!¤łŮÍŽlv‡y6äžîšé"=]Cuőłô Ał(bÜ ‡ÜTđu KN® HĚQD§äuŐţÝ3ă®Ů هPLWOő˙őýőŐCM'¶˘ËĹ-âďmü®Z>“Ń5#c`ˇ é Č%va ,ŕŚ‰{Ĺmőý 5<˝Çü×µśnH˙wÎ˙Ŕµ8Iď˙őĽž•ţď´˙łÓ{Ă#“—ç˙®řPĎëĄ!>Ó»â§góŮ‚ô·ý·Y§ÇiËŔ˙|6űoţ™,úŻků|!§g3‘˙ůřüפ˙ŰŽšKčXö«E kŕµ|şLhô JV °f ő=üÁŃ–g‰eĆŹ‡ŤĐˇjłö1`ľRsĂ$9L逡i‡ńQÔrE]”–Ő4UQJ˘?ëúłˇÉY\!:Ĺtş±ĚŐµęÁB( Ňm‹úŠRď‚« f(\Ćlj"( 6ę%âqS”©á’ćýŮăS}Ý÷I5Gmâ¤Řçüs ôÂA¸NÍ×áń ·<(‡ ŹÚĂ(xŽđ€2Ś~rßÎZKĂ×&'Ö]Ü–“Đc!Ř(‡‡bý´ T€ĺ;iơÍÚěĹDŘ9_Ţ€5·–t˘žŔŤ=ʉ˘”™HEu f2[UOˇřťĂҰŠá Ć$0łŚ["Ďu˘Ä TÜśĂQ®şůŚęt§?âvYKr‘‹ěââ€0 ÍĐKĆ gJµŮ…z ĚůE8cV*ć|mqŁq±ŕWô°ĎEŰŹ"5Ć-_ôPLqzş25‹9ć‰Ň\©¶eŔL©6?]­ÂĚBL(›•ZiŞ>gV \Ż”ŞÓj´ô"a$f¸Ç47c«p&",ęŇŃÜĺy¸ÖA“mB—PśŃů»µ1‹ĺ1żŠŃŁąśÚź‰$t9ĹE#Ř?ťŤóGî&ˇäŰjrG Fpž”=Ë&‚jQd2ZN°@Dˇ§MĐ ]×SzF+$ˇ^5±ŞŽp2>E Ei¨i¸Á’÷·Ă˘ĺ­`š·ÉÎ*Ď%!ŔÎ˙ĺöÂs¨ÍüÔ ˝~őýĽ}ůЧ_®?µvŇľűýkŤ/.M>żjĽ˝˙ĘĆŁ?Ąş‹Ő»»¶ďŁî7WŽĽůŮKźß´Í;ç®]ýúć­ŻĆ~xbíâërCJHHHHHHHHHHHHHHHHH<@üĎŰŕ(aptdaemon-1.1.1/tests/repo/silly-base_0.1-0update1_all.deb0000644000175000017500000000361612117271433023725 0ustar renaterenate00000000000000! debian-binary 1294644053 0 0 100644 4 ` 2.0 control.tar.gz 1294644053 0 0 100644 557 ` ‹íÔOkŰ0đśý)ŢmۡŽe[vĆŘ ‡í0(¤ô.K϶"I^–~ú©ii Đ–Ú1x?b”8ĎOĎůrń护ĺü4&OÇÓwĆ8+yĹxy×¶Ś-€/ŢÁ˘đ ď\|)îµ˙˙Sůr§xwáŤëßÔőłőŻę'őg¬,›T˙7WUJö©;JŽť(:^a7H®”Ĺ€0ż “đ¸TN.6ćxŃ‹€K9 ;˘qc~‰˝6ë“mÓW]ÝógmŐ—+ÖMĘ\°¦«ţ"W>ŢfĄZYń˛ěqH‰ŞFv5k‹N­švŐ©îĄtnôzśb¶ Żôżt6zgţa˙7Ľ~Ú˙Uɨ˙ßĂ•[1âÎÝ“mÜěĺă­ý}D€ŹEÎ.ŠOŮ ú ť]Ăé÷ĽW""Ëľy9é2Î>=*ŚÉ~ mcşĐŻa)sLŤ ßQ[“.ř¬đšŻŁńÖů\á—ě‡MĹ0ŐĹFߦ,uťmRĆÓdBí´Í®Ľv^Çăđwô"»Ä ˝Ţ߇śßj;ÂĂŠ3ŘÜm7 Á 盇IË )zŹb Ç´űsŠť°iܡŤť39\Ox„ôĘ™˘#*p6Í18 űyO ýŢ yés=Ą‰‚rě‡w]—΄Mk“"¬‚0ąŮ¨tzq Đ#čű˝ÁśŢe„B!„B!„B!„BžőD˝4;( data.tar.gz 1294644053 0 0 100644 1183 ` ‹íVMlE¶ RѢ ś84O\š€˝ž]˙µN©ę¦Ic”&–¨RőĐőîŘ;ęzǚݍĺp€Ş Qr@‚Co€Äß©Šz"HH¨pDB=TĄâÔ^ 8 $Ţ®íšBhjŇ Í'Ů»;;ď›÷ć{ďÍŞÉŘ– r™LtEüőÝkZFÓ3©đÇs9’‰A&¶ <ß1Áą·y˝˙źBMžHî0ý5’ѲR˙íÓßł A“;G-«©˙vëoq3ą3ô×SYŮ˙ď‹ţsśn˘nx÷°ü+ýő4ęźN§ŇR˙ű¬żÉŰ]Áš¶/ôϦÓ˙¤żžJ‡ú“l6—ŃŇ)Ě-›Ęĺb@¤ţ[ŽŞÍ-xc#gP’v8âŮ‘ćQh2zQé{S™ ˝Ę𽀅AEúŚqŕ"b5üĐyĽގÇ]Ŕ=ÚŞëoŔ0N pűCn›·1$1Č&Ô)mN<âŔŮp˘Xťž«Uˇ0;' ĺra¶:?Žł1Yđ-jŘăb­¶Ă†ëwŃ˙âřdybm GŠ3Ĺę<†SĹęědĄSse(@©P®'j3…2”jĺŇ\eR S/tŚF wŮćF$î¤E}9^?ôy×C÷ lc˘Č&e čśaŢXżĹp¸ŰŚĹŮý֗űqč†Iăóż+ŮŐŤCŃ5Ő8d@•â>Q(9†I!• ¤HĄHŽpϧ/Ń5MKh)’‹C­RŔ¨Ş¸ÂѨ‹ô C×ЧAĹ7Waaz+hć¬SYĄ™8xĂé?ť^؇ZÜMô§{Iś´OUb˙ůü· ·IŢT{jnŐůOtýöůŻkzĎ˙\:§Éó;pç1 ŁDŐd k ·Ąîŕá&uÍîłď„ ëil K×ÁFĺPLL$6ýťë}%hZ>Eŕ‚ϲ^wný«ÍĹ­ŞýÎú׉¦é˛ţ·#KE×]ěYş¬¬’G'ýýÜĄµĺ7«ľ˙Č©'_<}ňě“ůŮçÎĂĎ7żľľw˙nwí©Ą·ßa×^YţđÝOĎXŻ˝š˙îń~ňËĺÉŐ‹Ľ´gďŤóű>űjő‰•Łć­ď_Żynü…eýťÝÖţ)Ń™Ż|ôŰ­•]w®^8đÖç/qĹ,Ü debian-binary 1294644050 0 0 100644 4 ` 2.0 control.tar.gz 1294644050 0 0 100644 559 ` ‹í–ÁŽŰ †sć)ćÖ6vlÇQUµŇÚCĄ•˛ęclŁ%nš}úNâ¦íFę¶—ÍŞę|2Áxý@’.^ś ©ËňT#—ő©ÍyÉó˛ŕežc]gŐĘĹB`áť‹ĎŮýiü%I·]¦mxáüWËĺoóźůç<Ďů2Ę˙‹Ór.ëŞ-še[®J^mľâMVÉReĽj €)ř4ŚÂ«´s2 ÚĂŤt¶×C*GaeÜÜŞV › Ź,}- Lc«ztUT˛Yň:kşUUŻš®yޡŰĽĆČÄ•ôÜú^^M˙ŮýgGý—uFúż©Šg î„| ‰ěŇß˙¤˙čťyĹű˙8vq˙cô îfŃŻá×{mÜäĺŹÎóÁŔ>+´łkČ~“±÷^Ž:*'ʶÂöIh±(ż†ŤjEř*€J[Ţtę‹2ď#âŁóI§Ţ˛Ź÷ßŐÝlô#zY.Ů=ž˘n«-»óÚykP_ŁěVéőn6Ů DÓ®Qă$ú;Ŕü6é`^o8›ăzŕĽĐ*‚ëvîG-GŘŁ%´^‰8ŕfś‡l…Ĺz«lİÎ$p?Şŕk$ZGŚč,Ć蝇NµÓ0h;Ŕnň;đhe€ßýż;śéyp6ót'/Žë;Í:ˇł ‚ ‚ ‚ ‚ ‚ ‚řkľ e…đ( data.tar.gz 1294644050 0 0 100644 1176 ` ‹íXMlE¶ RѢ ś84Oph"ŮűgŻÝ:UU7MWibů‡*U]ďŽ˝Ł®w¬ŮŮX8  %$8ôHüťŞ¨'Š„„ZŽH¨§öR Ŕ!ńvmc~BR©Ä h?É^{ö˝oŢ›ďÍĎ®¬$¶*"gŃń×kô[Ó M7Ňř¶çrj:Fb|ar€gLlf·Őý˙(d%𹲋ôWs US ]Źőťţľcr˘ěýµ¬ž‰őµţ6ł”ݡżžÎi±ţ;ˇżO]·›˛× Me'ôײ¨±ţ;®żĹÚ]N›Ž¸ýł™Ě?鯧3ˇţj6›3´LëDËćҸ˙«±ţŰŽŞC}h›ÖyłI cú`“:5=şLl¨wˇBę¦/°f ő\üŔá¦kŠeĆŹőŔl±Ö`žTu‚$čş´AWŐř•WŤĽ¦BJͨŞ,IEŃëu<—™6öĐŕ¬ŽíĽ˘Ô—ąÜ§–mŇ/Ä~dľŇ2©'Iµ¶/81[P„Ăř¸?‘IÄFÚd‰¸G‡śG$ijPŃżß`|j˘÷=RÍQ‹x>É÷xú˙l<›pó58A<ÂMJAÝĄÖŔ ž!ܧĚ˝çÜł&ÇÔđg>kNËIč˛, ‡›bţ´T€éŮ ăĐb6mt#"lö/oůŔ[’´Ă߉4ŹB—™0ŠJ? aČl ŚzĹű–Y :é3&ńeÜađX;tśŔ»€c8ô•7€až6ŕđ‡ÜkcJ2b’,¨|ŇÜdÄÖpşXť]¨Uˇ0ż§ ĺraľş8‰ÖX,x5ěqŃVŰĄHŤ‰qÓ]Ś?˘85]žšEźÂ±â\±şiŔL±:?]©ŔĚB P*”«Ĺ©Ú\ˇ ĄZą´P™–ĂŇ #Ă&Ăܤ‘´‰0©ë÷S_Dq} ϵÁ1—Šlş„Á™.ż[ë±.óšQ˘h=ËI  đHB‡S,Áţ®lä?T7 EĎ’“`‚*Áq"PrM‹@ *AH‘N«I8Ć|šž*€Şkš–ŇŇj. µJłŞbÇŁU¤ż°P cL°ä˝Í°°Ľ%ts7YĄą$řĂą?ě^¸µ—ę›ű ĄDŚűŘ˙Ók—5ĺžžrsyöULJýţţŻk:ž˙u5“1âý[y(şîy`ßĘuéšúčôĎż^ĽşľúZőÁw9{űĚsçÎ\x2?ňüxçó[űîőÖźZyăí1úő‹«ď˝őŃyűĺ—ňß<ţýáş>}íĘ»ĎďŰűŇŹo\{bí¸u÷ŰWęź]ś|vUsďĺő‡Hu+ď˙rwmĎťŻ.zý“>˝iîś˝zĺË›·ľűî±µ ŻĆräóźk7˝˙ ß˙jjĆČĆĎŁÓ˙χmŮj4˙mý7[˙Őtzřü— ß˙dđOĽţŹOźÄŔŁ‹Nô˝}Ô%ńŃ)FŚ1bÄ#FŚ1ţWř %ş=x(aptdaemon-1.1.1/doc/0000755000175000017500000000000012202062656015006 5ustar renaterenate00000000000000aptdaemon-1.1.1/doc/org.debian.apt.70000644000175000017500000001545012117271433017676 0ustar renaterenate00000000000000.\" groff -man -Tascii foo.1 .TH org.debian.apt 7 "December 2009" "aptdaemon" "D-Bus Interface" .SH NAME org.debian.apt \- the main interface of aptdaemon .SH SYNOPSIS The daemon is accessed through the D-Bus object at .IR /org/debian/apt . Which provides the following interface. .SH DESCRIPTION .SS METHODS .TP .B AddRepository .BI "AddRepository\t(in 's' " type "," .br .BI "\t\tin 's' " uri "," .br .BI "\t\tin 's' " dist "," .br .BI "\t\tin 'as' " comps "," .br .BI "\t\tin 's' " comment "," .br .BI "\t\tin 's' " sourcesfile ")" .RS .PP Add a new repository to the sources list file. The repository has to define the type (e.g. deb or deb-src), uri (e.g. http://archive.debian.org/debian), the distribution (e.g. stable) and a list of components (e.g. main). .PP Optionally a comment and an alternative sources.list file can be specified. .RE .TP .B EnableDistroComponent .BI "EnableDistroComponent\t(in 's' " comp ")" .RS .PP Enable a component for all distro repositories, e.g. main or universe. .RE .TP .B GetTrustedVendorKeys .BI "GetTrustedVendorKeys\t(out 'as' " keys ) .RS .PP Return the GnuPG keys which are used to authenticate packages. .RE .TP .B GetAtiveTransactions .BI "GetActiveTransactions\t(out 'as' " tids ) .RS .PP Return an array of the currently queued transactions. .RE .TP .B Quit .br .BI "Quit\t()" .RS .PP Request the shutdown of the daemon. The daemon will finish a currently running transaction before. .RE .SS TRANSACTION BASED METHODS The following methods are handled by transactions. By calling the methods a new transaction will be created for the task. The return value of the method is the D-Bus object path of the corresponding transaction. The transaction can be modified, to use an http proxy or to run in a specific language by setting the corresponding properties on the .BR org.debian.apt.transaction (7) interface. Afterwards the transaction has to be queued for processing by calling its Run method on the .BR org.debian.apt.transaction (7) interface. .TP .B UpdateCache .BI "UpdateCache\t(out 's' " tid ) .RS .PP Return the id of a newly created transaction which will fetch the latest meta data from the repositories and rebuild the cache of available and installed packages. .RE .TP .B UpdateCachePartially .BI "UpdateCachePartially\t(in 's' " sources_list , .br .BI "\t\tout 's' " tid ) .RS .PP Return the id of a newly created transaction which will fetch the latest meta data from the repositories specified in the given sources.list snippet only and rebuild the cache of available and installed packages. .RE .TP .B InstallPackages .BI "InstallPackages\t(in 'as' " package_names , .br .BI "\t\tout 's' " tid ) .RS .PP Return the id of a newly created transaction which will install the packages of the given names. .PP Optionally the to be installed version can be specified by appending a "=" and the version to the package name, e.g. "xterm=256-1". .RE .TP .B InstallFile .BI "InstallFile\t(in 's' " path , .br .BI "\t\tout 's' " tid ) .RS .PP Return the id of a newly create transaction which will install a local *.deb package file at the given .IR path . .RE .TP .B UpgradePackages .BI "UpgradePackages\t(in 'as' " package_names , .br .BI "\t\t\tout 's' " tid ) .RS .PP Return the id of a newly created transaction which will upgrade the packages of the given names to their latest version. .PP Optionally the to be installed version can be specified by appending a "=" and the version to the package name, e.g. "xterm=256-1". .RE .TP .B RemovePackages .BI "RemovePackages\t(in 'as' " package_names , .br .BI "\t\t\tout 's' " tid ) .RS .PP Return the id of a newly created transaction which will remove the packages of the given names. .PP Optionally the version of the to be removed packages can be specified by appending a "=" and the version to the package name, e.g. "xterm=256-1". .RE .TP .B UpgradeSystem .BI "UpgradeSystem\t(in 'b' " safe_mode , .br .BI "\t\tout 's' " tid ) .RS .PP Return the id of a newly created transaction which will upgrade the whole system. .PP If in safe mode only already installed packages will be updated. Updates which require to remove installed packages or to install additional packages will be skipped. .RE .TP .B CommitPackages .BI "CommitPackages\t(in 'as' " install , .br .BI "\t\t\tin 'as' " reinstall, .br .BI "\t\t\tin 'as' " remove, .br .BI "\t\t\tin 'as' " purge, .br .BI "\t\t\tin 'as' " upgrade , .br .BI "\t\t\tin 'as' " downgrade , .br .BI "\t\t\tout 's' " tid ) .RS .PP Return the id of a newly created transaction which will perform a complex install/removal task at once. .IR Install ", " reinstall ", " remove ", " purge " and " upgrade are lists of package names. .PP Optionally the version of the to be removed packages or the version of the package which should be installed can be specified by appending a "=" and the version to the package name, e.g. "xterm=256-1". .RE .TP .B AddVendorKeyFromFile .BI "AddVendorKeyFromFile\t(in 's' " path , .br .BI "\t\t\tout 's' " tid ) .RS .PP Return the id of a newly created transaction which will install the public GnuPG key at the given .I path to the list of trusted software vendors. The list will be used to authenticate packages. .RE .TP .B AddVendorKeyFromKeyserver .BI "AddVendorKeyFromKeyserver\t(in 's' " keyid , .br .BI "\t\t\tin 's' " keyserver, .br .BI "\t\t\tout 's' " tid ) .RS .PP Return the id of a newly created transaction which will download and install the public GnuPG key of the .I keyid from the given .I keyserver to the list of trusted software vendors. The list will be used to authenticate packages. .RE .TP .B RemoveVendorKey .BI "RemoveVendorKey\t(in 's' " fingerprint , .br .BI "\t\t\tout 's' " tid ) .RS .PP Return the id of a newly created transaction which will remove the public GnuPG key with the given .I fingerprint from the list of trusted software vendors. The list will be used to authenticate packages. .RE .TP .B FixBrokenDepends .BI "FixBrokenDepends\t(out 's' " tid ) .RS .PP Return the id of a newly created transaction which will try to resolve unsatisfied dependencies by installing required packages or removing conflicting ones. .RE .TP .B FixIncompleteInstall .BI "FixIncompleteInstall\t(out 's' " tid ) .RS .PP Return the id of a newly created transaction which will try to complete previously failed installations by calling "dpkg --configure -a". .RE .SS SIGNALS .TP .B ActiveTransactionsChanged .BI "ActiveTransactionsChanged\t('s' " active , .br .BI "\t\t\t\t'as' " queued ) .RS .PP The signal is used to report changes of the currently running or queued transactions. If there's any active transaction active will be an empty string. .RE .SH HOMEPAGE https://launchpad.net/aptdaemon .SH BUGS You can report bugs at the Launchpad site of aptdaemon: https://bugs.launchpad.net/aptdaemon/+filebug .SH AUTHOR Sebastian Heinlein .SH SEE ALSO .BR org.debian.apt.transaction (7), .BR aptd (2), .BR aptdcon (2) aptdaemon-1.1.1/doc/aptdcon.10000644000175000017500000000764412117271433016533 0ustar renaterenate00000000000000.\" groff -man -Tascii foo.1 .TH APTDCON 1 "December 2009" aptdaemon "User manual" .SH NAME aptdcon \- command line client for aptdaemon .SH SYNOPSIS .B aptdcon .RI [ OPTIONS ] .SH DESCRIPTION .B aptdcon allows to perform package management tasks, e.g. installing or removing software, using aptdaemon. There isn't any need to be root to run this programme. .SH OPTIONS .IP "-v, --version" Show the version number of the aptdcon. .IP "-h, --help" Show information about the usage of the command. .IP "-d, --debug" Show additional information on the command line. .IP "-i, --install PACKAGES" Install the list of PACKAGES. If you want to install more than one package you have to put the package names into quotation marks. .IP "--reinstall PACKAGES" Reinstall the list of PACKAGES. If you want to reinstall more than one package you have to put the package names into quotation marks. .IP "-r, --remove PACKAGES" Remove the list of PACKAGES. If you want to remove more than one package you have to put the package names into quotation marks. .IP "-p, --purge PACKAGES" Purge the list of PACKAGES. If you want to purge more than one package you have to put the package names into quotation marks. .IP "-u, --upgrade PACKAGES" Upgrade the list of PACKAGES. If you want to upgrade more than one package you have to put the package names into quotation marks. .IP --upgrade-system Upgrade the whole system. .IP --fix-install Try to complete a previously cancelled installation by calling "dpkg --configure -a". .IP --fix-depends Try to resolve unsatisified dependencies. Attention: Currently you don't get a confirmation of the changes, which makes this method quite dangerous since it could remove a lot of packages. .IP "--add-vendor-key PUBLIC_KEY_FILE" Install the PUBLIC_KEY_FILE to authenticate and trust packages singed by the vendor. .IP "--add-vendor-key-from-keyserver PUBLIC_KEY_ID" Download and install the PUBLIC_KEY_ID to authenticate and trust packages singed by the vendor. Requires the --keyserver to be set. .IP "--key-server KEYSERVER" Download vendor keys from the given KEYSERVER. .IP "--remove-vendor-key FINGERPRINT" Remove the vendor key of the given FINGERPRINT to no longer trust packages from this vendor. .IP "--add-repository \'DEB_LINE\'" Allow to install software from the repository specified by the given DEB_LINE. You have to put quotation marks around the DEB_LINE since it normally contains spaces: .I \'deb http://ftp.de.debian.org/debian unstable main\' .IP "--sources-file SOURCES_FILE" Specify an alternative sources file to which the new repository should be written. SOURCES_FILE should be only the basename: .I backports.list .IP --list-trusted-vendors Show all trusted software vendors and theirs keys. .IP --hide-terminal Do not attach to the interactive terminal of the underlying dpkg call. .IP --allow-unauthenticated Allow to install packages which are not from a trusted vendor. .SH EXAMPLES The following command will install the package xterm and remove the package eterm in the same run: .RS $ aptdcon --install "xterm" --remove "eterm" .RE .PP To handle more than one package the names have to be put into quotation marks. The following command will install xterm and eterm: .RS $ aptdcon --install "xterm eterm" .RE .PP The following command will add the backport repository to the sources.list in a separate file .I /etc/apt/sources.list.d/backports.list : .RS $ aptdcon --sources-file backports.list \\ .br --add-repostiry "deb http://archive.backports.org/debian stable main" .RE .SH DIAGNOSTICS By default aptdaemon logs to the syslog facility AptDaemon. Furthermore you can use the -d option to get additional information on the command line. .SH HOMEPAGE https://launchpad.net/aptdaemon .SH BUGS You can report bugs at the Launchpad site of aptdaemon: https://bugs.launchpad.net/aptdaemon/+filebug .SH AUTHOR Sebastian Heinlein .SH SEE ALSO .BR aptd (1), .BR org.debian.apt (7), .BR org.debian.apt.transaction (7) aptdaemon-1.1.1/doc/examples/0000755000175000017500000000000012202062656016624 5ustar renaterenate00000000000000aptdaemon-1.1.1/doc/examples/chained.py0000644000175000017500000000263212117271433020574 0ustar renaterenate00000000000000#!/usr/bin/python import dbus import gobject from aptdaemon.client import AptClient from aptdaemon.defer import inline_callbacks from aptdaemon import policykit1 loop = gobject.MainLoop() def on_finished(trans, exit): loop.quit() print exit @inline_callbacks def main(): repo = ["deb", "http://packages.glatzor.de/silly-packages", "sid", ["main"], "Silly packages", "silly.list"] aptclient = AptClient() bus = dbus.SystemBus() name = bus.get_unique_name() # high level auth try: # Preauthentication action = policykit1.PK_ACTION_INSTALL_PURCHASED_PACKAGES flags = policykit1.CHECK_AUTH_ALLOW_USER_INTERACTION yield policykit1.check_authorization_by_name(name, action, flags=flags) # Setting up transactions trans_add = yield aptclient.add_repository(*repo) trans_update = yield aptclient.update_cache("silly.list") trans_inst = yield aptclient.install_packages(["silly-base"]) yield trans_inst.set_allow_unauthenticated(True) # Check when the last transaction was done trans_inst.connect("finished", on_finished) # Chaining transactions yield trans_update.run_after(trans_add) yield trans_inst.run_after(trans_update) yield trans_add.run() except Exception as error: print error loop.quit() if __name__ == "__main__": main() loop.run() aptdaemon-1.1.1/doc/org.debian.apt.transaction.70000644000175000017500000001612012117271433022215 0ustar renaterenate00000000000000.\" groff -man -Tascii foo.1 .TH org.debian.apt.transaction 7 "December 2009" "aptdaemon" "D-Bus Interface" .SH NAME org.debian.apt.transaction \- the main interface of an aptdaemon transaction .SH SYNOPSIS Each transaction is represented as an unique D-Bus object, e.g. at the D-Bus path .IR /or/debian/apt/transaction/12123-123-123213 . Which provides the following interface. .SH DESCRIPTION .SS METHODS .TP .B ProvideMedium .BI "ProvideMedium\t(in 's' " medium ) .RS .PP Continue a paused transaction which is waiting for the given .IR medium . .PP If a media change is required to e.g. install packages from a CD/DVD the transaction will be paused and the RequiredMedium property changed to an array of the .IR "medium label" " and its " "mount point" . Furthermore the MediumRequired signal will be emitted. .RE .TP .B ResolveConfigFileConflict .BI "ResolveConfigFilePrompt\t(in 's' " config , .br .BI "\t\t\t\tin 's' " answer ) .RS .PP Continue a paused transaction which is waiting for an answer to handle a configuration file conflict. .I Config is the path to the current configuration file and .I answer can be either "replace" or "keep". .PP If a later config file is shipped in a package which overrides some user modifications the transaction will be paused and the ConfigFileConflict property of the transaction will be set to an array of the old and new configuration file path. The later one is supposed to replace the former one. Furthermore the ConfigFileConflict signal will be emitted. .RE .TP .B Simulate .BI "Simulate\t()" .RS .PP Simulate the transaction and calculate dependencies, required disk space and download size. If a transaction would fail the corresponding error will be raised. .RE .TP .B Run .BI "Run\t()" .RS .PP Queue the transaction for processing. Afterwards there cannot be made any further changes to the transaction, e.g. modifing the http proxy. .RE .TP .B Cancel .BI "Cancel\t()" .RS .PP Cancel the transaction if possible. .RE .SS SIGNALS .TP .B Finished .BI "Finished\t('s' " exit_state ) .RS .PP The signal will be emitted when the transaction has been processed. The .I exit_state indicates if the transaction was completed, cancelled or failed. .RE .TP .B MediumRequired .BI "MediumRequired\t('s' " label , .br .BI "\t\t\t's' " mount_point ) .RS .PP The signal will be emitted if the transaction has been paused and waits for a media change to install packages. .RE .TP .B ConfigFileConflict .BI "ConfigFileConflict\t('s' " old , .br .BI "\t\t\t's' " new ) .RS .PP The signal will be emitted if the transaction has been paused because a .I new configuration file is shipped in a package which would override changes by the user in the .I old configuration file. .RE .TP .B PropertyChanged .BI PropertyChanged\t('s' " property_name , .br .BI "\t\t\t'v' " value ) .RS .PP The signal will be emitted if one of the following properties has changed. .RE .SS PROPERTIES The properties of the transaction are available through the Get And GetAll methods of the D-Bus properties interface and can be changed using the Set method. .TP .BR Role " read 's'" The role enum of the transaction, e.g. update-cache. .TP .BR Status " read 's'" The current status enum of the transaction, e.g. downloading .TP .BR StatusDetails " read 's'" A clear text message describing the current status. .TP .BR Progress " read 'i'" The progress of the transaction in percent. .TP .BR ProgressDownload " read 'sssiis'" The last download progress information recieved from APT. It is an array of the URI, status enum, short description, full size, already downloaded size and an error or status message. .TP .BR Space " read 'i'" The additional disk space in Bytes which will be required by the transaction. The .B Simulate method has to be called to calculate the download size. .TP .BR Download " read 'i'" The required download size in Bytes of the transaction. The .B Simulate method has to be called to calculate the download size. .TP .BR Packages " read 'a(a(s)a(s)a(s)a(s)a(s)a(s)a(s))'" The lists of packages which are initially queued to be installed, reinstalled, removed, purged, upgraded, downgraded or skipped from upgrading. .TP .BR Dependenciens " read 'a(a(s)a(s)a(s)a(s)a(s)a(s)a(s))'" The lists of packages which are additionally required to be installed, reinstalled, removed, purged, upgraded, downgraded or skipped from upgrading. The .B Simulate method has to be called to calculate the dependencies. .TP .BR Cancellable " read 'b'" If the transaction can be cancelled. .TP .BR TerminalAttached " read 'b'" If the master pty which has to be set using the Terminal property is attached as controlling terminal to the underlying dpkg call. .TP .BR RequiredMedium " read 'a(ss)'" The transaction will be stopped if a media change is required to install packages. This property provides the .I label and the .I mount point of the requested medium. .TP .BR ConfigFileConflict " read 'a(ss)'" The transaction will be stopped if a configuration file shipped in the package overrides changes of the user. This property provides the path to .I current and the path to the .I new configuration file. .TP .BR ExitState " read 's'" The exit state enum of the transaction. .TP .BR Error " read 'a(ss)'" If an error occured this property provides the .I error enum and the .I error message. .TP .BR Locale " read-write 's'" This is the locale which will be used for translating status and error messages of apt, e.g. de_DE@utf-8. .TP .BR Terminal " read-write 's'" The path to the master pty which will be the controlling terminal of the underlying dpkg call. This allows to have an interactive terminal session. .TP .BR DebconfSocket " read-write 's'" The path to the socket which will be used by the debconf passthrough backend to forward the debconf communication to the user session. .TP .BR Paused " read 'b'" If the transaction is paused, e.g. waiting for a conflict file resolution or media change. .TP .BR Unauthenticated " read 'as'" List of unauthenticated packages which are going to be installed. .TP .BR RemoveObsoletedDepends " read-write 'b'" If obsoleted dependencies of to be removed packages which have been installed automatically should be removed too. .TP .BR AllowUnauthenticated " read-write 'b'" If it is allowed to install not authenticated software packages. .TP .BR HttpProxy " read-write 's'" The URL of an http proxy which should be used to download repository meta data and package files, e.g. http://myproxy.athome:8080. You should set the system wide proxy if you use this feature regularly. .BR MetaData " read-write 'a{ss}'" A dictonary which allows client application to store additional data in the transaction. The key name has to include an identifier of the client application separated by an unterscore from the key name, e.g. sc_icon for the application icon name stored by software-center. The property cannot be changed anymore after the transaction has been queued. .SH HOMEPAGE https://launchpad.net/aptdaemon .SH BUGS You can report bugs at the Launchpad site of aptdaemon: https://bugs.launchpad.net/aptdaemon/+filebug .SH AUTHOR Sebastian Heinlein .SH SEE ALSO .BR org.debian.apt.transaction (7), .BR aptd (2), .BR aptdcon (2) aptdaemon-1.1.1/doc/source/0000755000175000017500000000000012202062656016306 5ustar renaterenate00000000000000aptdaemon-1.1.1/doc/source/aptdaemon.client.rst0000644000175000017500000000764212117271433022276 0ustar renaterenate00000000000000:mod:`aptdaemon.client` --- The client module ============================================= Introduction ------------ Aptdaemon comes with a client module which provides a smoother interface on top of the D-Bus interface. It provides GObjects of the daemon and each transaction. .. _life_cycle: Life cycle of a transaction based action ---------------------------------------- At first you initialize an AptClient instance. >>> from aptdaemon import client >>> >>> apt_client = client.AptClient() Secondly you call the whished action, e.g. updating the package cache. It will give you a new transaction instance. >>> transaction = apt_client.update() The transaction has not been started yet. So you can make some further adjustements to it, e.g. setting a different language: >>> transaction.set_locale("de_DE") ... or setup the monitoring of the transaction: >>> transaction.connect("finished", on_transaction_finished) You can then put the transaction on the queue by calling its :meth:`run()` method: >>> transaction.run() If you don't need the underlying transcation instance of an action, you can alternatively set the wait argument to True. The AptClient method will return after the transaction is done: >>> apt_client.update_cache(wait=True) This can also be used with asynchronous programming, see below. Asynchronous programming ------------------------ In the above examples simple synchronous calls have been made to the D-Bus. Until these calls return your whole application is blocked/frozen. In the case of password prompts this can be quite long. So aptdaemon supports the following asynchronous styles: D-Bus style callbacks ^^^^^^^^^^^^^^^^^^^^^ Since the client module is basically a wrapper around D-Bus calls, it provides a pair of reply_handler and error_handler for each method. You are perhaps already familiar with those if you have written a Python D-Bus client before: >>> def run(trans): ... trans.run(reply_handler=trans_has_started, error_handler=on_error) ... >>> def trans_has_started(): ... pass ... >>> def on_error(error): ... raise error ... >>> client = AptClient() >>> client.update(reply_handler=run, error_handler=on_error) Deferred callbacks ^^^^^^^^^^^^^^^^^^ Aptdaemon uses a simplified version of Twisted deferreds internally, called python-defer. But you can also make use of them in your application. The inline_callbacks decorator of python-defer allows to write asynchronous code in a synchronous way: >>> @defer.inline_callbacks ... def update_cache(): ... apt_client = client.AptClient() ... try: ... transaction = yield apt_client.update() ... except errors.NotAuthorizedError: ... print "You are not allowed to update the cache!" ... raise StopIteration ... yield transaction.set_locale("de_DE") ... yield transaction.run() ... print "Transaction has started" .. _chaining: Chaining Transactions --------------------- It is possible to chain transactions. This allows to add a simple dependency relation, e.g. you want to add a new repository, update the cache and finally install a new package. >>> client = aptdaemon.client.AptClient() >>> trans1 = client.add_repository("deb", [...]) >>> trans2 = client.update_cache() >>> trans3 = client.install_packages(["new-package"]) >>> trans2.run_after(trans1) >>> trans3.run_after(trans2) >>> trans1.run() If a transaction in a chain fails all other ones which follow will fail too with the :data:`enums.EXIT_PREVIOUS_FAILED` exit state. Class Reference --------------- .. autoclass:: aptdaemon.client.AptClient :members: .. autoclass:: aptdaemon.client.AptTransaction :members: Function Reference ------------------ .. autofunction:: aptdaemon.client.get_transaction .. autofunction:: aptdaemon.client.get_aptdaemon aptdaemon-1.1.1/doc/source/conf.py0000644000175000017500000001473512117271433017617 0ustar renaterenate00000000000000# -*- coding: utf-8 -*- # # aptdaemon documentation build configuration file, created by # sphinx-quickstart on Thu Aug 26 06:52:32 2010. # # This file is execfile()d with the current directory set to its containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys, os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath('../../')) sys.path.insert(0, os.path.abspath('_ext/')) # -- General configuration ----------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.coverage', 'sphinx.ext.ifconfig', 'signals'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. #source_encoding = 'utf-8' # The master toctree document. master_doc = 'index' # General information about the project. project = u'aptdaemon' copyright = u'2010, Sebastian Heinlein' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. version = '0.4' # The full version, including alpha/beta/rc tags. release = '0.4.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. #language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. #today_fmt = '%B %d, %Y' # List of documents that shouldn't be included in the build. #unused_docs = [] # List of directories, relative to source directory, that shouldn't be searched # for source files. exclude_trees = [] # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. #add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). #add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. #show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] # -- Options for HTML output --------------------------------------------------- # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. html_theme = 'default' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. #html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. #html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. #html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. #html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. #html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. #html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. #html_additional_pages = {} # If false, no module index is generated. #html_use_modindex = True # If false, no index is generated. #html_use_index = True # If true, the index is split into individual pages for each letter. #html_split_index = False # If true, links to the reST sources are added to the pages. #html_show_sourcelink = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. #html_use_opensearch = '' # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). #html_file_suffix = '' # Output file base name for HTML help builder. htmlhelp_basename = 'aptdaemondoc' # -- Options for LaTeX output -------------------------------------------------- # The paper size ('letter' or 'a4'). #latex_paper_size = 'letter' # The font size ('10pt', '11pt' or '12pt'). #latex_font_size = '10pt' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ ('index', 'aptdaemon.tex', u'aptdaemon Documentation', u'Sebastian Heinlein', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. #latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. #latex_use_parts = False # Additional stuff for the LaTeX preamble. #latex_preamble = '' # Documents to append as an appendix to all manuals. #latex_appendices = [] # If false, no module index is generated. #latex_use_modindex = True # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = {'http://docs.python.org/': None} aptdaemon-1.1.1/doc/source/plugins.rst0000644000175000017500000000436412117271433020530 0ustar renaterenate00000000000000Plugins ======= Aptdaemon provides a plugin mechanism by making use of setuptools' entry points. The group name is ``aptdaemon.plugins``. Cache modifiers --------------- Currently there are two types of plugins available which allow you to modify the marked changes of a transaction. Each plugin can be a function which accepts the resolver (apt.cache.ProblemResolver) and the cache (apt.cache.Cache) as arguments: * *modify_cache_before* The plugged-in function is called after the intentional changes of the transaction have been marked, but before the dependencies have been resolved. * *modify_cache_after* The plugged-in function is called after the dependency resolution of the transaction. The resolver will be called again afterwards. A short overview of the steps required to process a transaction: 1. Mark intentional changes (e.g. the to be installed packages of a InstallPackages transaction) 2. Call all modify_cache_before plugins 3. Run the dependency resolver 4. Call all modify_cache_after_plugins and re-run the resolver 5. Commit changes External helpers ---------------- There is also the *get_license_key* plugin which allows to retrieve the license key content and path to store. License keys are required by propriatary software. The plugged-in function gets called with uid of the user who started the transaction, the package name, a JSON OAuth tocken and the name of a server to query. Example ------- Here is an example which would install language packages :file:`./plugins/aptd.py`: >>> def install_language_packs(resolver, cache): >>> """Marks the required language packs for installation.""" >>> #... do the magic here ... >>> language_pack.mark_install(False, True) >>> # Only protect your changes if they are mantadory. If they cannot be >>> # be installed the transaction will fail. >>> resolver.clear(language_pack) >>> resolver.protect(language_pack) Finally you would have to register your function as entry point in :file:`setup.py`: >>> setup( >>> ... >>> entry_points="""[aptdaemon.plugins] >>> modify_cache_after=plugins.aptd:install_language_packs >>> """, >>> ... >>> ) .. note:: Keep in mind that you can only register one entry point per name/plugin per distribution. aptdaemon-1.1.1/doc/source/aptdaemon.enums.rst0000644000175000017500000000020712117271433022135 0ustar renaterenate00000000000000:mod:`aptdaemon.enums` --- The enums module =========================================== .. automodule:: aptdaemon.enums :members: aptdaemon-1.1.1/doc/source/index.rst0000644000175000017500000000041312117271433020145 0ustar renaterenate00000000000000Aptdaemon documentation ======================= Contents: .. toctree:: :maxdepth: 2 aptdaemon.client aptdaemon.enums aptdaemon.gtk3widgets dbus plugins Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` aptdaemon-1.1.1/doc/source/dbus.rst0000644000175000017500000003116112117271433017777 0ustar renaterenate00000000000000The D-Bus API of the aptdaemon ============================== Aptdaemon provides two D-Bus interfaces on the system bus. org.debian.apt --- The aptdaemon interface ------------------------------------------ This is the main interface which allows you to perform package managing tasks. It is proivded by the aptdaemon object at ``/org/debian/apt``. There are two kind of tasks: ones which are performed immediately and ones which are queued up in transaction and performed in a sequence. Non-transaction based methods ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. automethod:: aptdaemon.core.AptDaemon.GetTrustedVendorKeys() -> array(string) .. automethod:: aptdaemon.core.AptDaemon.Quit() Transaction based methos ^^^^^^^^^^^^^^^^^^^^^^^^ Instead of performing the task immediately, a new transaction will be created and the method will return the D-Bus path of it. Afterwards you can simulate the transaction or put it on the queue. :ref:`life_cycle` and :ref:`chaining` are described in the Python client documentation with code examples. .. automethod:: aptdaemon.core.AptDaemon.UpdateCache() -> string .. automethod:: aptdaemon.core.AptDaemon.UpdateCachePartially(sources_list : string) -> string .. automethod:: aptdaemon.core.AptDaemon.AddRepository(src_type : string, uri : string, dist : string, comps : array(string), comment : string, sourcesfile : string) -> string .. automethod:: aptdaemon.core.AptDaemon.EnableDistroComponent(component : string) -> string .. automethod:: aptdaemon.core.AptDaemon.InstallFile(path : string, force : boolean) -> string .. automethod:: aptdaemon.core.AptDaemon.InstallPackages(package_names : array(string)) -> string .. automethod:: aptdaemon.core.AptDaemon.RemovePackages(package_names : array(string)) -> string .. automethod:: aptdaemon.core.AptDaemon.UpgradePackages(package_names : array(string)) -> string .. automethod:: aptdaemon.core.AptDaemon.CommitPackages(install : array(string), reinstall : array(string), remove : array(string), purge : array(string), upgrade : array(string), downgrade : array(string)) -> string .. automethod:: aptdaemon.core.AptDaemon.UpgradeSystem(safe_mode : boolean) -> string .. automethod:: aptdaemon.core.AptDaemon.FixIncompleteInstall() -> string .. automethod:: aptdaemon.core.AptDaemon.FixBrokenDepends() -> string .. automethod:: aptdaemon.core.AptDaemon.AddVendorKeyFromKeyserver(keyid : string, keyserver : string) -> string .. automethod:: aptdaemon.core.AptDaemon.AddVendorKeyFromFile(path : string) -> string Signals ^^^^^^^ The following singal can be emitted on the org.debian.apt interface. .. automethod:: aptdaemon.core.AptDaemon.ActiveTransactionsChanged(current : string, queued : array(string)) Properties ^^^^^^^^^^ The daemon interface provides a set of properties which can be accessed and modified through :meth:`Set()`, :meth:`Get()` and :meth:`GetAll()` methods of the ``org.freedesktop.DBus.Properties`` interface. See the `D-Bus specification `_ for more details. The following properties are available: .. attribute:: AutoCleanInterval : i The interval in days in which the cache of downloaded packages should should be cleaned. A value of 0 disables this feature. *writable* .. attribute:: AutoDownload : b If available upgrades should be already downloaded in the background. The upgrades won't get installed automatically. *writable* .. attribute:: AutoUpdateInterval : i The interval in days in which the software repositories should be checked for updates. A value of 0 disables the automatic check. *writable* .. attribute:: PopConParticipation : b If statistics about installed software and how often it is used should be sent to the distribution anonymously. This helps to determine which software should be shipped on the first install CDROMs and to make software recommendations. *writable* .. attribute:: UnattendedUpgrade : i The interval in days in which updates should be installed automatically. A value of 0 disables this feature. *writable* .. attribute:: RebootRequired : b Set if a reboot is required in order to complete the update. *readonly* org.debian.apt.transaction --- The transaction interface -------------------------------------------------------- This is the main interface of a transaction object. It allows to control and monitor the transaction. Transactions are created by using the org.debian.apt interface of aptdaemon. The path of a transaction object consists of ``/org/debian/apt/transaction/`` and an unique identifier. Methods ^^^^^^^ .. automethod:: aptdaemon.core.Transaction.Run() .. automethod:: aptdaemon.core.Transaction.RunAfter(tid : string) .. automethod:: aptdaemon.core.Transaction.Cancel() .. automethod:: aptdaemon.core.Transaction.Simulate() .. automethod:: aptdaemon.core.Transaction.ProvideMedium(medium : string) .. automethod:: aptdaemon.core.Transaction.ResolveConfigFileConflict(config : string, answer : string) Signals ^^^^^^^ .. automethod:: aptdaemon.core.Transaction.Finished() -> string .. automethod:: aptdaemon.core.Transaction.PropertyChanged() -> string, variant Properties ^^^^^^^^^^ The transaction interface provides a set of properties which can be accessed and modified through :meth:`Set()`, :meth:`Get()` and :meth:`GetAll()` methods of the ``org.freedesktop.DBus.Properties`` interface. See the `D-Bus specification `_ for more details. For the documentation of the available string enumerations, see :mod:`aptdaemon.enums`. The following properties are available: .. attribute:: AllowUnauthenticated : b If it is allowed to install not authenticated packages by the transaction. Defaults to False. *writable* .. attribute:: Cancellable : b If the transaction can be cancelled at the moment. *read-only* .. attribute:: ConfigFileConflict : (ss) If the transaction waits for the resolution of a configuration file conflict, this property contains an array of the path to the old and the path to the new configuration file. See :meth:`ResolveConfigFileConflict()`. *read-only* .. attribute:: DebconfSocket : s The path to the socket which should be used to proxy debconf communication to the user. *writable* .. attribute:: Dependencies : (asasasasasasas) Array of package groups which will be modified as dependencies: * array of the packages to install * array of the packages to re-install * array of the packages to remove * array of the packages to purge * array of the packages to upgrade * array of the packages to downgrade * array of the packages to not upgrade (keep) The packages are specified by their name and a version number separated by an "=", e.g. "xterm=261-1". The dependencies are calculated after :meth:`Simulate()` or :meth:`Run()` was called. *read-only* .. attribute:: Download : x The required download size in Bytes. The property is available after :meth:`Simulate()` or :meth:`Run()` has been called. *read-only* .. attribute:: Error : (ss) If the transaction failed this property contains an array of the error code, e.g. ``error-no-lock`` and a detailed error message. *read-only* .. attribute:: ExitState : s If the transaction is completed it contains the exit status enum of the transaction, e.g. ``exit-failed``. If the transaction has not yet been completed it is ``exit-unfinished``. *read-only* .. attribute:: HttpProxy : s The URL of an http proxy which should be used for downloads by the transaction, e.g. ``http://proxy:8080``. *writable* .. attribute:: Locale : s The locale which is used to translate messages, e.g. ``de_DE@UTF-8``. *writable* .. attribute:: MetaData : a{sv} The meta data dictionary allows client applications to store additional data persistently in the transaction object. The key has to be a string and be prefixed by an underscore separated identifier of the client application, e.g. Software Center uses ``sc_app`` to store the application corresponding to the transaction. If a dict is written to the property it will be merged with the existing one. It is not allowed to override already existing keys. *writable* .. attribute:: Progress : i The progress in percent of the transaction. *read-only* .. attribute:: Packages : (asasasasasas) Array of package groups which have been specified by the user intially to be modified: * array of the packages to install * array of the packages to re-install * array of the packages to remove * array of the packages to purge * array of the packages to upgrade * array of the packages to downgrade The packages are specified by their name and an optional version number separated by an "=", e.g. "xterm=261-1". Furthermore if specified the target release of the package will be separated by a "/", e.g. "xterm/experimental". *read-only* .. attribute:: Paused : b If the transaction is paused, e.g. it is waiting for a medium or the resolution of a configuration file conflict. *read-only* .. attribute:: ProgressDetails : (iixxdx) A list with detailed progress information: * number of already processed items * number of total items * number of already downloaded bytes * number of total bytes which have to be downloaded * number of bytes downloaded per second * remaining time in seconds *read-only* .. attribute:: ProgressDownload : (sssxxs) The last progress information update of a currently running download. A list of .. * URL of the download * status enum of the download, e.g. ``download-fetching``. * short description of the download * number of already downloaded bytes * number of total bytes which have to be downloaded * Status message *read-only* .. attribute:: RemoveObsoletedDepends : b If in the case of a removal obsolete dependencies which have been installed automatically before should be removed, too. *writable* .. attribute:: RequiredMedium : (ss) If the transaction waits for a medium to be inserted this property contains an array of the medium name and the path to the drive in which it should be inserted. *read-only* .. attribute:: Role : s The enum representing the type of action performed by the transaction e.g. ``role-install-packages``. *read-only* .. attribute:: Space : x The required disk space in Bytes. If disk spaces is freed the value will be negative. The property is available after :meth:`Simulate()` or :meth:`Run()` has been called. *read-only* .. attribute:: Status : s The status enum of the transaction, e.g. ``status-loading-cache``. *read-only* .. attribute:: StatusDetails : s A human readable string with additional download information. *read-only* .. attribute:: Terminal : s The path to the slave end of the controlling terminal which should be used to controll the underlying :command:`dpkg` call. *writable* .. attribute:: TerminalAttached : b If the controlling terminal can be used to control the underlying :command:`dpkg` call. *read-only* .. attribute:: Unauthenticated : as List of packages which are going to be installed but are not from an authenticated repository. *read-only* .. _policykit: PolicyKit privileges -------------------- Most actions require the user to authenticate. The PolicyKit framework is used by aptdaemon for the authentication process. This allows to run aptdaemon as root and the client application as normal user. For non-transaction based actions the authentication will happen immediately. For transaction based actions the privilege will be checked after :meth:`Run()` has been called. If the privilege has not yet been granted the user will be requested to authenticate interactively. This allows the user to simulate a transaction before having to authenticate. Aptdaemon supports so called high level privileges which allow to perform a specified set of actions in a row without having to authenticate for each one separately. This only works if the client application authenticates for the high level privilge before running the transactions and the authentication is cached. There are two high level privileges ``install-packages-from-new-repo`` and ``install-purchased-software``. Both allow to add a repository, install the key of vendor from a keyserver, update the cache and to install packages. .. literalinclude:: ../examples/chained.py aptdaemon-1.1.1/doc/source/aptdaemon.gtk3widgets.rst0000644000175000017500000000024312117271433023245 0ustar renaterenate00000000000000:mod:`aptdaemon.gtk3widgets` --- The gtk3widgets module ===================================================== .. automodule:: aptdaemon.gtk3widgets :members: aptdaemon-1.1.1/doc/source/_ext/0000755000175000017500000000000012202062656017245 5ustar renaterenate00000000000000aptdaemon-1.1.1/doc/source/_ext/signals.py0000644000175000017500000000105312117271433021256 0ustar renaterenate00000000000000"""Adds a new directive signal for GObject signals""" import re from sphinx import addnodes signal_re = re.compile(r"([a-zA-Z-]+)\s->(.*)") def parse_signal(env, sig, signode): match = signal_re.match(sig) if not match: signode += addnodes.desc_name(sig, sig) return sig name, args = match.groups() signode += addnodes.desc_name(name, name) signode += addnodes.desc_returns(args.strip(), args.strip()) return name def setup(app): app.add_description_unit("signal", "sig", "pair: %s; signal", parse_signal) aptdaemon-1.1.1/doc/aptd.10000644000175000017500000000414512117271433016024 0ustar renaterenate00000000000000.\" groff -man -Tascii foo.1 .TH APTD 1 "December 2009" aptdaemon "User manual" .SH NAME aptd \- package managing daemon proving a D-Bus interface .SH SYNOPSIS .B aptd .RI [ OPTIONS ] .SH DESCRIPTION .B aptd allows to perform package management tasks, e.g. installing or removing software, using a D-Bus interface. The privileges are handled by PolicyKit so the client application doesn't need to run as root. Furthermore aptd is started by D-Bus activation only when an user calls a method. .SH OPTIONS .IP "-d, --debug" Show additional information on the command line. .IP "-h, --help" Show information about the usage of the command. .IP "-r, --replace" Replace another aptd instance if it is running. .IP "-p PROFILE_FILE" Write profiling data to .I PROFILE_FILE using Python's profiler. This is only of use to developers. .IP "-t, --disable-timeout" Do not shutdown the daemon after an idle time. .IP "--dummy" Instead of applying the changes to the system only show a progress. This option is only usable for developers to locate problems in client applications. .SH FILES .TP .I /etc/apt/apt.conf.d/20dbus Adds a small post update hook which will emit the org.debian.apt.CacheChanged signal on the system D-Bus to indicate that the cache has been changed and a possible running aptd instance should reloade its internal cache. .TP .I /usr/share/polkit-1/actions/org.debian.apt.policy The PolicyKit definitions of the privileges used by aptdaemon, e.g. to install packages. To change the privileges please have a look at .BR PolicyKit.conf (1). .TP .I /etc/dbus-1/system.d/org.debian.apt.conf The D-Bus configuration of the org.debian.apt name space. .SH DIAGNOSTICS By default aptdaemon logs to the syslog facility AptDaemon. Furthermore you can use the -d option to get additional information on the command line. .SH HOMEPAGE https://launchpad.net/aptdaemon .SH BUGS You can report bugs at the Launchpad site of aptdaemon: https://bugs.launchpad.net/aptdaemon/+filebug .SH AUTHOR Sebastian Heinlein .SH SEE ALSO .BR aptdcon (1), .BR org.debian.apt (7), .BR org.debian.apt.transaction (7), .BR PolicyKit.conf (7) aptdaemon-1.1.1/pylintrc0000644000175000017500000000023712117271433016032 0ustar renaterenate00000000000000[BASIC] # Allow CamelCase method names (DBus convention) #method-rgx=[a-zA-Z_][a-zA-Z0-9_]{2,30}$ [DESIGN] max-args=10 max-attributes=20 min-public-methods=0 aptdaemon-1.1.1/TODO0000644000175000017500000000142312117271433014731 0ustar renaterenate00000000000000HIGH * merge mvo's proxy patch NORMAL * client, gtkwidgets.AptProgressDialog: Implement the wait argument on run * client: Review documentation and add reply|error_handler notes * client/core/worker: Allow to install a list of local package files * client: Set the http proxy automattically * core: Allow to call AddVendorKey and RemoveVendorKey directly on the daemon interface instead of inside a transaction * core/worker: Reduce number of transaction roles handled internally. CommitPackages, UpgradeSystem and UpdateCache should be sufficient * core: Add packages attribute to the transaction interface which provides an array of all modified packages of the transaction * console: Add dependency calculation and confirmation aptdaemon-1.1.1/po/0000755000175000017500000000000012202062656014657 5ustar renaterenate00000000000000aptdaemon-1.1.1/po/en_AU.po0000644000175000017500000013260612117271433016216 0ustar renaterenate00000000000000# English (Australia) translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-12-25 13:34+0000\n" "Last-Translator: Jared Norris \n" "Language-Team: English (Australia) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "List keys of trusted vendors" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "To view the list of trusted keys, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Remove downloaded package files" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "To clean downloaded package files, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Change software configuration" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "To change software settings, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Change software repository" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "To change software repository settings, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Install package file" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "To install this package, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Update package information" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "To update the software catalogue, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Install or remove packages" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "To install or remove software, you need to authenticate." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Install software from a high-trust whitelisted repository." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "To install software, you need to authenticate." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Add a new repository and install packages from it" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "To install software from a new source, you need to authenticate." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Add a new repository of purchased software and install packages from it" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "To install purchased software, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Upgrade packages" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "To install updated software, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Cancel the task of another user" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "To cancel someone else's software changes, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Set a proxy for software downloads" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "To use a proxy server for downloading software, you need to authenticate." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Downloaded %sB of %sB at %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Downloaded %sB of %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROR:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "You are not allowed to perform this action." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Queuing" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Resolving dependencies" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "The following NEW package will be installed (%(count)s):" msgstr[1] "The following NEW packages will be installed (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "The following package will be upgraded (%(count)s):" msgstr[1] "The following packages will be upgraded (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "The following package will be REMOVED (%(count)s):" msgstr[1] "The following packages will be REMOVED (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "The following package will be DOWNGRADED (%(count)s):" msgstr[1] "The following packages will be DOWNGRADED (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "The following package will be reinstalled (%(count)s):" msgstr[1] "The following packages will be reinstalled (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "The following package has been kept back (%(count)s):" msgstr[1] "The following packages have been kept back (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Need to get %sB of archives." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "After this operation, %sB of additional disk space will be used." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "After this operation, %sB of additional disk space will be freed." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Do you want to continue [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Refresh the cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Try to finish a previous incompleted installation" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Install the given packages" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstall the given packages" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Remove the given packages" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Remove the given packages including configuration files" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Downgrade the given packages" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Deprecated: Please use --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Upgrade the system in a safe way" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Upgrade the system, possibly installing and removing packages" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Add the vendor to the trusted ones" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Add the vendor keyid (also needs --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Use the given keyserver for looking up keys" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Add new repository from the given deb-line" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Specify an alternative sources.list.d file to which repositories should be " "added." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "List trusted vendor keys" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Remove the trusted key of the given fingerprint" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "The minimum debconf priority of question to be displayed" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Do not attach to the apt terminal" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Allow packages from unauthenticated sources" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Show additional information about the packages. Currently only the version " "number" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Waiting for authentication" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Do not shutdown the daemon because of inactivity" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Do not load any plugins" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Show internal processing information" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Quit and replace an already running daemon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Listen on the DBus session bus (Only required for testing" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Perform operations in the given chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Store profile stats in the specified file" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Do not make any changes to the system (Only of use to developers)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Installed file" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Installed packages" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Added key from file" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Updated cache" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Search done" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Removed trusted key" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Removed packages" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Updated packages" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Upgraded system" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Applied changes" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Repaired incomplete installation" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Repaired broken dependencies" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Added software source" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Enabled component of the distribution" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Removed downloaded package files" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Reconfigured installed packages" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Successful" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Cancelled" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Failed" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installing file" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installing packages" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Adding key from file" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Updating cache" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Removing trusted key" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Removing packages" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Updating packages" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Upgrading system" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Applying changes" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Repairing incomplete installation" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Repairing installed software" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Adding software source" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Enabling component of the distribution" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Removing downloaded package files" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Reconfiguring installed packages" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Searching" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Installation of the package file failed" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Installation of software failed" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "Adding the key to the list of trusted software vendors failed" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Refreshing the software list failed" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Removing the vendor from the list of trusted ones failed" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Removing software failed" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Updating software failed" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Upgrading the system failed" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Applying software changes failed" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Repairing incomplete installation failed" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Repairing broken dependencies failed" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Adding software source failed" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Enabling component of the distribution failed" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Removing downloaded package files failed" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Search failed" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Adding license key" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Check your Internet connection." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "The selected file may not be a GPG key file or it might be corrupt." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "There isn't any need for an update." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "There isn't any need for an installation" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "There isn't any need for a removal." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "You requested to remove a package which is an essential part of your system." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "The installation or removal of a software package failed." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "The requested feature is not supported." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "This requires installing packages from unauthenticated sources." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Please copy the file to your local computer and check the file permissions." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "All available upgrades have already been installed." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "You don't have got the required privileges to perform this action." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "You either provided a wrong password or cancelled the authorisation.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialogue: your desktop environment doesn't provide a " "PolicyKit session agent." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Failed to download package files" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Failed to download repository information" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Package dependencies cannot be resolved" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "The package system is broken" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Key was not installed" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Key was not removed" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Failed to lock the package manager" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Failed to load the package list" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Package does not exist" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Package is already up to date" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Package is already installed" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Package isn't installed" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Failed to remove essential system package" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Task cannot be monitored or controlled" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Package operation failed" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Requires installation of untrusted packages" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Previous installation hasn't been completed" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "The package is of bad quality" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Package file could not be opened" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Not supported feature" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Failed to download the license key" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Failed to install the license key" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "The system is already up to date" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "You could not be authorised" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "You are not allowed to perform this action" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "An unhandleable error occured" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Waiting for service to start" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Waiting" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Waiting for required medium" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Waiting for other software managers to quit" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Waiting for configuration file prompt" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Running task" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Downloading" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Querying software sources" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Cleaning up" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Finished" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Cancelling" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Loading software list" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installing %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configuring %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Removing %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Completely removing %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Noting disappearance of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Running post-installation trigger %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Upgrading %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Unpacking %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Preparing installation of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Preparing configuration of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Preparing removal of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Preparing complete removal of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Installed %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Completely removed %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Removed %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Processing %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Done" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Authentication failed" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Fetching" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Idle" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Network isn't available" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Details" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "File" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Downloaded %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Downloaded" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' is required" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinue" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Install" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstall" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Remove" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Purge" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Upgrade" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Downgrade" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Skip upgrade" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Please take a look at the list of changes below." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Additional software has to be installed" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Additional software has to be re-installed" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Additional software has to be removed" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Additional software has to be purged" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Additional software has to be upgraded" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Additional software has to be downgraded" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Updates will be skipped" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Additional changes are required" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB will be downloaded in total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB of disk space will be freed." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB more disk space will be used." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Replace your changes in '%s' with a later version of the configuration file?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "If you don't know why the file is there already, it is usually safe to " "replace it." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Changes" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Keep" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Replace" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Details" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Waiting for %s to exit" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Downloading %(files)s" msgstr[1] "Downloading %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "local repository" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Downloading from %s" msgstr[1] "Downloading from %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Structure of %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Description of %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Description signature of %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Available packages from %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Available sources from %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Available translations from %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Translations for %s (%s) from %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Translations for %s from %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Translations (%s) from %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Package %s isn't available" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Package %s isn't installed" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "The version %s of %s isn't installed" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Package %s is already installed" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "The version %s of %s isn't available." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "The keyserver URL is invalid: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Invalid protocol of the server: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Invalid key id: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Failed to download and install the key %s from %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Key file %s couldn't be installed: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Key with fingerprint %s couldn't be removed: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Package %s cannot be removed." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "The version %s of %s is not installed" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "The former version %s of %s is already installed" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "The version %s of %s is already installed" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "The version %s of %s isn't available" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "You need to specify a version to downgrade %s to" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "The later version %s of %s is already installed" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "The package %s isn't available in the %s release." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Package %s cannot be removed" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "The license key is empty" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "The license key is not allowed to contain executable code." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "The license key path %s is invalid" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "The license key already exists: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "The location of the license key is insecure since it contains symbolic " "links. The path %s maps to %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "The directory where to install the key to doesn't exist yet: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Failed to write key file to: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "The following packages have unmet dependencies:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "but it is a virtual package" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "but it is not installed" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "but it is not going to be installed" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "but %s is installed" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "but %s is to be installed" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Adding the key to the list of trused software vendors failed" aptdaemon-1.1.1/po/ar.po0000644000175000017500000012207612117271433015631 0ustar renaterenate00000000000000# Arabic translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-29 13:50+0000\n" "Last-Translator: Ibrahim Saed \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "قائمه بمŮاتيح البائعين المŮŘ«Ůقين" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "لعرض قائمه بالمŮاتيح المŮŘ«Ůقة، تحتاج للاستيثاق." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "إزالة Ů…Ů„Ůات الحزم المنزّلة" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "لمسح Ů…Ů„Ůات الحزم المنزّلة، تحتاج للاستيثاق" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "لتغيير إعدادات البرنامج، تحتاج للاستيثاق." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "لتغيير إعدادات مستŮدعات البرمجيات، تحتاج للاستيثاق." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "لتثبيت هذه الحزمة، تحتاج للاستيثاق." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ŘŞŘ­ŘŻŮŠŘ« معلŮمات الحزم" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "لتحديث Ůهرس البرمجيات, تحتاج للاستيثاق." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "تثبيت أ٠إزالة حزم" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "لتثبيت أ٠إزالة البرمجيات، تحتاج للاستيثاق." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "لتثبيت برنامج، تحتاج للاستيثاق." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "أضŮ٠مصدرا جديدا Ůثبّت الحزم من خلاله" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "لتثبيت برمجيات من مصادر جديدة، تحتاج للاستيثاق." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "أضŮ٠مستŮدعا جديدا للبرمجيات المشتراة Ůثبّت الحزم من خلاله" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "لتثبيت البرمجيات المشتراة، تحتاج للاستيثاق." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ترقية الحزم" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "لتثبيت البرمجيات المُحدّثة، تحتاج للاستيثاق." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "إلغاء المهمة لمستخدم آخر" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "لإلغاء التغيرات البرمجية لشخص آخر، تحتاج للاستيثاق." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "لاستخدام خادŮŮ… Ůسيط لتنزيل البرمجيات، تحتاج للاستيثاق." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "خطأ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "ŘŞŮ… تنزيل %sب من %sب بـ %sب/Ř«" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "ŘŞŮ… تنزيل %sب من %sب" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "خطأ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "غير مسمŮŘ­ ل٠بتنŮيذ هذا الإجراء." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "سيتم تثبيت الحزم الجديدة التالية (%(count)s):" msgstr[1] "سيتم تثبيت الحزمة الجديدة التالية:" msgstr[2] "سيتم تثبيت الحزمتين الجديدتين التاليتين:" msgstr[3] "سيتم تثبيت الحزم الجديدة التالية (%(count)s):" msgstr[4] "سيتم تثبيت الحزم الجديدة التالية (%(count)s):" msgstr[5] "سيتم تثبيت الحزم الجديدة التالية (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "سيتم ترقية الحزم التالية (%(count)s):" msgstr[1] "سيتم ترقية الحزمة التالية:" msgstr[2] "سيتم ترقية الحزمتين التاليتين:" msgstr[3] "سيتم ترقية الحزم التالية (%(count)s):" msgstr[4] "سيتم ترقية الحزم التالية (%(count)s):" msgstr[5] "سيتم ترقية الحزم التالية (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "سيتم إزالة الحزم التالية (%(count)s):" msgstr[1] "سيتم إزالة الحزمة التالية:" msgstr[2] "سيتم إزالة الحزمتين التاليتين:" msgstr[3] "سيتم إزالة الحزم التالية (%(count)s):" msgstr[4] "سيتم إزالة الحزم التالية (%(count)s):" msgstr[5] "سيتم إزالة الحزم التالية (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "سيتم تثبيط الحزم التالية(%(count)s):" msgstr[1] "سيتم تثبيط الحزمة التالية:" msgstr[2] "سيتم تثبيط الحزمتين التاليتين:" msgstr[3] "سيتم تثبيط الحزم التالية(%(count)s):" msgstr[4] "سيتم تثبيط الحزم التالية(%(count)s):" msgstr[5] "سيتم تثبيط الحزم التالية(%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "سيعاد تثبيت الحزم التالية (%(count)s):" msgstr[1] "سيعاد تثبيت الحزمة التالية:" msgstr[2] "سيعاد تثبيت الحزمتين التاليتين:" msgstr[3] "سيعاد تثبيت الحزم التالية (%(count)s):" msgstr[4] "سيعاد تثبيت الحزم التالية (%(count)s):" msgstr[5] "سيعاد تثبيت الحزم التالية (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "يحتاج لجلب %sب من الأرشيŮات." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "بعد هذه العملية، ŘłŮ٠تُستخدم %sب من المساحة الإضاŮŮŠŘ© على القرص." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "بعد هذه العملية، ŘłŮŮ ŘŞŮŹŮرّغ %sب من المساحة على القرص." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "حاŮŮ„ إنهاء التثبيت السابق الغير Ů…ŮŘŞŮ…Ů„" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "ŮŮŠ انتظار الاستيثاق" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "مل٠مُثبّت" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "حزم مُثبّتة" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "أض٠مŮتاحا من Ů…Ů„Ů" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "حدّث الخبيئة" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "احذ٠مŮتاحا غير Ů…ŮŘ«ŮŮ‚" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "حزم محذŮŮŘ©" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "حزم مُحدّثة" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "نظام مرقّى" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ناجح" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "ملغى" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "ŮŘ´Ů„" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "يثبّت الملŮ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "يثبّت الحزم" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ŘŞŘ­ŘŻŮŠŘ« الخبيئة" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "يطبّق التغييرات" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "ŘŞŮقّد اتصال٠بالإنترنت." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "تحقق مما إذا Ůنت تستخدم مستŮدعات طر٠ثالث .إذا Ůان Ůذل٠عطلها، Ř­ŮŠŘ« أنها " "تعتبر مصدر شائع للأخطاء.\n" "علاŮŘ© على ذل٠قم بتنŮيذ الأمر التالي ŮŮŠ الطرŮŮŠŘ©: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "تحقق مما إذا Ůان هنا٠برنامج إدارة برمجيات آخر يعمل (مثل: Synaptic ŘŁŮ " "aptitude). يُسمح لبرنامج إدارة برمجيات Ůاحد Ůقط بإجراء تغييرات ŮŮŠ نŮŘł الŮقت." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "ليس هنا٠أي حاجة للتحديث." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Ůُقد الاتصال بالعŮريت. على الأرجح Ůإن العŮريت الذي يعمل ŮŮŠ الخلŮŮŠŘ© قد انهار." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "ŮŘ´Ů„ التثبيت أ٠الإزالة لحزمة برمجية." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "يبد٠أن هنا٠خطأ برمجيا ŮŮŠ aptdaemonŘŚ Ůهي البرمجية التي ŘŞŘŞŮŠŘ­ ل٠تثبيت Ůإزالة " "البرمجيات، Ůأداء مهام أخرى ذات صلة بإدارة الحزم." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "يتطلب ذل٠تثبيت حزم من مصادر غير Ů…ŮŘ«Ůقة." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "ŮŘ´Ů„ التثبيت بسبب خطأ متعلق بحزمة البرمجية أ٠بسبب إلغاءه بطريقة غير ملائمة. " "علي٠إصلاح ذل٠قبل أن ŘŞŘŞŮ…Ůن من تثبيت أ٠إزالة ŘŁŮŠ برمجيات أخرى." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "لا يُسمح بتثبيت الحزم التي تنته٠معايير الجŮŘŻŘ©. قد يتسبب ذل٠ŮŮŠ Ř­ŘŻŮŘ« Ů…Ř´Ůلات " "خطيرة على حاسŮبŮ. رجاءً اتصل بالشخص أ٠المنظمة التي تقدم هذه الحزمة Ůضمّن " "التŮاصيل أدناه." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "ŮŘ´Ů„ ŮŮŠ تنزيل Ů…Ů„Ůات الحزم" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "ŮŘ´Ů„ ŮŮŠ تنزيل معلŮمات المستŮŘŻŘą" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "حزمة النظام معطŮبة" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "ŮŘ´Ů„ ŮŮŠ ŘŞŘ­Ů…ŮŠŮ„ قائمة الحزم" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "ŮŘ´Ů„ ŮŮŠ إزالة حزم نظام أساسية" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "تعذّر رصد المهمة أ٠التحŮŮ… بها" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "ŮŘ´Ů„ عملية حزمة" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "يتطلب تثبيت حزم غير Ů…ŮŘ«Ůقة" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "الحزمة ذات جŮŘŻŘ© سيئة" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "ŮŘ´Ů„ ŮŮŠ تنزيل Ů…Ůتاح الترخيص" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "ŮŘ´Ů„ ŮŮŠ تثبيت Ů…Ůتاح الترخيص" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Ř­ŘŻŘ« خطأ لا ŮŠŮ…Ůن التعامل معه" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "ŮŮŠ انتظار بدء الخدمة" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "ينتظر" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "ŮŮŠ انتظار الŮسيط المطلŮب" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "ŮŮŠ انتظار مدير٠البرمجيات الأخرى حتى تنتهي" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ينزّل" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "يستعلم عن مصادر البرمجيات" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "انتهى" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "يلغي" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "يحمّل قائمة البرمجيات" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "يثبّت %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "يُحضّر لتثبيت %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "يُحضّر لإعداد %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "يُحضّر لإزالة %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "يُحضّر لإزالة %s إزالة Ůاملة" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "ŮŘ´Ů„ الاستيثاق" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "ŘŞŮاصيل" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "ŘŞŮ… تنزيل %sب" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "سيتم تنزيل ما مجمŮعه %sب" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_ŘŞŮاصيل" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "ŮŮŠ انتظار %s حتى ينتهي" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "ينزّل %(files)s" msgstr[1] "ينزّل %(files)s" msgstr[2] "ينزّل %(files)s" msgstr[3] "ينزّل %(files)s" msgstr[4] "ينزّل %(files)s" msgstr[5] "ينزّل %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "ينزّل من %s" msgstr[1] "ينزّل من %s" msgstr[2] "ينزّل من %s" msgstr[3] "ينزّل من %s" msgstr[4] "ينزّل من %s" msgstr[5] "ينزّل من %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/hr.po0000644000175000017500000010332712117271433015636 0ustar renaterenate00000000000000# Croatian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2009-12-04 23:14+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/bg.po0000644000175000017500000015313712117271433015621 0ustar renaterenate00000000000000# Bulgarian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-09-18 11:18+0000\n" "Last-Translator: Dimitar Dimitrov \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Đзброяване на ключове на доверени Đ´ĐľŃтавчици" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "За да видите ŃпиŃъка Ń Đ´ĐľĐ˛ĐµŃ€ĐµĐ˝Đ¸ ключове, трябва да Ńе идентифицирате." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Премахване на инŃталационните пакетни файлове" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "За да премахнете Ńвалените инŃталационни файлове, трябва да Ńе " "идентифицирате." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Променяне на ŃофтŃерната конфигŃрация" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "За да променяте ŃофтŃерните наŃтройки, трябва да Ńе идентифицирате." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Промяна на ŃофтŃерно хранилище" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "За да промените наŃтройките на ŃофтŃерно хранилище, трябва да Ńе " "идентифицирате." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ĐĐ˝Ńталиране на файл пакет" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "За да инŃталирате този пакет, трябва да Ńе идентифицирате." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ĐктŃализиране на информацията за пакетите" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "За да обновите ŃофтŃерния каталог, трябва да Ńе идентифицирате." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ĐĐ˝Ńталиране или премахване на пакети" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "За да инŃталирате или премахнете ŃофтŃер, трябва да Ńе идентифицирате." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Добавяне на ново хранилище и инŃталиране на пакети от него." #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "За да инŃталирате ŃофтŃер от нов източник, трябва да Ńе идентифицирате." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Добавяне на ново хранилище на закŃпен ŃофтŃер и инŃталиране на пакети от него" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "За да инŃталирате поръчан трябва да Ńе идентифицирате." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Пакети за надграждане" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "За да инŃталирате обновен ŃофтŃер, трябва да Ńе идентифицирате." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Отказване на задачата на Đ´Ń€ŃĐł потребител" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "За да откажете ŃофтŃерните промени на Đ´Ń€ŃĐł потребител, трябва да Ńе " "идентифицирате." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Задаване на Ńървър-поŃредник за изтегляне на ŃофтŃер" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "За да използвате Ńървър-поŃредник за да изтеглите ŃофтŃер, трябва да Ńе " "идентифицирате." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ГРЕШКĐ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Đзтегляне на %sB от %sB Ń %sB/Ń" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Đзтеглени %sB от %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ГРЕШКĐ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Не Ви е позволено да извърŃвате това дейŃтвие." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Добавяне в опаŃката" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ĐзчиŃляване на завиŃимоŃтите" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Следният НОВ пакет ще бъде инŃталиран (%(count)s):" msgstr[1] "Следните НОВРпакети ще бъдат инŃталирани (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Следният пакет ще бъде обновен (%(count)s):" msgstr[1] "Следните пакети ще бъдат обновени (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Следният пакет ще бъде ПРЕМĐĐĄĐťĐТ: (%(count)s):" msgstr[1] "Следните пакети ще бъдат ПРЕМĐĐĄĐťĐТĐ: (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Следният пакет ще бъде ПОНĐЖЕН: (%(count)s):" msgstr[1] "Следните пакети ще бъдат ПОНĐЖЕНĐ: (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Следният пакет ще бъде преинŃталиран: (%(count)s):" msgstr[1] "Следните пакети ще бъдат преинŃталирани (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Следният пакет е задържан (%(count)s):" msgstr[1] "Следните пакети Ńа задържани (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Трябва да бъдат полŃчени архиви в размер %sB." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "След тази операция, ще бъде използвано %sB допълнително проŃтранŃтво." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "След тази операция, ще бъде бъде ĐľŃвободено %sB проŃтранŃтво." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Желаете ли да продължите [y=Да/n=Не]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "За да работите Ń ĐżĐľĐ˛ĐµŃ‡Đµ от един пакет, Ńложете името ĐĽŃ Đ˛ кавички:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "ОпреŃняване на кеŃа" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Опит за разреŃаване на ŃчŃпени завиŃимоŃти. Това е потенциално опаŃно " "дейŃтвие, тъй като може да Ńе опита да премахне много пакети." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Опит за завърŃване на предходна незавърŃена инŃталация" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ĐĐ˝Ńталиране на дадените пакети" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ПреинŃталиране на дадените пакети" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Премахване на дадените пакети" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "Премахване на дадените пакети, включително конфигŃрационните им файлове" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Понижаване на верŃиите на дадените ŃофтŃерни пакети" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "ĐžŃтаряло: Моля използвайте --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Надграждане на ŃиŃтемата по безопаŃен начин" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Надграждане на ŃиŃтемата Ń ĐµĐ˛ĐµĐ˝Ń‚Ńално инŃталиране и премахване на пакети" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Добавяне на Đ´ĐľŃтавчик към доверените" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "Добавяне на ключов идентификатор на Đ´ĐľŃтавчик (Đ˝Ńждае Ńе и от --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Đзползване на даден Ńървър за търŃене на ключове" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Добяване на ново хранилище от даден deb-ред" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Указване на алтернативен файл sources.list.d, към който да Ńе добавят " "хранилища." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Đзброяване на ключове от доверени Đ´ĐľŃтавчици" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Премахване на доверения ключ на даден идентификатор" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "ПренаŃтрой инŃталираните пакети. По желание може да бъде определен минимален " "приоритет на въпроŃи." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Да бъде показан минималният debconf приоритет на въпроŃи" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Да Ńе закача към терминала на apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "РазреŃаване на пакети от неидентифицирани източници" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Показване на допълнителна информация за пакетите. Đ’ момента Ńе показва Ńамо " "верŃията." #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Đзчакване за идентификация" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Не Ńпирайте демона заради неактивноŃŃ‚" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Показване на вътреŃна информация за обработка" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Спиране и заменяне на вече работещ демон" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "СлиŃайте DBus ŃеŃията (ĐзиŃквана Ńамо за теŃтване)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Đзпълни операции във зададената chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Запазване на ŃтатиŃтики за профила в Ńпоменатия файл" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Без промени по ŃиŃтемата (От полза Ńамо за разработчици)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "ĐĐ˝Ńталиран файл" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "ĐĐ˝Ńталирани пакети" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Добавен ключ от файл" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "ĐктŃализиран кеŃ" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "ТърŃенето приключи" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Премахнат доверен ключ" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Премахнати пакети" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Обновени пакети" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Надградена ŃиŃтема" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Приложени промени" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Поправена непълна инŃталация" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Поправени повредени завиŃимоŃти" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Добавен източник на ŃофтŃер" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Включен компонент на диŃтрибŃцията" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Премахнати Ńа инŃталационните пакетни файлове." #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "ПренаŃтроени инŃталирани пакети" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ĐŁŃпеŃно" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Отменено" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "НеŃŃпеŃно" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ĐĐ˝Ńталиране на файл" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ĐĐ˝Ńталиране на пакети" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Добавяне на ключ от файл" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ĐктŃализиране на кеŃа" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Премахване на доверен ключ" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Премахване на пакети" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "ĐктŃализиране на пакети" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Надграждане на ŃиŃтемата" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Прилагане на промените" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Поправяне на непълна инŃталация" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Поправяне на инŃталиран ŃофтŃер" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Добавяне на източник на ŃофтŃер" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Включване на компонент на диŃтрибŃцията" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Премахване на инŃталационните пакетни файлове" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "ПренаŃтройване на инŃталираните пакети" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "ТърŃене" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "ĐĐ˝Ńталирането на пакета неŃŃпеŃно" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "ĐĐ˝Ńталирането на ŃофтŃера неŃŃпеŃно" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "ОпреŃняването на ŃофтŃерния ŃпиŃŃŠĐş неŃŃпеŃно" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Премахването на ŃофтŃерния Đ´ĐľŃтавчик от ŃпиŃъка ŃŃŠŃ ŃофтŃерни Đ´ĐľŃтавчици " "неŃŃпеŃно" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Премахването на ŃофтŃера неŃŃпеŃно" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Обновяването на ŃофтŃер неŃŃпеŃно" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Надграждането на ŃиŃтемата неŃŃпеŃно" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Прилагането на ŃофтŃерните промени неŃŃпеŃно" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Поправянето на непълна инŃталация неŃŃпеŃно" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Поправянето на повредени завиŃимоŃти неŃŃпеŃно" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Добавянето на източник на ŃофтŃер е неŃŃпеŃно" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Включването на компонент на диŃтрибŃцията е неŃŃпеŃно" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Премахването на инŃталационните пакетни файлове е неŃŃпеŃно" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "ТърŃенето е неŃŃпеŃно" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Проверете Đнтернет връзката." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Проверете дали използвате ŃофтŃерни хранилища на трети Ńтрани. Đко това е " "така, деактивирайте ги, защото те чеŃто Ńа източник на проблеми.\n" "Допълнително изпълнете Ńледната команда в Терминал: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Đзбраният файл може да не е GPG файл ключ или може да е повреден." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Đзбраният ключ не може да бъде премахнат. Проверете дали Ńте поŃочили " "валиден идентификатор." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Проверете дали в момента не работи Đ´Ń€ŃĐł инŃтрŃмент за Ńправление на ŃофтŃер, " "например Synaptic или aptitude. Đ’ даден момент Ńамо на един инŃтрŃмент е " "позволено да прави промени." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Това е Ńериозен проблем. Опитайте отново по-къŃно. Đко проблемът Ńе появи " "отново, Ńъобщете го на разработчиците." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Проверете изпиŃването на името на пакета, както и че Ńъответно хранилище е " "включено." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Няма необходимоŃŃ‚ от обновяване." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Няма необходимоŃŃ‚ от инŃталация" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Няма необходимоŃŃ‚ от премахване." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "ПоиŃкахте да премахнете пакет който е ĐľŃновна чаŃŃ‚ от ваŃата ŃиŃтема." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Връзката Ń Đ´ĐµĐĽĐľĐ˝Đ° беŃе изгŃбена. Най-вероятно демонът, работещ във фонов " "режим е блокирал." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "ĐĐ˝Ńталация или премахване на ŃофтŃерен пакет неŃŃпеŃна." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "ĐŃканата Ń„Ńнкция не Ńе поддържа." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Đзглежда има програмна греŃка в aptdaemon - ŃофтŃерът който ви позволява да " "инŃталирате/деинŃталирате ŃофтŃер и да изпълнявате Đ´Ń€Ńги задачи от " "Ńправлението на пакетите." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Тази греŃка може да Ńе дължи на необходими допълнителни ŃофтŃерни пакети, " "които липŃват или не могат да бъдат инŃталирани. ĐžŃвен това, възможно е да " "има конфликт ĐĽĐµĐ¶Đ´Ń ŃофтŃерни пакети, които не могат да бъдат едновременно " "инŃталирани." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "ĐĐ˝Ńталацията може да Ńе е провалила, заради греŃка в Ńъответните ŃофтŃерни " "пакети или ако е била прекъŃната по некоректен начин. Трябва да отŃтраните " "това преди да инŃталирате или премахнете Đ´Ń€ŃĐł ŃофтŃер." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Моля копирайте файлът на ваŃия локален компютър и проверете разреŃенията за " "файла." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "ĐĐ˝Ńталирането на пакет, който нарŃŃава качеŃтвените Ńтандарти не е " "разреŃено. Това може да причини Ńериозни повреди на ваŃия компютър. Моля " "Ńвържете Ńе Ń Ń‡ĐľĐ˛ĐµĐşĐ° или организацията, която е ĐľŃигŃрила този файл включващ " "Ńледните детайли." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Đ’Ńички налични актŃализации Ńа вече инŃталирани." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "НеŃŃпех при изтегляне на файловете от пакета" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "НеŃŃпех при изтегляне на информацията от хранилището" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Пакетните завиŃимоŃти не могат да бъдат ŃŃтановени" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Пакетната ŃиŃтема е повредена" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Ключът не беŃе инŃталиран" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Ключът не беŃе премахнат" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "НеŃŃпех при заключването на пакетния мениджър" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "НеŃŃпех при зареждане на ŃпиŃъка Ń ĐżĐ°ĐşĐµŃ‚Đ¸" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Пакетът не ŃъщеŃтвŃва" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Пакетът вече е инŃталиран" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Пакетът не е инŃталиран" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "НеŃŃпех при премахването на ĐľŃновнен ŃиŃтемен пакет" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Задачата не може да бъде наблюдавана или контролирана" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Пакетната операция неŃŃпеŃна" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "ĐзиŃква инŃталация на недоверени пакети" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "ПредиŃната инŃталация не е завърŃена" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Пакетът е Ń Đ»ĐľŃĐľ качеŃтво" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Пакетният файл не може да бъде отворен" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Неподдържана Ń„Ńнкция" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Появи Ńе неочаквана греŃка" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Đзчакване ŃŃĐ»Ńгата да Ńтартира" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Đзчакване" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Đзчакване на необходимата Ńреда" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Đзчакване на Đ´Ń€Ńги ŃофтŃерни мениджъри да приключат работа" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Đзчакване промпта на конфигŃрационния файл" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "ТекŃща задача" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Đзтегляне" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ПочиŃтване" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ЗавърŃи" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Отменяне" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Зареждане на ŃпиŃъка ŃŃŠŃ ŃофтŃер" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "ĐĐ˝Ńталиране на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "КонфигŃриране на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Премахване на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Окончателно премахване на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Отбелязване на изчезването на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Đзпълнение на тригер Ńлед инŃталиране %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Надграждане на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Разпакетиране на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Подготовка за инŃталиране на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Подготовка за конфигŃриране на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Подготовка за премахване на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Подготовка за окончателно премахване на %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s е инŃталиран" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s е напълно премахнат" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s е премахнат" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Обработка на %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Готово" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "НеŃŃпеŃна идентификация" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "ПолŃчаване" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Đ’ покой" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Мрежата не е Đ´ĐľŃтъпна" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "ПодробноŃти" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Файл" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Đзтеглени %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Đзтеглен" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Необходим е CD/DVD '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Моля поŃтавете горния CD/DVD в ŃŃтройŃтвото '%s', за да инŃталирате " "ŃофтŃерни пакети от него." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "Пр_одължаване" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ĐĐ˝Ńталиране" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ПреинŃталиране" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Премахване" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "ПрочиŃтване" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Надграждане" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "По-Ńтара верŃия" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Без надграждане" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Моля разгледайте ŃпиŃъка Ń ĐżŃ€ĐľĐĽĐµĐ˝Đ¸Ń‚Đµ по-долŃ." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Трябва да бъде инŃталиран допълнителен ŃофтŃер" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Трябва да бъде преинŃталиран допълнителен ŃофтŃер" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Трябва да бъде премамахнат допълнителен ŃофтŃер" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Трябва да бъде прочиŃтен допълнителен ŃофтŃер" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Трябва да бъде надграден допълнителен ŃофтŃер" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Трябва да бъде върнат към по-Ńтара верŃия допълнителен ŃофтŃер" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Ще бъдат пропŃŃнати обновления" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Необходими Ńа допълнителни прочени" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Ще бъдат изтеглени %sB общо." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Ще бъде ĐľŃвободено %sB диŃково проŃтранŃтво." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Ще бъде използвано %sB диŃково проŃтранŃтво." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Замяна на ваŃите промени в '%s' Ń ĐżĐľ-ŃкороŃна верŃия на конфигŃрационния " "файл?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Đко не знаете защо файла е там, обикновенно е безопаŃно да го Ńмените." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Промени" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Запазване" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Замяна" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_ПодробноŃти" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Đзчакване на %s за изход" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Đзтегляне на %(files)s" msgstr[1] "Đзтегляне на %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "локално хранилище" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Сваляне от %s" msgstr[1] "Сваляне от %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "СтрŃктŃра на %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "ОпиŃание на %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Налични пакети от %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Налични източници от %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Налични преводи от %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Превод на %s (%s) от %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Превод на %s от %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Пакетът %s не може да бъде намерен" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Пакетът %s не е инŃталиран" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "ВерŃията %s на %s не е инŃталирана" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Пакетът %s вече е инŃталиран" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "ВерŃията %s на %s не е Đ´ĐľŃтъпна." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "НеŃŃпех да Ńвали и инŃталира ключът %s от %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Ключов файл %s не може да бъде инŃталиран: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Ключ ŃŃŠŃ ĐľŃ‚ĐżĐµŃ‡Đ°Ń‚ŃŠĐş %s не може да бъде премахнат: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Пакетът %s не може да бъде премахнат." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "ВерŃията %s на %s не е инŃталирана" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "БивŃата верŃия %s на %s е вече инŃталирана" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "ВерŃията %s на %s е вече инŃталирана" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "ВерŃията %s на %s не е Đ´ĐľŃтъпна" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Трябва да поŃочите верŃия за понижаване %s на" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "КъŃната верŃия %s на %s е вече инŃталирана" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Пакетът %s не е Đ´ĐľŃтъпен във %s верŃия" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Пакетът %s не може да бъде премахнат" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Пакетът не предлага валиден ĐĐ˝Ńтално-Размерно контролно поле. Вижте Debian " "Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Следните пакети имат неŃдовлетворени завиŃимоŃти:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "но е виртŃален пакет" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "но не е инŃталиран" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "но няма да бъде инŃталиран" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "но %s е инŃталиран" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "но %s ще бъде инŃталиран" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Добавянето на ключа към ŃпиŃъка Ń Đ´ĐľĐ˛ĐµŃ€ĐµĐ˝Đ¸ ŃофтŃерни Đ´ĐľŃтавчици неŃŃпеŃно" aptdaemon-1.1.1/po/az.po0000644000175000017500000010412612117271433015635 0ustar renaterenate00000000000000# Azerbaijani translation for aptdaemon # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-08-28 18:25+0000\n" "Last-Translator: Ali Ismayilov \n" "Language-Team: Azerbaijani \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "İnanılmış vendorların açar siyahısı" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "YĂĽklÉ™nmiĹź paket fayllarını sil" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Proqram tÉ™minatının konfiqurasiyasını dÉ™yiĹź" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Proqram tÉ™minatı repositorunu dÉ™yiĹź" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Paket faylını yĂĽklÉ™" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "PaketlÉ™ri yĂĽklÉ™ vÉ™ ya sil" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Yeni repositor É™lavÉ™ et vÉ™ ordan paketlÉ™r yĂĽklÉ™" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Alınmış proqramların yeni repositorun É™lavÉ™ et vÉ™ ordan paketlÉ™ri yĂĽklÉ™" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "BaĹźqa istifadəçinin iĹźini dayandır" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Proqram tÉ™minatını yĂĽklÉ™mÉ™k üçün proxy mĂĽÉ™yyÉ™n et" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/te.po0000644000175000017500000014076112117271433015640 0ustar renaterenate00000000000000# Telugu translation for aptdaemon # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-03-28 03:43+0000\n" "Last-Translator: Praveen Illa \n" "Language-Team: Telugu \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "నమ్మదగిన అమ్మకందారౠయొక్క కీలనౠజాబితాగాచూపŕ±" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "విశ్వసించిన 'ŕ°•ŕ±€'ŕ°˛ జాబితానౠచూచŕ±ŕ°źŕ°•ŕ±, మీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసిఉంటŕ±ŕ°‚ది." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "డౌన్‌లోడ్ చేసిన ప్యాకేజీ ŕ°«ŕ±ŕ°łŕ±Ťŕ°łŕ°¨ŕ± తొలగించŕ±" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "డౌన్‌లోడ్‌చేయబడిన ప్యాకేజీ ŕ°«ŕ±ŕ°łŕ±Ťŕ°˛ŕ°¨ŕ± ŕ°¶ŕ±ŕ°­ŕ±Ťŕ°°ŕ°‚చేయŕ±ŕ°źŕ°•ౠమీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసిఉంటŕ±ŕ°‚ది." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "సాఫ్ట్‍వేర్ స్వరూపణాన్ని మార్చŕ±" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "సాఫ్ట్‍వేర్ అమరికలనౠమార్చŕ±ŕ°źŕ°•ౠమీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసిఉంటŕ±ŕ°‚ది." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "సాఫ్ట్‍వేర్ భాండాగారాన్ని మార్చŕ±" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "సాఫ్ట్‍వేర్ భాండాగార అమరికలనౠమార్చŕ±ŕ°źŕ°•ౠమీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసిఉంటŕ±ŕ°‚ది." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ప్యాకేజీ ŕ°«ŕ±ŕ°˛ŕ±Ťâ€Śŕ°¨ŕ°ż స్థాపించŕ±" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "ఠప్యాకేజీని స్థాపించŕ±ŕ°źŕ°•ŕ±, మీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసి ఉంటŕ±ŕ°‚ది." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ప్యాకేజీ సమాచారాన్ని నవీకరించŕ±" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "సాఫ్ట్‍వేర్ జాబితానౠనవీకరించŕ±ŕ°źŕ°•ౠమీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసిఉంటŕ±ŕ°‚ది." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ప్యాకేజీలనౠస్థాపించౠలేదా తొలగించŕ±" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "సాఫ్ట్‍వేర్ స్థాపించŕ±ŕ°źŕ°•ౠలేదా తొలగించŕ±ŕ°źŕ°•ŕ±, మీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసిఉంటŕ±ŕ°‚ది." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "ŕ°’ŕ°• కొత్త భాండాగారాన్ని జతచేసి దానినŕ±ŕ°‚డి ప్యాకేజీలనౠస్థాపించŕ±" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "ŕ°’ŕ°• కొత్త మూలాధారం ŕ°¨ŕ±ŕ°‚డి సాఫ్ట్‍వేర్ స్థాపించŕ±ŕ°źŕ°•ŕ±, మీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసివŕ±ŕ°‚ŕ°źŕ±ŕ°‚ది." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "కొనŕ±ŕ°—ోలŕ±ŕ°šŕ±‡ŕ°¸ŕ°żŕ°¨ సాఫ్ట్‍వేర్ యొక్క కొత్త భాండాగారాన్ని జతచేసి దానినŕ±ŕ°‚డి " "ప్యాకేజీలనౠస్థాపించŕ±" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "కొన్న సాఫ్ట్‍వేర్ స్థాపించŕ±ŕ°źŕ°•ŕ±, మీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసి ఉంటŕ±ŕ°‚ది." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ప్యాకేజీలనౠఉన్నతీకరించŕ±" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "నవీకరించబడిన సాఫ్ట్‍వేర్ స్థాపించŕ±ŕ°źŕ°•ŕ±, మీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసిఉంటŕ±ŕ°‚ది." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "ఇంకొక వాడŕ±ŕ°•ŕ°°ŕ°ż యొక్క కార్యాన్ని రద్దŕ±ŕ°šŕ±‡ŕ°Żŕ°ż" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "వేరేఇతర సాఫ్ట్‍వేర్ మార్పŕ±ŕ°˛ŕ°¨ŕ± రద్దŕ±ŕ°šŕ°Żŕ±ŕ°źŕ°•ౠమీరౠధŕ±ŕ°µŕ±€ŕ°•రించవలసిఉంటŕ±ŕ°‚ది." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "సాఫ్ట్‍వేర్ డౌన్‌లోడ్‌లకౠఒక ప్రోక్సీని అమర్చŕ±" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "ప్రోక్సీ సేవిక వాడి సాఫ్ట్‍వేర్ డౌన్‌లోడ్‌చేయŕ±ŕ°źŕ°•ŕ±, మీరౠధŕ±ŕ°µŕ±€ŕ°•ŕ°°ŕ°Ł " "చేయవలసిఉంటŕ±ŕ°‚ది." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "దోషం" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "దోషం:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "ఠచర్యనౠచేయŕ±ŕ°źŕ°•ౠమీకౠఅనŕ±ŕ°®ŕ°¤ŕ°ż లేదŕ±" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "వరŕ±ŕ°¸ŕ°˛ŕ±‹ŕ°šŕ±‡ŕ°°ŕ±ŕ°¸ŕ±Ťŕ°¤ŕ±‹ŕ°‚ది" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ఆధారితత్వాలనౠపరిష్కరిస్తోంది" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "కిందపేర్కొన్న కొత్త ప్యాకేజీ స్థాపించబడŕ±ŕ°¤ŕ±ŕ°‚ది (%(count)s):" msgstr[1] "కిందపేర్కొన్న కొత్త ప్యాకేజీలౠస్థాపించబడతాయి (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "కిందపేర్కొన్న ప్యాకేజీ ఉన్నతీకరించబడతŕ±ŕ°‚ది (%(count)s):" msgstr[1] "కిందపేర్కొన్న ప్యాకేజీలౠఉన్నతీకరించబడతాయి (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "కిందపేర్కొన్న ప్యాకేజీ తొలగించబడŕ±ŕ°¤ŕ±ŕ°‚ది (%(count)s):" msgstr[1] "కిందపేర్కొన్న ప్యాకేజీలౠతొలగించబడతాయి (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "కిందపేర్కొన్న ప్యాకేజీ డౌన్‌గ్రేడ్‌చేయబడŕ±ŕ°¤ŕ±ŕ°‚ది (%(count)s):" msgstr[1] "కిందపేర్కొన్న ప్యాకేజీలౠడౌన్‌గ్రేడ్‌చేయబడŕ±ŕ°¤ŕ°ľŕ°Żŕ°ż (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "కిందపేర్కొన్న ప్యాకేజీ ŕ°Şŕ±ŕ°¨ŕ°ŕ°¸ŕ±Ťŕ°Ąŕ°ľŕ°Şŕ°żŕ°‚చబడŕ±ŕ°¤ŕ±ŕ°‚ది (%(count)s):" msgstr[1] "కిందపేర్కొన్న ప్యాకేజీలౠపŕ±ŕ°¨ŕ°ŕ°¸ŕ±Ťŕ°Ąŕ°ľŕ°Şŕ°żŕ°‚చబడతాయి (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "%sB ఆర్చీవ్‌లనౠపొందవలసిఉంది." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "ఠఆపరేషన్ తరŕ±ŕ°µŕ°ľŕ°¤, %sB డిస్కౠస్థలం అదనంగా వినియోగించబడŕ±ŕ°¤ŕ±ŕ°‚ది." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "ఠఆపరేషన్ తరŕ±ŕ°µŕ°ľŕ°¤, %sB డిస్కౠస్థలం అదనంగా ŕ°–ŕ°ľŕ°łŕ±€ ŕ°…ŕ°µŕ±ŕ°¤ŕ±ŕ°‚ది." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "మీరౠకొనసాగాలనŕ±ŕ°•ŕ±ŕ°‚ŕ°źŕ±ŕ°¨ŕ±Ťŕ°¨ŕ°ľŕ°°ŕ°ľ [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "క్యాచీని తాజాపరŕ±ŕ°šŕ±" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ఇంతకŕ±ŕ°®ŕ±ŕ°‚దౠఅసంపూర్ణ స్థాపననౠపూర్తిచేయŕ±ŕ°źŕ°•ౠప్రయత్నించండి" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ఇవ్వబడిన ప్యాకేజీలనౠస్థాపించŕ±" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ఇవ్వబడిన ప్యాకేజీలనౠమళ్ళీ స్థాపించŕ±" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "ఇవ్వబడిన ప్యాకేజీలనౠతొలగించŕ±" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "ŕ°¸ŕ±ŕ°°ŕ°•్షిత మార్గంలో వ్యవస్థనౠఉన్నతీకరించŕ±" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "సాధ్యమŕ±ŕ°¨ŕ°‚తవరకూ ప్యాకేజీలనౠస్థాపించడం మరియౠతొలగించడం ద్వారా వ్యవస్థనౠ" "ఉన్నతీకరించŕ±" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "ఇవ్వబడిన deb-line ŕ°¨ŕ±ŕ°‚ŕ°šŕ°ż కొత్త భాండాగారాన్ని జతచేయండి" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "విశ్వసించదగిన అమ్మకందారౠ'ŕ°•ŕ±€'లౠజాబితాగాచూపŕ±" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "ŕ°§ŕ±ŕ°µŕ±€ŕ°•రించబడని మూలాధారాల ŕ°¨ŕ±ŕ°‚డి ప్యాకేజీలనౠఅనŕ±ŕ°®ŕ°¤ŕ°żŕ°‚ŕ°šŕ±" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "ప్యాకేజీల ŕ°—ŕ±ŕ°°ŕ°żŕ°‚ŕ°šŕ°żŕ°¨ అదనపౠసమాచారాన్ని చూపించŕ±. ప్రస్తŕ±ŕ°¤ŕ°‚ వెర్షన్ సంఖ్య మాత్రమే" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "ŕ°§ŕ±ŕ°µŕ±€ŕ°•ŕ°°ŕ°Ł కోసం నిరీక్షిస్తోంది" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "అంతర్గతంగా ŕ°śŕ°°ŕ±ŕ°—ŕ±ŕ°¤ŕ±ŕ°¨ŕ±Ťŕ°¨ ప్రక్రియ సమాచారాన్ని చూపించŕ±" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "ఇవ్వబడిన chroot లో ఆపరేషన్‌లనౠచేయి" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "స్థాపించబడిన ŕ°«ŕ±ŕ°˛ŕ±Ť" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "స్థాపించబడిన ప్యాకేజిలŕ±" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "ŕ°«ŕ±ŕ°˛ŕ± ŕ°¨ŕ±ŕ°‚ŕ°šŕ°ż ŕ°•ŕ±€ జతచేయబడింది" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "క్యాచీ నవీకరించబడింది" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "నమ్మదగిన ŕ°•ŕ±€ తొలగించబడింది" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "తొలగించబడిన ప్యాకేజీలŕ±" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "నవీకరించబడిన ప్యాకేజీలŕ±" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "ఉన్నతీకరించబడిన వ్యవస్థ" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "మార్పŕ±ŕ°˛ŕ± ŕ°…ŕ°¨ŕ±ŕ°µŕ°°ŕ±Ťŕ°¤ŕ°żŕ°‚చబడినవి" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "అసంపూర్ణ స్థాపన బాగŕ±ŕ°šŕ±‡ŕ°Żŕ°¬ŕ°ˇŕ°żŕ°‚ది" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "విరిగిన ఆధారితత్వాలౠబాగŕ±ŕ°šŕ±‡ŕ°Żŕ°¬ŕ°ˇŕ°żŕ°¨ŕ°µŕ°ż" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "సాఫ్ట్‍వేర్ మూలాధారం జతచేయడింది" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "డౌన్‌లోడ్‌చేసిన ప్యాకేజీ ŕ°«ŕ±ŕ°łŕ±Ťŕ°łŕ± తొలగించబడ్డాయి" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "స్థాపించబడిన ప్యాకేజీలౠపŕ±ŕ°¨ŕ°ŕ°¸ŕ±Ťŕ°µŕ°°ŕ±‚పించబడ్డాయి" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "విజయవంతమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "రద్దŕ±ŕ°šŕ±‡ŕ°Żŕ°¬ŕ°ˇŕ°żŕ°‚ది" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ŕ°«ŕ±ŕ°˛ŕ±ŕ°¨ŕ± స్థాపిస్తోంది" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ప్యాకేజీలౠస్థాపించబడŕ±ŕ°¤ŕ±ŕ°¨ŕ±Ťŕ°¨ŕ°ľŕ°Żŕ°ż" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "ŕ°«ŕ±ŕ°˛ŕ±Ť ŕ°¨ŕ±ŕ°‚డి ŕ°•ŕ±€ జతచేస్తోంది" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "క్యాచీని నవీకరిస్తోంది" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "నమ్మదగిన ŕ°•ŕ±€ తొలగించబడŕ±ŕ°¤ŕ±‹ŕ°‚ది" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "ప్యాకేజీలనౠతొలగిస్తోంది" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "ప్యాకేజీలనౠనవీకరిస్తోంది" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "వ్యవస్థనౠఉన్నతీకరిస్తోంది" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "మార్పŕ±ŕ°˛ŕ°¨ŕ± ŕ°…ŕ°¨ŕ±ŕ°µŕ°°ŕ±Ťŕ°¤ŕ°żŕ°¸ŕ±Ťŕ°¤ŕ±‹ŕ°‚ది" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "అసంపూర్ణ స్థాపననౠబాగŕ±ŕ°šŕ±‡ŕ°¸ŕ±Ťŕ°¤ŕ±‹ŕ°‚ది" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "సాఫ్ట్‍వేర్ మూలాధారం జతచేయబడŕ±ŕ°¤ŕ±‹ŕ°‚ది" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "డౌన్‌లోడŕ±ŕ°šŕ±‡ŕ°¸ŕ°żŕ°¨ ప్యాకేజీ ŕ°«ŕ±ŕ°łŕ±Ťŕ°łŕ°¨ŕ± తొలగిస్తోంది" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "స్థాపించబడిన ప్యాకేజీలౠపŕ±ŕ°¨ŕ°ŕ°¸ŕ±Ťŕ°µŕ°°ŕ±‚పించబడŕ±ŕ°¤ŕ±‹ŕ°¨ŕ±Ťŕ°¨ŕ°ľŕ°Żŕ°ż" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "ప్యాకేజీ ŕ°«ŕ±ŕ°˛ŕ±Ť యొక్క స్థాపన విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "సాఫ్ట్‍వేర్ స్థాపన విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "సాఫ్ట్‍వేర్ జాబితానౠతాజాపరŕ±ŕ°šŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "సాఫ్ట్‍వేర్‌నౠతొలగించŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "సాఫ్ట్‍వేర్‌నౠనవీకరించŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "వ్యవస్థనౠఉన్నతీకరించŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°¨ŕ°¦ŕ°ż" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "సాఫ్ట్‍వేర్ మార్పŕ±ŕ°˛ŕ± ŕ°…ŕ°¨ŕ±ŕ°µŕ°°ŕ±Ťŕ°¤ŕ°żŕ°‚ŕ°šŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "అసంపూర్ణ స్థాపననౠబాగŕ±ŕ°šŕ±‡ŕ°Żŕ±ŕ°źŕ°˛ŕ±‹ విఫలమయింది" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "విరిగిన ఆధారితత్వాలనౠబాగŕ±ŕ°šŕ±‡ŕ°Żŕ±ŕ°źŕ°˛ŕ±‡ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "సాఫ్ట్‍వేర్ మూలాధారం జతచేయŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°¨ŕ°¦ŕ°ż" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "డౌన్‌లోడŕ±ŕ°šŕ±‡ŕ°¸ŕ°żŕ°¨ ప్యాకేజీ ŕ°«ŕ±ŕ°łŕ±Ťŕ°łŕ°¨ŕ± తొలగించŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "మీ అంతర్జాల ŕ°…ŕ°¨ŕ±ŕ°¸ŕ°‚ధానాన్ని సరిచూడండి." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "తొలగించడానికి అక్కడ ఏదీ లేదŕ±." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "ప్యాకేజీ ŕ°«ŕ±ŕ°łŕ±Ťŕ°łŕ°¨ŕ± డౌన్‌లోడŕ±ŕ°šŕ±‡ŕ°Żŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "భాండాగార సమాచారాన్ని డౌన్‌లోడ్‌చేయŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "ప్యాకేజీ వ్యవస్థ విరిగినది" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "ŕ°•ŕ±€ స్థాపించబడలేదŕ±" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "ŕ°•ŕ±€ తొలగించబడలేదŕ±" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "ప్యాకేజీ నిర్వాహకిని లాక్‌చేయŕ±ŕ°źŕ°˛ŕ±‹ విఫలంచెందినది" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "ప్యాకేజీ జాబితా లోడ్ చేయŕ±ŕ°źŕ°˛ŕ±‹ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "ప్యాకేజీ ఉనికిలోలేదŕ±" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "ప్యాకేజీ ఇదివరకే స్థాపించడింది" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "ప్యాకేజీ స్థాపించబడలేదŕ±" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "ŕ°®ŕ±ŕ°–్యమŕ±ŕ°¨ వ్యవస్థ ప్యాకేజీని తొలగించŕ±ŕ°źŕ°˛ŕ±‹ విఫలమయ్యింది" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "ప్యాకేజీ ఆపరేషన్ విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "ప్యాకేజీ చెత్త ŕ°—ŕ±ŕ°Łŕ°ľŕ°˛ŕ°¨ŕ± కలిగిఉంది" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "ప్యాకేజీ ŕ°«ŕ±ŕ°˛ŕ±Ť తెరŕ±ŕ°µŕ°˛ŕ±‡ŕ°®ŕ±" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "ŕ°’ŕ°• వ్యవహరించలేని దోషం సంభవించింది" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "నిరీక్షిస్తోంది" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "అవసరమŕ±ŕ°¨ మాధ్యమం కోసం నిరీక్షిస్తోంది" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "నిష్క్రమించడానికి ఇతర సాఫ్ట్‍వేర్ నిర్వాహకి కోసం నిరీక్షిస్తోంది" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "నడŕ±ŕ°¸ŕ±Ťŕ°¤ŕ±ŕ°¨ŕ±Ťŕ°¨ కార్యం" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "డౌన్‌లోడ్‌చేస్తోంది" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ŕ°¶ŕ±ŕ°­ŕ±Ťŕ°°ŕ°Şŕ°°ŕ±ŕ°¸ŕ±Ťŕ°¤ŕ±‹ŕ°‚ది" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "పూర్తయింది" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "రద్దŕ±ŕ°šŕ±‡ŕ°¸ŕ±Ťŕ°¤ŕ±‹ŕ°‚ది" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "సాఫ్ట్‍వేర్ జాబితానౠనింపŕ±ŕ°¤ŕ±‹ŕ°‚ది" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s స్థాపించబడŕ±ŕ°¤ŕ±‹ŕ°‚ది" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s స్వరూపించబడŕ±ŕ°¤ŕ±‹ŕ°‚ది" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s తొలగించబడŕ±ŕ°¤ŕ±‹ŕ°‚ది" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s ఉన్నతీకరించబడŕ±ŕ°¤ŕ±‹ŕ°‚ది" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "అయినది" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "ŕ°§ŕ±ŕ°µŕ±€ŕ°•ŕ°°ŕ°Ł విఫలమŕ±ŕ°‚ది" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "తెచ్చŕ±ŕ°šŕ±ŕ°¨ŕ±Ťŕ°¨ŕ°¦ŕ°ż" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "వాడŕ±ŕ°• లేని" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "నెట్‌వర్కౠఅందŕ±ŕ°¬ŕ°ľŕ°źŕ±ŕ°˛ŕ±‹ŕ°˛ŕ±‡ŕ°¦ŕ±" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "వివరాలŕ±" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "ŕ°«ŕ±ŕ°˛ŕ±Ť" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sB డౌన్‌లోడ్అయినది" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "డౌన్‌లోడ్అయినది" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' అవసరం" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "కొనసాగించౠ(_o)" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "స్థాపించŕ±" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "మరల స్థాపించŕ±" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "తొలగించŕ±" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "ఉన్నతీకరించŕ±" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "డౌన్‌గ్రేడ్" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ఉన్నతీకరణ దాటవేయి" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "అదనపౠసాఫ్ట్‍వేర్‌నౠస్థాపించాలి" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "అదనపౠసాఫ్ట్‍వేర్‌నౠపŕ±ŕ°¨ŕ°ŕ°¸ŕ±Ťŕ°Ąŕ°ľŕ°Şŕ°żŕ°‚చాలి" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "అదనపౠసాఫ్ట్‍వేర్‌నౠతొలగించాలి" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "అదనపౠసాఫ్ట్‍వేర్‌నౠఉన్నతీకరించాలి" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "నవీకరణలౠదాటవేయబడతాయి" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "అదనపౠమార్పŕ±ŕ°˛ŕ± అవసరం" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "మార్పŕ±ŕ°˛ŕ± (_C)" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "ఉంచŕ±(_K)" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "ŕ°Şŕ±ŕ°¨ŕ°ŕ°¸ŕ±Ťŕ°Ąŕ°ľŕ°Şŕ°żŕ°‚ŕ°šŕ± (_R)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "వివరాలౠ(_D)" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "%(files)s డౌన్‌లోడ్‌చేస్తోంది" msgstr[1] "%(files)s డౌన్‌లోడ్‌చేస్తోంది" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "%s ప్యాకేజీ ŕ°…ŕ°‚ŕ°¦ŕ±ŕ°¬ŕ°ľŕ°źŕ±ŕ°˛ŕ±‹ŕ°˛ŕ±‡ŕ°¦ŕ±" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "%s ప్యాకేజీ స్థాపించబడలేదŕ±" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "%s ప్యాకేజీ ఇదివరకే స్థాపించబడింది" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "%s ప్యాకేజీని తొలగించŕ±ŕ°ź సాధ్యపడదŕ±" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "%s ప్యాకేజీని తొలగించŕ±ŕ°ź సాధ్యపడదŕ±" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/is.po0000644000175000017500000010641312117271433015637 0ustar renaterenate00000000000000# translation of po_aptdaemon-is.po to Icelandic # Icelandic translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # # FIRST AUTHOR , 2009. # Sveinn Ă­ Felli , 2010. msgid "" msgstr "" "Project-Id-Version: po_aptdaemon-is\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-01-16 11:54+0000\n" "Last-Translator: Sveinn Ă­ Felli \n" "Language-Team: Icelandic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Breyta stillingum hugbĂşnaðar" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Til að breyta stillingum hugbĂşnaðar, Ăľarft þú að auðkenna Ăľig." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Breyta hugbĂşnaðar uppruna" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Setja upp pakkaskrá" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Til að setja upp Ăľennan pakka, Ăľarft þú að auðkenna Ăľig." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Uppfæra pakkaupplĂ˝singar" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Til að uppfæra hugbĂşnaðar vörulistann, Ăľarft þú að auðkenna Ăľig." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Setja upp eða fjarlægja pakka" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Til að setja upp eða fjarlægja pakka, Ăľarft þú að auðkenna Ăľig." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Til að setja upp hugbĂşnað, Ăľarft þú að auðkenna Ăľig." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Uppfæra pakka" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Hætta við aðgerð frá öðrum notanda" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Náði Ă­ %sB af %sB hjá %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Náði Ă­ %sB af %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Uppsett skrá" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Uppsettir pakkar" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Bæti við lykli frá skrá" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Uppfært skyndiminni" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Fjarlægðir treystir lyklar" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Fjarlægðir pakka" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Uppfærðir pakkar" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Uppfært kerfi" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Skráðar breytingar" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Viðgerð Ăłfullkomin uppsetning" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Viðgerðar brostnar kerfiskröfur" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Hætt við" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "MistĂłkst" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Set upp skrá" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Set upp pakka" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Bæti við lykli frá skrá" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Fjarlægi treystan lykil" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Fjarlægi pakka" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Uppfæri pakka" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Uppfæri kerfið" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Virkja breytingar" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Geri við Ăłfullkomna uppsetningu" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Innsetning hugbĂşnaðar tĂłkst ekki" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Skráin sem þú hefur valið er hugsanlega ekki GPG lykilskrá eða hĂşn gæti " "verið skemmd." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Ăžað er engin þörf fyrir uppfærslu." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Ăžað er engin þörf fyrir uppsetningu" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Ăžað er engin þörf fyrir Ăľað að fjarlægja." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakkinn er ekki til" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Bíð eftir að ĂľjĂłnusta ræsist" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Bíð eftir diski sem til Ăľarf" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Bíð eftir að aðrir hugbĂşnaðarstjĂłrar ljĂşki sĂ©r af" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Bíð eftir kvaðningu Ăşr stillingaskrá" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Keyri verk" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Sæki gögn" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Hleð inn hugbĂşnaðarlista" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Uppfæri %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' er krafist" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Breytingar" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/ro.po0000644000175000017500000013632312117271433015647 0ustar renaterenate00000000000000# Romanian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # Lucian Adrian Grijincu , 2010. msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-05-31 06:08+0000\n" "Last-Translator: Ursache Dogariu Daniel \n" "Language-Team: Romanian Gnome Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " "== 0) && (n != 0))) ? 2: 1));\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" "Language: ro\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "ListeazÄ cheile vânzÄtorilor de Ă®ncredere" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Pentru a vedea lista cheilor de Ă®ncredere, trebuie sÄ vÄ autentificaČ›i." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "EliminÄ fiČ™ierele pachet descÄrcate" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Pentru a curÄČ›a fiČ™ierele pachet descÄrcate trebuie sÄ vÄ autentificaČ›i." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "SchimbÄ configuraČ›ia software" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Pentru a schimba setÄrile software trebuie sÄ vÄ autentificaČ›i." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "SchimbÄ depozitul de software" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Pentru a schimba configurÄrile depozitelor de software, trebuie sÄ vÄ " "autentificaČ›i." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "InstaleazÄ pachetul" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Pentru a instala acest pachet, trebuie sÄ vÄ autentificaČ›i." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ActualizeazÄ informaČ›iile despre pachete" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Pentru a actualiza catalogul de software, trebuie sÄ vÄ autentificaČ›i." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "InstaleazÄ sau eliminÄ pachete" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Pentru a instala sau elimina software, trebuie sÄ vÄ autentificaČ›i." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "AdaugÄ un nou depozit Č™i instaleazÄ pachete din el" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Pentru a instala software dintr-o sursÄ nouÄ, trebuie sÄ vÄ autentificaČ›i." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "AdaugÄ un nou depozit de software cumpÄrat Č™i instaleazÄ pachete din el" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Pentru a instala software cumpÄrat, trebuie sÄ vÄ autentificaČ›i." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ĂŽnnoieČ™te pachetele" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Pentru a instala software actualizat, trebuie sÄ vÄ autentifcaČ›i." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "AnuleazÄ acČ›iunile altui utilizator" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Pentru a anula schimbÄrile altora asupra unor software, trebuie sÄ vÄ " "autentificaČ›i." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "ConfigureazÄ un proxy pentru descÄrcÄri de software" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Pentru a folosi un server proxy pentru descÄrcarea de software, trebuie sÄ " "vÄ autentificaČ›i." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "EROARE" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "S-au descÄrcat %sB din %sB la %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "S-au descÄrcat %sB din %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "EROARE:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Nu vÄ este permis sÄ efectuaČ›i aceastÄ acČ›iune." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Se aČ™teaptÄ" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Se rezolvÄ dependenČ›ele" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "UrmÄtorul pachet NOU va fi instalat (%(count)s):" msgstr[1] "UrmÄtoarele pachete NOI vor fi instalate (%(count)s):" msgstr[2] "UrmÄtoarele pachete NOI vor fi instalate (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "UrmÄtorul pachet va fi Ă®nnoit (%(count)s):" msgstr[1] "UrmÄtoarele pachete vor fi Ă®nnoite (%(count)s):" msgstr[2] "UrmÄtoarele pachete vor fi Ă®nnoite (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "UrmÄtorul pachet va fi eliminat (%(count)s):" msgstr[1] "UrmÄtoarele pachete vor fi eliminate (%(count)s):" msgstr[2] "UrmÄtoarele pachete vor fi eliminate (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "UrmÄtorul pachet va fi adus la o versiune mai veche (%(count)s):" msgstr[1] "" "UrmÄtoarele pachete vor fi aduse la o versiune mai veche (%(count)s):" msgstr[2] "" "UrmÄtoarele pachete vor fi aduse la o versiune mai veche (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "UrmÄtorul pachet va fi reinstalat (%(count)s):" msgstr[1] "UrmÄtoarele pachete vor fi reinstalate (%(count)s):" msgstr[2] "UrmÄtoarele pachete vor fi reinstalate (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "A fost reČ›inut (%(count)s pachet ):" msgstr[1] "Au fost reČ›inute urmÄtoarele (%(count)s) pachete:" msgstr[2] "Au fost reČ›inute urmÄtoarele (%(count)s) de pachete:" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Este necesarÄ obČ›inerea a %sO de arhive." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "DupÄ acestÄ operaČ›ie vor fi folosiČ›i %sO de spaČ›iu adiČ›ional pe disc." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" "DupÄ aceastÄ operaČ›ie vor fi eliberaČ›i %sO adiČ›ionali de spaČ›iu pe disc." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "DoriČ›i sÄ continuaČ›i [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Pentru a opera pe mai mult de un pachet puneČ›i numele pachetelor Ă®ntre " "ghilimele:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "ReĂ®mprospÄtezÄ memoria tampon" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "ĂŽncercaČ›i sÄ rezolvaČ›i dependenČ›e defecte. OperaČ›ia este potenČ›ial " "periculoasÄ deoarece ar putea Ă®ncerca sÄ elimine multe pachete." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ĂŽncercaČ›i sÄ finalizaČ›i instalarea anterioarÄ incompletÄ" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "InstaleazÄ pachetele date" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ReinstaleazÄ pachetele date" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "EliminÄ pacehtele date" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "EliminÄ pachetele date inclusiv fiČ™ierele de configurare" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Adu pachetele la o versiune mai veche" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "ĂŽnvechit: FolosiČ›i --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "ActualizeazÄ sistemul Ă®ntr-un mod sigur" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "ActualizeazÄ sistemul, posibil instalând Č™i eliminând pachete" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "AdaugÄ vânzÄtorul la cei de Ă®ncredere" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "AdaugÄ keyid-ul vânzÄtorului (trebuie folosit Ĺźi --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "FoloseČ™te keyserver-ul dat pentru a gÄsi cheile" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "AdaugÄ un nou depozit din linia-deb datÄ" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "SpecificaČ›i un fiČ™ier sources.list.d alternativ la care sÄ fie adÄugate " "depozitele." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "ListeazÄ cheile vânzÄtorilor de Ă®ncredere" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "EliminÄ cheia de Ă®ncredere a amprentei date" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "ReconfiguraČ›i pachetele instalate. OpČ›ional poate fi specificatÄ prioritatea " "minimÄ pentru Ă®ntrebÄri" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Prioritatea minimÄ debconf pentru Ă®ntrebÄrile afiČ™ate" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Nu ataČ™a la terminalul apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Permite pachete de la surse neautentificate" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "AratÄ informaČ›ii suplimentare despre pachete. Acum numai numÄrul versiunii" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Se aČ™teaptÄ autentificarea" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Nu Ă®nchide serviciul din cauza inactivitÄČ›ii" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Nu Ă®ncÄrca niciun modul" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "AratÄ informaČ›ii despre procesare" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "ĂŽnchide Č™i Ă®nlocuieČ™te un serviciu care ruleazÄ" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "AscultÄ pe magistrala sesiunii DBus (Necesar numai pentru teste)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "RealizeazÄ operaČ›ii Ă®n mediul chroot specificat" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "StocheazÄ profilul Ă®n fiČ™ierul specificat" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Nu efectua schimbÄri Ă®n sistem (doar pentru uzul dezvoltatorilor)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "S-a instalat fiČ™ierul" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "S-au instalat pachetele" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "S-a adÄugat cheia din fiČ™ier" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "S-a actualizat cache-ul" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "CÄutare Ă®ncheiatÄ" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "S-a eliminat cheie de autentificare" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "S-au eliminat pachetele" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "S-au actualizat pachetele" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "S-a Ă®nnoit sistemul" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "S-au aplicat modificÄrile" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "S-a reparat instalarea incompletÄ" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "S-au reparat dependenČ›ele deteriorate" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "SursÄ software adÄugatÄ" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "ActiveazÄ componenta distribuČ›iei" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Pachete de fiČ™iere descÄrcate Č™i Č™terse" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Pacehete instalate reconfigurate" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Succes" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Anulat" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "EČ™uat" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Se instaleazÄ fiČ™ierul" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Se instaleazÄ pachetele" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Se adaugÄ cheia din fiČ™ier" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Se actualizeazÄ cache-ul" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Se eliminÄ cheia de autentificare" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Se eliminÄ pachetele" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Se actualizeazÄ pachetele" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Se Ă®nnoieČ™te sistemul" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Se aplicÄ modificÄrile" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Se reparÄ instalarea incompletÄ" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Se reparÄ programele instalate" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Se adaugÄ sursa software" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Se activeazÄ componenta distribuČ›iei" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Se Č™terg pachetele de fiČ™iere descÄrcate" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Se reconfigureazÄ pachetele instalate" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Se cautÄ" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Instalarea pachetului a eČ™uat" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Instalarea programului a eČ™uat" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Actualizarea listei de programe a eČ™uat" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Čtergerea distribuitorului din lista cu distribuitori siguri a eČ™uat" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Eliminarea programului a eČ™uat" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Actualizarea programului a eČ™uat" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "ĂŽnnoirea sistemului a eČ™uat" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Aplicarea modificÄrilor asupra programelor a eČ™uat" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Repararea instalÄrii incomplete a eČ™uat" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Repararea dependenČ›elor deteriorate a eČ™uat" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "AdÄugarea sursei software a eČ™uat" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Activarea componentei distribuČ›iei a eČ™uat" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Čtergerea pachetelor de fiČ™iere descÄrcate a eČ™uat" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "CÄutare eČ™uatÄ" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Se adaugÄ cheia de licenČ›Ä" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "VerificaČ›i conexiunea la Internet." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "VerificaČ›i dacÄ utilizaČ›i arhive de la terČ›e pÄrČ›i. DacÄ utilizaČ›i acest tip " "de arhive, dezactivaČ›i-le, fiind o sursÄ comunÄ de probleme.\n" "Apoi rulaČ›i urmÄtoarea comandÄ Ă®n Terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "FiČ™ierul selectat nu pare a fi o cheie GPG sau ar putea fi corupt." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Cheia selectatÄ nu a putut fi eliminatÄ. VerificaČ›i dacÄ aČ›i furnizat o " "amprentÄ validÄ." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "VerificaČ›i daca rulaČ›i momentan un alt utilitar de administrare software, " "ex. Synaptic sau aptitude. Doar un singur utilitar are permisiunea de a face " "modificÄri la un moment dat." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Aceasta este o problemÄ gravÄ. ĂŽncercaČ›i mai târziu. DacÄ problema persistÄ, " "raportaČ›i eroarea dezvoltatorilor." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "VerificaČ›i ortografia numelui pachetului, Č™i dacÄ depozitul adecvat este " "activat." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Nu este necesar sÄ actualizaČ›i ceva." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Nu este necesar sÄ instalaČ›i ceva." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Nu este necesar sÄ eliminaČ›i ceva." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "AČ›i cerut sÄ eliminaČ›i un pachet care este o parte esenČ›ialÄ a sistemului." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Conexiunea cu serviciul a fost pierdutÄ. Probabil cÄ serviciul din fundal s-" "a Ă®ntrerupt neaČ™teptat." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Instalarea sau eliminarea unui pachet de programe a eČ™uat." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "FuncČ›ia solicitatÄ nu existÄ." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Se pare cÄ existÄ o eroare de programare Ă®n aptdaemon, software-ul care " "permite instalarea/Č™tergerea de programe Č™i care realizeazÄ sarcini legate " "de administrarea pachetelor." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "AceastÄ eroare ar putea fi cauzatÄ de pachete software suplimentare necesare " "care lipsesc sau care nu sunt instalabile. ĂŽn plus, ar putea exista un " "conflict Ă®ntre pachete software care nu au voie sÄ fie instalate Ă®n acelaČ™i " "timp." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Este posibil ca instalarea sÄ fi eČ™uat din cauza unei erori Ă®n pachetul " "software corespunzÄtor sau sÄ fi fost anulatÄ Ă®ntr-un mod nesuportat. " "Trebuie sÄ remediaČ›i aceastÄ problemÄ Ă®nainte de a putea instala sau " "Ă®nlÄtura orice alt software." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "CopiaČ›i fiČ™ierul Ă®n calculator Č™i verificaČ›i permisiunile acestuia." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Instalarea unui pachet care Ă®ncalcÄ standardele de calitate nu este permisÄ. " "Acest lucru poate cauza probleme serioase calculatorului dumneavoastrÄ. " "ContactaČ›i persoana sau organizaČ›ia care a furnizat acest pachet Č™i " "includeČ›i detaliile de mai jos." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Cheia de licenČ›Ä descÄrcatÄ, care este necesarÄ pentru rularea acestui " "program, nu este validÄ sau nu poate fi instalatÄ corect.\n" "Pentru mai multe informaČ›ii consultaČ›i detaliile." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Toate actualizÄrile disponibile au fost instalate deja." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Cheia de licenČ›Ä care permite utilizarea acestui program nu poate fi " "descÄrcatÄ. VerificaČ›i legÄtura la Internet." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "DescÄrcarea pachetelor a eČ™uat" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "DescÄrcarea informaČ›iilor despre arhive a eČ™uat" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "DependenČ›ele pachetelor nu pot fi satisfÄcute" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Sistemul de pachete este corupt" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Cheia de autentificare nu a fost instalatÄ" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Cheia de autentificare nu a fost eliminatÄ" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Blocarea administratorului de pachete a eČ™uat" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "ĂŽncÄrcarea listei de pachete a eČ™uat" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pachetul nu existÄ" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Pachetul este actualizat deja" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pachetul este deja instalat" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pachetul nu este instalat" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Eliminarea pachetului esenČ›ial pentru sistem a eČ™uat" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Sarcina nu poate fi monitorizatÄ sau controlatÄ" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "AcČ›iunea asupra pachetelor a eČ™uat" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "NecesitÄ instalarea unor pachete din surse neautentificate" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Instalarea anterioarÄ nu a fost finalizatÄ" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Acest pachet este de slabÄ calitate" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Pachetul nu se poate deschide" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "FuncČ›ie inexistentÄ" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "EČ™ec la descÄrcarea cheii de licenČ›Ä" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "EČ™ec la instalarea cheii de licenČ›Ä" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Sistemul este actualizat deja" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "O eroare ce nu poate fi tratatÄ a apÄrut" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Se aČ™teaptÄ pornirea serviciului" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Se aČ™teaptÄ" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Se aČ™teaptÄ mediul de instalare necesar" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Se aČ™teaptÄ Ă®nchiderea altui administrator de pachete" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Se aČ™teaptÄ solicitarea fiČ™ierului de configurare" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Se executÄ sarcina" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Se descarcÄ" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Se interogheazÄ sursele de programe" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Se curÄČ›Ä" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Terminat" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Se renunČ›Ä" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Se Ă®ncarcÄ lista de programe" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Se instaleazÄ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Se configureazÄ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Se Č™terge %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Se Č™terge complet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Se ia notÄ de dispariČ›ia lui %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Se ruleazÄ declanČ™atorul post-instalare %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Se Ă®nnoieČ™te %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Se despacheteazÄ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Se pregÄteČ™te instalarea pentru %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Se pregÄteČ™te configurarea pentru %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Se pregÄteČ™te Č™tergerea pentru %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Se pregÄteČ™te Č™tergerea completÄ pentru %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Instalat %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Čters complet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Čters %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Se proceseazÄ %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Gata" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Autentificarea a eČ™uat" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Se descarcÄ" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inactiv" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "ReČ›eaua nu este disponibilÄ" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalii" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "FiČ™ier" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "S-au descÄrcat %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "DescÄrcat" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Este necesar CD/DVD-ul „%s”" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "IntroduceČ›i CD-ul/DVD-ul de mai sus Ă®n unitatea „%s” pentru a instala " "pachete software de pe el." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinuÄ" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "InstaleazÄ" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ReinstaleazÄ" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "EliminÄ" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "EliminÄ inclusiv fiČ™ierele de configurare" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "ĂŽnnoieČ™te" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Adu la o versiune anterioarÄ" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Sari peste aceastÄ Ă®nnoire" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "ConsultaČ›i lista modificÄrilor de mai jos." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Software suplimentar trebuie sÄ fie instalat" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Software suplimentar trebuie sÄ fie reinstalat" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Software suplimentar trebuie sÄ fie eliminat" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Software suplimentar trebuie sÄ fie eliminat complet" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Software suplimentar trebuie sÄ fie Ă®nnoit" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Software suplimentar trebuie sÄ fie adus la o versiune mai veche" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "ActualizÄrile vor fi ignorate" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "ModificÄri suplimentare sunt necesare" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sO vor fi descÄrcaČ›i Ă®n total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Se vor elibera %sB spaČ›iu de disc." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sO adiČ›ionali vor fi utilizaČ›i." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "ĂŽnlocuiČ›i schimbÄrile din „%s” cu o versiune mai veche a fiČ™ierului de " "configurare?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "DacÄ nu Č™tiČ›i de ce fiČ™ierul existÄ deja Ă®n aceastÄ configurare, este, de " "regulÄ, mai sigur sÄ-l Ă®nlocuiČ›i." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_ModificÄri" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_PÄstreazÄ" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "ĂŽn_locuieČ™te" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalii" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Se aČ™teaptÄ Ă®nchiderea %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Se descarcÄ %(files)s fiČ™ier" msgstr[1] "Se descarcÄ %(files)s fiČ™iere" msgstr[2] "Se descarcÄ %(files)s de fiČ™iere" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "arhiva localÄ de programe" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Se descarcÄ de la %s" msgstr[1] "Se descarcÄ de la %s" msgstr[2] "Se descarcÄ de la %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "StructurÄ pentru %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Descriere pentru %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Descrierea semnÄturii pentru %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Pachete disponibile de la %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Surse disponibile de la %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Traduceri disponibile de la %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Traduceri pentru %s (%s) de la %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Traduceri pentru %s de la %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traducere (%s) de la %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Pachetul %s nu este disponibil" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pachetul %s nu este instalat" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "AceastÄ versiune %s a %s nu este instalatÄ" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Pachetul %s este instalat deja" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Versiunea %s a %s nu este disponibilÄ." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "EČ™ec la descÄrcarea Č™i instalarea cheii %s de la %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "FiČ™ierul cheie %s nu se poate instala: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Nu se poate Č™terge cheia cu amprenta %s: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Nu se poate Č™terge pachetul %s." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versiunea %s a %s nu este instalatÄ" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Versiunea anterioarÄ %s a %s este instalatÄ deja" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Versiunea %s a %s este instalatÄ deja" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Versiunea %s a %s nu este disponibilÄ" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" "Trebuie sÄ specificaČ›i versiunea la care doriČ›i sÄ reveniČ›i cu pachetul %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Ultima versiune %s a %s este instalatÄ deja" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Pachetul %s nu este disponibil pentru versiunea %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Nu se poate Č™terge pachetul %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Acest pachet nu conČ›ine un câmp de control valid pentru dimensiunea " "instalatÄ. ConsultaČ›i Politicile Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Cheia de licenČ›Ä este goalÄ" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Cheia de licenČ›Ä nu trebuie sÄ conČ›inÄ cod executabil." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Calea pentru cheia de licenČ›Ä %s nu este validÄ" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Cheia de licenČ›Ä existÄ deja: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Locul Ă®n care se pÄstreazÄ cheia de licenČ›Ä nu este sigur, deoarece conČ›ine " "legÄturi simbolice. Calea %s duce cÄtre %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Dosarul Ă®n care instalaČ›i cheia nu existÄ Ă®ncÄ: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "EČ™ec la scrierea fiČ™ierului cheie: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "UrmÄtoarele pachete au dependenĹŁe neĂ®ndeplinite:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "dar este un pachet virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "dar nu este instalat" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "dar nu este pe cale de a fi instalat" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "dar este instalatÄ versiunea %s" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "dar versiunea %s este pe cale de a fi instalatÄ" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "AdÄugarea cheii la lista distribuitorilor de de programe de Ă®ncredere a eČ™uat" aptdaemon-1.1.1/po/he.po0000644000175000017500000014052612117271433015623 0ustar renaterenate00000000000000# Hebrew translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-12-31 13:26+0000\n" "Last-Translator: Yaron \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "הצגת מפתחות של ספקים מהימנים" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "כדי לצפות ברשימת המפתחות המהימנים, עליך להזדהות." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "הסרת קובצי חבילות שהתקבלו" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "כדי לנקות ×ת קובצי החבילות שהתקבלו, עליך להזדהות." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "שינוי תצורת התכנה" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "כדי לשנות ×ת הגדרות התכנה, עליך להזדהות." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "שינוי מ×גר התכנה" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "כדי לשנות ×ת הגדרות מ×גרי התכנה, עליך להזדהות." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "התקנת קובץ חבילה" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "כדי להתקין חבילה, עליך להזדהות." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "עדכון נתוני החבילה" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "כדי לעדכן ×ת ×§×לוג התכנה, עליך להזדהות." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "התקנה ×ו הסרה של חבילות" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "כדי להתקין ×ו להסיר ×ת התכנה, עליך להזדהות." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "התקנת תוכנות ממ×גר מורשה ומהימן ביותר." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "כדי להתקין תוכנות, עליך להזדהות." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "הוספת מ×גר חדש והתקנת חבילות ממנו" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "כדי להתקין תכנה ממקור חדש, ×™×”×™×” עליך להזדהות." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "הוספת מ×גר חדש של תוכנות שנרכשו והתקנת חבילות ממנו" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "כדי להתקין תכנה שנרכשה ×™×”×™×” עליך להזדהות." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "שדרוג חבילות" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "כדי להתקין תכנה עדכנית, עליך להזדהות." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "בי×ול משימה של משתמש ×חר" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "כדי לב×ל שינויים שביצע מישהו ×חר בתכנה, עליך להזדהות." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "הגדרת מתווך להורדות תכנה" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "כדי להשתמש בשרת מתווך להורדת תכנה, עליך להזדהות." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "הורדו %s בתים מתוך %s במהירות %s בתים לשנייה" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "הורדו %s בתים מתוך %s" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROR:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "You are not allowed to perform this action." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Queuing" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "דרישות התלות נפתרות" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "The following NEW package will be installed (%(count)s):" msgstr[1] "The following NEW packages will be installed (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "The following package will be upgraded (%(count)s):" msgstr[1] "The following packages will be upgraded (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "The following package will be REMOVED (%(count)s):" msgstr[1] "The following packages will be REMOVED (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "The following package will be DOWNGRADED (%(count)s):" msgstr[1] "The following packages will be DOWNGRADED (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "The following package will be reinstalled (%(count)s):" msgstr[1] "The following packages will be reinstalled (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "The following package has been kept back (%(count)s):" msgstr[1] "The following packages have been kept back (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Need to get %sB of archives." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "After this operation, %sB of additional disk space will be used." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "After this operation, %sB of additional disk space will be freed." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Do you want to continue [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Refresh the cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "יש לנסות לפתור דרישות תלות שבורות. פעולה הנחשבת למסוכנת כיוון ×©×”×™× ×˘×ś×•×ś×” " "לנסות להסיר חבילות רבות." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Try to finish a previous incompleted installation" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Install the given packages" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstall the given packages" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Remove the given packages" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Remove the given packages including configuration files" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Downgrade the given packages" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Deprecated: Please use --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Upgrade the system in a safe way" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Upgrade the system, possibly installing and removing packages" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Add the vendor to the trusted ones" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Add the vendor keyid (also needs --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Use the given keyserver for looking up keys" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Add new repository from the given deb-line" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Specify an alternative sources.list.d file to which repositories should be " "added." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "List trusted vendor keys" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Remove the trusted key of the given fingerprint" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "The minimum debconf priority of question to be displayed" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Do not attach to the apt terminal" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Allow packages from unauthenticated sources" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Show additional information about the packages. Currently only the version " "number" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Waiting for authentication" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "×ś× ×ś×›×‘×•×Ş ×ת הסוכן עקב חוסר פעילות" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "×ś× ×ś×עון שום תוסף" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "הצגת נתוני העיבוד הפנימיים" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "יצי××” והחלפה של סוכן שכבר ×”×™×” פעיל" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Listen on the DBus session bus (Only required for testing" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Perform operations in the given chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "×חסון ס××יס×יקת הפרופיל בקובץ שצויין" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "×ין ליצור ×ף שינוי במערכת (לשימוש עבור מפתחים בלבד)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "קובץ מותקן" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "חבילות מותקנות" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "נוסף מפתח מקובץ" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "המ×מון עודכן" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "החיפוש הושלם" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "הוסר מפתח מהימן" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "הוסרו חבילות" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "עודכנו חבילות" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "המערכת שודרגה" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "השינויים חלו" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "התקנות ×©×ś× ×”×•×©×ś×ž×• תוקנו" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "התלויות הפגומות תוקנו" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "מקור תכנה שנוסף" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "הפעלת רכיבים של ההפצה" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "קובצי החבילות שהתקבלו הוסרו" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "החבילות שהותקנו הוגדרו מחדש" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "מוצלח" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "בו×ל" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "נכשל" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "הקובץ מותקן" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "החבילות מותקנות" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "נוסף מפתח מקובץ" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "המ×מון מתעדכן" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "המפתח המהימן מוסר" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "החבילות מוסרות" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "החבילות מתעדכנות" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "המערכת משודרגת" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "השינויים חלים" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "מתבצע תיקון להתקנות ×©×ś× ×”×•×©×ś×ž×•" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "התוכנות המותקנות מתוקנות" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "נוסף מקור תכנה" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "הפעלת רכיבים של ההפצה" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "קובצי החבילות שהתקבלו מוסרים" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "החבילות המותקנות מוגדרות מחדש" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "בהליכי חיפוש" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "התקנת קובץ החבילה נכשל" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "התקנת התכנה נכשלה" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "הוספת המפתח לרשימת ספקי התכנה המהימנים נכשלה" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "רענון רשימת התוכנות נכשלה" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "הסרת הספק מרשימת המהימנים נכשלה" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "הסרת התכנה נכשלה" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "עדכון התכנה נכשל" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "שדרוג המערכת נכשל" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "החלת השינויים בתכנה נכשלה" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "תיקון ההתקנה ×©×ś× ×”×•×©×ś×ž×” נכשל" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "תיקון התלויות הפגומות כשל" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "הוספת מקור התכנה נכשל" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "הפעלת רכיבים של ההפצה נכשלה" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "הסרת קובצי החבילות שהתקבלו נכשלה" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "החיפוש נכשל" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "נוסף מפתח רישוי" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "יש לבדוק ×ת החיבור שלך ל××™× ×רנ×." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "יש לבדוק ×”×ם נעשה שימוש במ×גרי צד־שלישי. ×ם כך יש לב×ל ×ותם, מ×חר שהם מהווים " "מקור נפוץ לבעיות.\n" "יתרה מכך יש להריץ ×ת הפקודה הב××” במסוף: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "הקובץ הנבחר ×ינו מפתח GPG ×ו ×©×”×•× ×‘×ś×Ş×™ תקין." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "×ś× × ×™×Ş×ź להסיר ×ת המפתח הנבחר. × × ×ś×‘×“×•×§ שסיפקת ×ביעת ×צבע תקפה." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "× × ×ś×‘×“×•×§ ×”×ם מופעל כרגע כלי ×חר לניהול תכנה, לדוגמה: Synaptic ×ו aptitude. " "כלי ×חד בלבד מורשה לבצע שינויים בכול פעם." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "זוהי בעיה חמורה. יש לנסות שוב מ×וחר יותר. ×ם בעיה זו מופיעה שוב, יש לדווח על " "הבעיה למפתחים." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "× × ×ś×‘×“×•×§ ×ת ×יות שם החבילה ושהמ×גר התו×ם פעיל." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "×ין צורך בעדכון." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "×ין צורך בהתקנה" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "×ין צורך בהסרה." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "ביקשת להסיר חבילה המהווה חלק חיוני מהמערכת שלך." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "החיבור לסוכן ×בד. ככל הנר××” סוכן הרקע קרס." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "ההתקנה ×ו ההסרה של חבילת התכנה כשלה." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "התכונה המבוקשת ××™× ×” נתמכת." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "מסתבר ×›×™ ישנה שגי×ת תכנות ב־aptdaemon, התכנה המ×פשרת לך להתקין/להסיר תכנה " "ולבצע משימות ×חרות הנוגעות לניהול חבילות." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "יתכן ששגי××” זו נגרמה על ידי חבילות תכנה חיוניות נוספות החסרות ×ו ש×ינן " "ניתנות להתקנה. יתר על כך, יתכן שישנה התנגשות בין חבילות תכנה שהתקנתן ××™× ×” " "מורשית בו זמנית." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "פעולה זו דורשת התקנת חבילות ממקורות בלתי מ×ומתים." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "סיבה ×פשרית לכשל בהתקנה ×”×™× ×©×’×™××” בחבילת התכנה עצמה ×ו שההתקנה בו×לה בצורה " "×ś× ×™×“×™×“×•×Ş×™×Ş. ×™×”×™×” עליך לתקן ×–×ת לפני שניתן ×™×”×™×” להתקין ×ו להסיר תוכנות " "נוספות." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "× × ×ś×”×˘×Ş×™×§ ×ת הקובץ למחשב שלך ולבדוק ×ת הרש×ותיו." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "התקנת חבילה המפרה ×ת תקני ×”×יכות ×סורה. מצב ×›×–×” עלול לגרום לתקלות רציניות " "במחשבך. × × ×ś×™×¦×•×¨ קשר עם ×”×דם ×ו ×”×רגון שסיפק לך ×ת קובץ החבילה ולהוסיף ×ת " "הפר×ים להלן." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "מפתח הרישוי שהורד הנדרש להפעלת תכנית זו שגוי ×ו ×©×ś× × ×™×Ş×ź להתקין ×ותו כר×וי.\n" "יש לעיין בפר×ים לקבלת מידע נוסף." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "כל השדרוגים הזמינים כבר הותקנו." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "×ś× × ×™×Ş×ź להוריד ×ת מפתח הרישוי המ×פשר לך להשתמש בתכנית זו. × × ×ś×‘×“×•×§ ×ת החיבור " "שלך לרשת." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "×ין לך ×ת ההרש×ות הנדרשות לשם ביצוע פעולה זו." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "×ו שסיפקת ססמה שגויה ×ו שבי×לת ×ת ×”×ימות.\n" "יתר על כך, יכול להיות שיש סיבה ×כנית להופעת שגי××” זו ×ם ×ś× ×¨×ית תיבת דו־שיח " "לבקשת ססמה: סביבת שולחן העבודה שלך ××™× ×” מספקת סוכן להפעלת PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "×רע כשל בהורדת קובצי החבילה" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "×רע כשל בהורדת נתוני המ×גר" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "×ś× × ×™×Ş×ź לפתור ×ת דרישות התלות של החבילה" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "מערכת החבילות פגומה" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "המפתח ×ś× ×”×•×Ş×§×ź" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "המפתח ×ś× ×”×•×ˇ×¨" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "×רע כשל בנעילת מנהל החבילות" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "×רע כשל ב×עינת רשימת החבילות" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "החבילה ××™× ×” קיימת" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "החבילה כבר מעודכנת" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "החבילה כבר מותקנת" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "החבילה ××™× ×” מותקנת" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "×רע כשל בהסרת חבילת מערכת חיונית" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "×ś× × ×™×Ş×ź לעקוב ×ו ×ś×©×ś×•× ×‘×ž×©×™×ž×”" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "הפעולה על החבילה נכשלה" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "נדרשת התקנה של חבילות ×ś× ×ž×•×¨×©×•×Ş" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "ההתקנה הקודמת ×ś× ×”×•×©×ś×ž×”" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "החבילה ×”×™× ×‘×יכות נמוכה" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "×ś× × ×™×Ş×ź לפתוח ×ת קובצי החבילות" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "תכונה ש××™× ×” נתמכת" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "הורדת מפתח הרישוי נכשלה" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "התקנת מפתח הרישוי נכשלה" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "המערכת כבר מעודכנת" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "×ś× × ×™×Ş×ź ל×שר ×ותך" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "×ין לך הרש××” לבצע פעולה זו" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "×ירעה שגי××” ש××™× ×” ניתנת ל×יפול" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "בהמתנה להתחלת השירות" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "בהמתנה" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "בהמתנה למדיום הנדרש" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "בהמתנה למנהלי החבילות ×”×חרים שיסתיימו" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "בהמתנה לבקשת קובץ התצורה" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "משימה פעילה" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "בתהליכי הורדה" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "מקורות התכנה מתעדכנים" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "מתבצע סדר ונקיון" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "הסתיים" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "בהליכי בי×ול" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "רשימת התוכנות × ×ענת" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s מותקנת" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s מוגדרת" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s מוסרת" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "הסרה מוחל×ת של %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "ההיעלמות של %s נרשמת" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "ההליכים של×חר ההתקנה %s מופעלים" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s משתדרגת" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s מחולצת" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "ההתקנה של %s בהכנות" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "התצורה של %s בהכנות" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "ההסרה של %s בהכנות" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "ההסרה המוחל×ת של %s בהכנות" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s הותקנה" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s הוסרה לחלו×ין" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s הוסר" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "%s בעיבוד" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "בוצע" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "×”×ימות נכשל" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "מתקבל" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "בהמתנה" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "הרשת ××™× ×” זמינה" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "פר×ים" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "קובץ" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "הורדו %s ב׳" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "הורדו" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "תקלי×ור ×”ÖľCD/DVD‏ '%s' נדרש" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "× × ×ś×”×›× ×™×ˇ ×ת תקלי×ור ×”ÖľCD/DVD הנדרש לכונן '%s' לצורך התקנת חבילות ממנו." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "×”_משך" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "התקנה" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "התקנה מחדש" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "הסרה" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "ניקוי" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "שדרוג" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "שדרוג מ××”" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "דילוג על השדרוג" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "× × ×ś×”×‘×™× ×‘×¨×©×™×ž×Ş השינויים שלהלן." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "יש להתקין תכנה נוספת" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "יש להתקין תכנה נוספת מחדש" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "יש להסיר תכנה נוספת" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "יש למחוק לחלו×ין תכנה נוספת" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "יש לשדרג תכנה נוספת" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "יש לשדרג מ××” תכנה נוספת" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "העדכונים ×ś× ×™×™×•×©×ž×•" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "נדרשים שינויים נוספים" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "יתקבלו %s ב׳ בסך הכול." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "יפונו %s ב׳ מש××— הכונן." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "ינוצלו %s ב׳ נוספים מהכונן בסך הכול." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "×”×ם להחליף ×ת השינויים שערכת ב־'%s' בגרסה עדכנית יותר של קובץ התצורה?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "×ם ×ין לך מושג מדוע קובץ ×–×” × ×ž×¦× ×©×ť, על פי רוב די ב×וח להחליפו." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "שי_נויים" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_שמירה" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "×”_חלפה" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_פר×ים" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "בהמתנה ליצי×ת %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "מתקבל %(files)s" msgstr[1] "מתקבלים %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "מ×גר מקומי" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "מתבצעת הורדה מהמיקום %s" msgstr[1] "מתבצעת הורדה מהמיקומים %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "מבנה של %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "תי×ור של %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "חתימת תי×ור של %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "חבילות זמינות מהמ×גר %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "מקורות זמינים מהמ×גר %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "תרגומים זמינים מהמ×גר %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "תרגומים עבור %s‏ (%s) מ×ת %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "תרגומים עבור %s מ×ת %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "תרגומים (%s) מ×ת %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "החבילה %s ××™× ×” זמינה" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "החבילה %s ××™× ×” מותקנת" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "הגרסה %s של %s ××™× ×” מותקנת" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "החבילה %s כבר מותקנת" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "The version %s of %s isn't available." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "כתובת שרת המפתחות שגויה: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "פרו×וקול שגוי של השרת: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "מזהה המפתח שגוי: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "×ירע כשל בהתקנה והורדה של המפתח %s מ־%s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "×ś× × ×™×Ş×ź להתקין ×ת קובץ המפתח %s:‏ %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "×ś× × ×™×Ş×ź להסיר ×ת המפתח בעל ×ביעת ×”×צבע %s:‏ %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "×ś× × ×™×Ş×ź להסיר ×ת החבילה %s." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "הגרסה %s של %s ××™× ×” מותקנת" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "הגרסה הקודמת %s של %s כבר מותקנת" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "הגרסה %s של %s כבר מותקנת" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "The version %s of %s isn't available" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "עליך לציין גרסה ×ליה יוחזר %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "הגרסה העדכנית יותר %s של %s כבר מותקנת" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "The package %s isn't available in the %s release." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "×ś× × ×™×Ş×ź להסיר ×ת החבילה %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "החבילה ××™× ×” מספקת שדה בקרה Installed-Size תקני. × × ×ś×˘×™×™×ź במדיניות 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "מפתח הרישוי ריק" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "×סור שמפתח הרישוי יכיל קוד להרצה." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "נתיב מפתח הרישוי %s שגוי" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "מפתח הרישוי קיים כבר: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "מיקום מפתח הרישוי ×ינו מ×וב××— ומכיל קישורים סימבוליים. הנתיב %s ממפה ×ל %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "התיקייה להתקנת המפתח ××™× ×” קיימת עדיין: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "כתיבת קובץ המפתח למיקום ×”×‘× × ×›×©×ś×”: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "The following packages have unmet dependencies:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "but it is a virtual package" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "but it is not installed" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "but it is not going to be installed" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "but %s is installed" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "but %s is to be installed" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "הוספת המפתח לרשימת ספקי התכנה המהימנים נכשלה" aptdaemon-1.1.1/po/sl.po0000644000175000017500000013514112117271433015642 0ustar renaterenate00000000000000# Slovenian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-03-07 10:13+0000\n" "Last-Translator: Damir Jerovšek \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || " "n%100==4 ? 3 : 0);\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Naštej kljuÄŤe zaupanja vrednih ponudnikov" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Za ogled seznama zaupanih kljuÄŤev se morate overiti." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Odstrani prejete datoteke paketov" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Za ÄŤiščenje prejetih paketnih datotek je zahtevana overitev." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Spremeni nastavitev programov" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Za spremembo programskih nastavitev je zahtevana overitev." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Spremeni skladišče programov" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Za spremembo nastavitev odloĹľišč programov se morate overiti." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Namesti datoteko paketa" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Za namestitev tega paketa se morate overiti." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Posodobi podatke o paketu" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Za posodobitev seznama programske opreme se morate overiti." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Namesti ali odstrani pakete" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Za namestitev ali odstranitev programske opreme se morate overiti." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Namesti programsko opremo iz skladišča, ki je na dovoljenem seznamu in ima " "visoko stopnjo zaupanja." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Za namestitev programske opreme se morate overiti." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Dodaj novo skladišče in iz njega namesti pakete" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Za namestitev programske opreme iz novega vira se morate overiti." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Dodaj novo skladišče kupljene programske opreme in iz njega namesti pakete" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Za namestitev kupljene programske opreme se morate overiti." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Nadgradi pakete" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Za posodobitev programske opreme se morate overiti." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "PrekliÄŤi nalogo drugega uporabnika" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Za preklic sprememb programske opreme nekoga drugega je zahtevana overitev." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Izberite posredniški streĹľnik za prejeme programov" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Za prejemanje programske opreme z uporabo posredniškega streĹľnika se morate " "overiti." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "NAPAKA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Prejetih %sB od %sB pri %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Prejetih %sB od %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "NAPAKA:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Tega dejanja vam ni dovoljeno izvesti." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Dajanje v ÄŤakalno vrsto" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Razreševanje odvisnosti" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Naslednji NOVI paketi bodo nameščeni (%(count)s):" msgstr[1] "Naslednji NOV paket bo nameščen (%(count)s):" msgstr[2] "Naslednja NOVA paketa bosta nameščena (%(count)s):" msgstr[3] "Naslednji NOVI paketi bodo nameščeni (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Naslednji paketi bodo nadgrajeni (%(count)s):" msgstr[1] "Naslednji paket bo nadgrajen (%(count)s):" msgstr[2] "Naslednja paketa bosta nadgrajena (%(count)s):" msgstr[3] "Naslednji paketi bodo nadgrajeni (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Naslednji paketi bodo ODSTRANJENI (%(count)s):" msgstr[1] "Naslednji paket bo ODSTRANJEN (%(count)s):" msgstr[2] "Naslednja paketa bosta ODSTRANJENA (%(count)s):" msgstr[3] "Naslednji paketi bodo ODSTRANJENI (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Naslednji paketi bodo PODGRAJENI (%(count)s):" msgstr[1] "Naslednji paket bo PODGRAJEN (%(count)s):" msgstr[2] "Naslednja paketa bosta PODGRAJENA (%(count)s):" msgstr[3] "Naslednji paketi bodo PODGRAJENI (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Naslednji paketi bodo znova nameščeni (%(count)s):" msgstr[1] "Naslednji paket bo znova nameščen (%(count)s):" msgstr[2] "Naslednja paketa bosta znova nameščena (%(count)s):" msgstr[3] "Naslednji paketi bodo znova nameščeni (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Naslednji paketi so bili zadrĹľani (%(count)s):" msgstr[1] "Naslednji paket je bil zadrĹľan (%(count)s):" msgstr[2] "Naslednja paketa sta bila zadrĹľana (%(count)s):" msgstr[3] "Naslednji paketi so bili zadrĹľani (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Treba je dobiti %sB arhivov." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Po tem opravilu bo porabljenih dodatnih %sB prostora na disku." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Po tem opravilu bo sproščenega %sB prostora na disku." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Ali Ĺľelite nadaljevati [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Za opravilo na veÄŤ kot enem paketu vstavite ime paketa v navednice:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "OsveĹľi predpomnilnik" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Poskusi razrešiti pokvarjene odvisnosti. To dejanje je nevarno, saj lahko " "poskusi odstraniti veliko paketov." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Poskusi konÄŤati prejšnjo nedokonÄŤano namestitev" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Namesti dane pakete" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Znova namesti dane pakete" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Odstrani dane pakete" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Odstrani dane pakete, vkljuÄŤno z nastavitvenimi datotekami" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Podgradi dane pakete" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Zastarelo: uporabite --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Nadgradi sistem na varen naÄŤin" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Nadgradi sistem, morda namesti in odstrani pakete" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Dodaj ponudnika med zaupanja vredne" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Dodaj id ponudnikovega kljuÄŤa (potrebuje --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Uporabi dani streĹľnik s kljuÄŤi za iskanje kljuÄŤev" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Dodaj novo skladišče iz dane deb-line" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Navedite dodatno datoteko sources.list.d, h kateri naj bodo dodana skladišča." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Izpiši kljuÄŤe zaupanja vrednih ponudnikov" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Odstrani zaupan kljuÄŤ danega prstnega odtisa" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Znova nastavi nameščene pakete. Izbirno lahko doloÄŤite najmanjšo prednost " "vprašanj" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Najmanjša debconf prednost vprašanj za prikaz" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Ne pripni terminala apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Dovoli pakete iz neoverjenih virov" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "PokaĹľi dodatne podrobnosti o paketu. Trenutno le številko razliÄŤice" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "ÄŚakanje na overitev" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Ne zapri ozadnjega programa zaradi nedejavnosti" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Ne naloĹľi vstavkov" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "PrikaĹľi podrobnosti o notranji obdelavi podatkov" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Zapri in zamenjaj Ĺľe zagnan ozadnji program" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Poslušaj na vodilu seje DBus (zahtevano le za preizkušanje" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Izvedi opravila za dano okolje chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Shrani statistiko profila v navedeno datoteko" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Ne spreminjaj sistema (uporabno le za razvijalce)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Nameščena datoteka" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Nameščeni paketi" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Dodan je bil kljuÄŤ iz datoteke" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "OsveĹľen predpomnilnik" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Iskanje je konÄŤano" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Odstranjen je bil zaupanja vreden kljuÄŤ" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Odstranjeni paketi" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Posodobljeni paketi" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Nadgrajen sistem" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Uveljavljene spremembe" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Neuspela namestitev je popravljena" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Okvarjene odvisnosti so popravljene" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Vir programske opreme je dodan" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Komponenta distribucije je omogoÄŤena" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Prejete paketne datoteke so bile odstranjene" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Znova nastavljeni nameščeni paketi" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Uspešno" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Preklicano" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Ni uspelo" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Nameščanje datoteke" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Nameščanje paketov" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Dodajanje kljuÄŤa iz datoteke" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Posodabljanje predpomnilnika" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Odstranjevanje zaupanja vrednega kljuÄŤa" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Odstranjevanje paketov" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Posodabljanje paketov" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Nadgrajevanje sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Uveljavljanje sprememb" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Popravljanje neuspele namestitve" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Popravljanje nameščene programske opreme" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Dodajanje vira programske opreme" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "OmogoÄŤanje komponente distribucije" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Odstranjevanje prejetih paketnih datotek" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Ponovno nastavljanje nameščenih paketov" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Iskanje" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Namestitev paketne datoteke ni uspela" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Namestitev programa ni uspela" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Dodanje kljuÄŤa na seznam zaupanja vrednih prodajalcev programske opreme je " "spodletelo" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "OsveĹľevanje seznama programov ni uspelo" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Odstranjevanje vnosa iz seznama zaupanja vrednih ponudnikov programov ni " "uspelo" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Odstranjevanje programa ni uspelo" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Posodabljanje programa ni uspelo" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Nadgrajevanje sistema ni uspelo" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Uveljavljanje programskih sprememb ni uspelo" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Popravljanje nedekonÄŤane namestitve ni uspelo" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Popravljanje pokvarjenih odvisnosti ni uspelo" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Dodajanje vira programske opreme ni uspelo" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "OmogoÄŤanje sestavnega dela distribucije ni uspelo" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Odstranjevanje prejetih paketnih datotek ni uspelo" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Iskanje je spodletelo" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Dodajanje licenÄŤnega kljuÄŤa" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Preverite svojo internetno povezavo." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Preverite, ali uporabljate tudi neuradna skladišča. ÄŚe jih, jih onemogoÄŤite, " "saj so pogosto vir teĹľav. \n" "Nato v terminalu zaĹľenite naslednji ukaz: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Izbrana datoteka ni kljuÄŤ GPG ali pa je pokvarjena." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Izbranega kljuÄŤa ni mogoÄŤe odstraniti. Preverite, da ste zagotovili veljaven " "prstni odtis." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Preverite, da trenutno ne izvajate drugega orodja za upravljanje s programi, " "kot sta na primer Synaptic ali aptitude. Hkrati lahko spremembe izvaja le " "eno orodje." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "To je resna teĹľava. Poskusite znova kasneje. ÄŚe se teĹľava ponovi, javite " "napako razvijalcem." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Preverite ÄŤrkovanje imena paketa in da je primerno skladišče omogoÄŤeno." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Ni potrebe po posodobitvi." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Ni potrebe po namestitvi." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Ni potrebe po odstranitvi." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "Zahtevali ste odstranitev paketa, ki je kljuÄŤen del vašega sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Povezava z ozadnjim programom je bila izgubljena. Verjetno se je ozadnji " "program v ozadju sesul." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Namestitev ali odstranitev programskega paketa ni uspela." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Zahtevana zmoĹľnost ni podprta." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Prišlo je do programske napake v programu aptdaemon, ki vam omogoÄŤa " "namestitev/odstranitev programske opreme in izvajanje drugih nalog, " "povezanih z upravljanjem paketov." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Do napake je lahko prišlo zaradi zahteve po dodatnih programskih paketih, ki " "manjkajo ali jih ni mogoÄŤe namestiti. Poleg tega je lahko prišlo do spora " "med programskimi paketi, ki ne morejo biti hkrati nameščeni." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "To zahteva namestitev paketov z nepooblaščenih virov." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Namestitev je bila mora neuspešna zaradi napake v ustreznem programskem " "paketu ali ker je bila prekinjena na neprijazen naÄŤin. Pred namestitvijo ali " "odstranitvijo drugih programov morate to popraviti." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Kopirajte datoteko v svoj krajevni raÄŤunalnik in preverite njena dovoljenja." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Namestitev paketa, ki krši kakovost standarda, ni dovoljena. To lahko " "povzroÄŤi resne teĹľave na vašem raÄŤunalniku. Stopite v stik z osebo ali " "organizacijo, ki ponuja to paketno datoteko in spodaj vkljuÄŤite podrobnosti." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Prenešeni licenÄŤni kljuÄŤ, ki je zahtevan za zagon te programske opreme, ni " "veljaven ali ga ni mogoÄŤe namestiti pravilno.\n" "Oglejte si podrobnosti." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Vse posodobitve, ki so na voljo, so bile nameščene." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "LicenÄŤnega kljuÄŤa, ki vam dovoljuje uporabo te programske opreme, ni bilo " "mogoÄŤe prenesti. Preverite svojo omreĹľno povezavo." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Za izvedbo tega dejanja nimate zahtevanih dovoljenj." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Vnesli ste napaÄŤno geslo ali pa ste pooblastitev preklicali.\n" "Obstaja lahko tudi tehniÄŤni razlog za to napako, ÄŤe niste videli pogovornega " "okna gesla: vaše namizno okolje morda ne podpira posrednika seje PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Prejem paketnih datotek je spodletel" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Prejem podrobnosti o skladišču je spodletel" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Odvisnosti paketov ni mogoÄŤe razrešiti" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Sistem paketov je pokvarjen" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "KljuÄŤ ni bil nameščen" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "KljuÄŤ ni bil odstranjen" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Upravljalnika paketov ni bilo mogoÄŤe zakleniti" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Seznama paketov ni bilo mogoÄŤe naloĹľiti" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paket ne obstaja" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Paket je Ĺľe posodobljen" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Paket je Ĺľe nameščen" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Paket ni nameščen" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Ni bilo mogoÄŤe odstraniti pomembnega sistemskega paketa" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Opravila ni mogoÄŤe nadzirati" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Opravilo s paketi je spodletelo" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Zahteva namestitev nepreverjenih paketov" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Predhodna namestitev ni bila dokonÄŤana" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Paket je slabe kakovosti" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Paketne datoteke ni mogoÄŤe odpreti" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "ZmoĹľnost ni podprta" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Prejem licenÄŤnega kljuÄŤa je spodletel" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Namestitev programskega kljuÄŤa je spodletela" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Sistem je Ĺľe posodobljen" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Ni vas bilo mogoÄŤe pooblastiti" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Nimate dovoljenj za izvedbo tega dejanja." #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Prišlo je do neupravljane napake" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "ÄŚakanje na zaÄŤetek postopka" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "ÄŚakanje" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "ÄŚakanje na zahtevan medij" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "ÄŚakanje, da se ostali upravljalniki paketov konÄŤajo" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "ÄŚakanje na poziv nastavitvene datoteke" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Izvajanje naloge" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Prejemanje" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Poizvedovanje po programskih virih" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ÄŚiščenje" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "KonÄŤano" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Preklicevanje" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Nalaganje seznama programov" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Nameščanje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Nastavljanje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Odstranjevanje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Popolno odstranjevanje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "%s je izginil" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Izvajanje ponamestitvenega zaporedja ukazov %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Nadgrajevanje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Razširjanje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Priprava namestitve %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Pripravljanje za nastavitev %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Pripravljanje za odstranitev %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Pripravljanje na popolno odstranitev %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Paket %s je nameščen." #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Paket %s je bil popolnoma odstranjen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Paket %s je bil odstranjen" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Obdelovanje %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "KonÄŤano" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Overitev ni uspela" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Pridobivanje" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Nedejavno" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "OmreĹľje ni na voljo" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Podrobnosti" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Datoteka" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Prejeto %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Prejeto" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Zahtevan je CD/DVD '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Vstavite zgornji CD/DVD v pogon '%s' za namestitev programskih paketov z " "njega." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_Nadaljuj" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Namesti" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Znova namesti" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Odstrani" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "PoÄŤisti" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Nadgradi" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Podgradi paket" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "PreskoÄŤi nadgradnjo" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Oglejte si spodnji seznam sprememb." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Dodatno programsko opremo je treba namestiti" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Dodatno programsko opremo je treba znova namestiti" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Dodatno programsko opremo je treba odstraniti" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Dodatno programsko opremo je treba poÄŤistiti" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Dodatno programsko opremo je treba nadgraditi" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Dodatno programsko opremo je treba podgraditi" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Posodobitve bodo izpuščene" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Zahtevane so dodatne spremembe" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Skupaj bo prejetih %sB." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Na disku bo sproščenega %s B prostora." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Porabljenega bo %sB veÄŤ prostora na disku." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Ali Ĺľelite zamenjati svoje spremembe v '%s' z novejšo razliÄŤico v " "nastavitveni datoteki?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "ÄŚe ne veste, zakaj datoteka na tem mestu obstaja, jo je obiÄŤajno varno " "zamenjati." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Spremembe" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Ohrani" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Zamenjaj" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Podrobnosti" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "ÄŚakanje na konÄŤanje %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Prejemanje %(files)s" msgstr[1] "Prejemanje %(files)s" msgstr[2] "Prejemanje %(files)s" msgstr[3] "Prejemanje %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "Krajevno skladišče." #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Prejemanje od %s" msgstr[1] "Prejemanje od %s" msgstr[2] "Prejemanje od %s" msgstr[3] "Prejemanje od %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Zgradba %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Opis %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Podpis opisa %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Paketi, na voljo iz %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Viri, na voljo iz %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Prevodi, na voljo iz %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Prevodi za %s (%s) iz %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Prevodi za %s iz %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Prevodi (%s) iz %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Paket %s ni na voljo" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Paket %s ni nameščen" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "RazliÄŤica %s %s ni nameščena" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Paket %s je Ĺľe nameščen" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "RazliÄŤica %s programa %s ni na voljo." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "URL streĹľnika s kljuÄŤi je neveljaven: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Neveljaven streĹľniški protokol: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Neveljaven ID kljuÄŤa: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Napaka med prejemom in nameščanjem kljuÄŤa %s iz %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Datoteke kljuÄŤa %s ni mogoÄŤe namestiti: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "KljuÄŤa s prstnim odtisom %s ni mogoÄŤe odstraniti: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Paketa %s ni mogoÄŤe odstraniti." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "RazliÄŤica %s %s ni nameščena" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Prejšnja razliÄŤica %s %s je Ĺľe nameščena" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "RazliÄŤica %s %s je Ĺľe nameščena" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "RazliÄŤica %s programa %s ni na voljo" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Navedite razliÄŤico, na katero naj bo %s podgrajen" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Novejša razliÄŤica %s %s je Ĺľe nameščena" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Paket %s ni na voljo v izdaji %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Paketa %s ni mogoÄŤe odstraniti" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Paket ne zagotavlja veljavnega nadzornega polja Nameščena velikost. Oglejte " "si Debian Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "LicenÄŤni kljuÄŤ je prazen" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "LicenÄŤni kljuÄŤ ne sme vsebovati izvedljive kode." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Pot licenÄŤnega kljuÄŤa %s ni veljavna" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "LicenÄŤni kljuÄŤ Ĺľe obstaja: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Mesto licenÄŤnega kljuÄŤa ni varno, saj vsebuje simbolne povezave. Pot %s kaĹľe " "na %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Mapa za nemestitev kljuÄŤa še ne obstaja: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Pisanje datoteke kljuÄŤa v mapo %s je spodletelo" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Naslednji paketi imajo nerazrešene odvisnosti:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr ", vendar je navidezen paket" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr ", vendar ni nameščen" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr ", vendar ne bo nameščen" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr ", vendar je nameščen paket %s" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr ", vendar bo nameščen paket %s" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Dodajanje kljuÄŤa na seznam zaupanja vrednih ponudnikov programov ni uspelo" aptdaemon-1.1.1/po/el.po0000644000175000017500000016460012117271433015626 0ustar renaterenate00000000000000# Greek translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # Fotis Tsamis , 2010. msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-02-26 18:45+0000\n" "Last-Translator: Filippos Kolyvas \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Κατάλογος κλειδιών έμπιĎτων Ď€Ďομηθευτών" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Για να δείτε την λίĎτα με κλειδιά που εμπιĎτεύεĎτε, Ď€Ďέπει να γίνει " "ταυτοποίηĎη." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "ΑφαίĎεĎη ληφθέντων αĎχείων πακέτων" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "ΧĎειάζεται πιĎτοποίηĎη για να εκκαθαĎÎŻĎετε τα ληφθέντα αĎχεία πακέτων." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Αλλαγή παĎαμετĎοποίηĎης λογιĎμικού" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "ΧĎειάζεται πιĎτοποίηĎη για να αλλάξετε τις ĎυθμίĎεις του λογιĎμικού." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Αλλάξτε αποθετήĎιο λογιĎμικού" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Για να αλλάξετε τις ĎυθμίĎεις για τα αποθετήĎια λογιĎμικού, Ď€Ďέπει να γίνει " "ταυτοποίηĎη." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ΕγκάταĎταĎη αĎχείου πακέτου" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Για να εγκαταĎτήĎετε αυτό το πακέτο, Ď€Ďέπει να γίνει ταυτοποίηĎη." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ΕνημέĎωĎη πληĎοφοĎιών πακέτων" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Για να ενημεĎωθεί Îż κατάλογος λογιĎμικού, Ď€Ďέπει να γίνει ταυτοποίηĎη." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ΕγκαταĎτήĎτε ή αφαιĎέĎτε πακέτα" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Για να εγκαταĎτήĎετε ή να αφαιĎέĎετε λογιĎμικό, Ď€Ďέπει να γίνει ταυτοποίηĎη." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "ΕγκατάĎταĎη λογιĎμικού από ένα αποθετήĎιο που βĎÎŻĎκεται Ďε λίĎτα Ď…Ďηλής " "εμπιĎτοĎύνης." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Για την εγκατάĎταĎη λογιĎμικού, θα Ď€Ďέπει να γίνει ταυτοποίηĎη." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "ΠĎÎżĎθέĎτε ένα καινούĎγιο αποθετήĎιο και εγκαταĎτήĎτε πακέτα από αυτό" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Για να εγκαταĎτήĎετε λογιĎμικό από μια καινούĎγια πηγή, Ď€Ďέπει να γίνει " "ταυτοποίηĎη." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "ΠĎÎżĎθέĎτε ένα καινούĎγιο αποθετήĎιο αγοĎαĎμένου λογιĎμικού και εγκατάĎταĎη " "πακέτων από αυτό" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "Για να εγκαταĎτήĎετε αγοĎαĎμένο λογιĎμικό, Ď€Ďέπει να γίνει ταυτοποίηĎη." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ΑναβάθμιĎη πακέτων" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "Για να εγκαταĎτήĎετε το ενημεĎωμένο λογιĎμικό, Ď€Ďέπει να γίνει ταυτοποίηĎη." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "ΑκύĎωĎη της εĎγαĎίας άλλου χĎήĎτη" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Για να καταĎγήĎετε τις αλλαγές λογιĎμικού κάποιου άλλου, Ď€Ďέπει να γίνει " "ταυτοποίηĎη." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "ΡύθμιĎη εξυπηĎετητή proxy για μεταφοĎτώĎεις λογιĎμικού" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Για να χĎηĎιμοποιήĎετε εξυπηĎετητή proxy για μεταφοĎτώĎεις λογιĎμικού, " "χĎειάζεται ταυτοποίηĎη." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ΣΦΑΛΜΑ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "ΛήĎη %sB από %sB Ďτα %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Λήφθηκαν %sB από %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ΣΦΑΛΜΑ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Δεν Ďας επιτĎέπεται να εκτελέĎετε αυτήν την ενέĎγεια." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "ΔημιουĎγία λίĎτας" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ΕπίλυĎη εξαĎτήĎεων" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Τo ακόλουθο ΝΕΟ πακέτο θα εγκαταĎταθεί (%(count)s):" msgstr[1] "Τα ακόλουθα ΝΕΑ πακέτα θα εγκαταĎταθούν (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Το ακόλουθο πακέτο θα αναβαθμιĎτεί (%(count)s):" msgstr[1] "Τα ακόλουθα πακέτα θα αναβαθμιĎτούν (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Το ακόλουθο πακέτο θα ΑΦΑΙΡΕÎΕΙ (%(count)s):" msgstr[1] "Τα ακόλουθα πακέτα θα ΑΦΑΙΡΕÎΟΥΝ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Το ακόλουθο πακέτο θα ΥΠΟΒΑÎΜΙΣΤΕΙ (%(count)s):" msgstr[1] "Τα ακόλουθα πακέτα θα ΥΠΟΒΑÎΜΙΣΤΟΥΝ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Το ακόλουθο πακέτο θα επανεγκαταĎταθεί (%(count)s):" msgstr[1] "Τα ακόλουθα πακέτα θα επανεγκαταĎταθούν (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Το ακόλουθο πακέτο έχει διατηĎηθεί (%(count)s):" msgstr[1] "Τα ακόλουθα πακέτα έχουν διατηĎηθεί (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "ΠĎέπει να γίνει λήĎη %sB αĎχείων." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "Μετά από αυτήν την διαδικαĎία, θα χĎηĎιμοποιηθούν %sB επιπλέον χώĎου Ďτον " "δίĎκο." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" "Μετά από αυτήν την διαδικαĎία, θα ελευθεĎωθούν %sB επιπλέον χώĎου Ďτον δίĎκο." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Îέλετε να ĎυνεχίĎετε [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Για να εĎγαĎθείτε με πεĎÎąĎĎότεĎα πακέτα, βάλτε τις ονομαĎίες των πακέτων Ďε " "ειĎαγωγικά:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "ΑνανέωĎη λανθάνουĎας μνήμης" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "ΠĎÎżĎπαθήĎτε να διοĎθώĎετε τις κατεĎĎ„Ďαμμένες εξαĎτήĎεις. Δυνητικά επικίνδυνη " "λειτουĎγία επειδή μποĎεί να Ď€ĎÎżĎπαθήĎει να αφαιĎέĎει πολλά πακέτα." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ΠĎÎżĎπαθήĎτε να ολοκληĎĎŽĎετε μια ανεπιτυχή Ď€Ďοηγούμενη εγκατάĎταĎη" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ΕγκαταĎτήĎτε τα ĎυγκεκĎιμένα πακέτα" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ΕπανεγκαταĎτήĎτε τα ĎυγκεκĎιμένα πακέτα" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "ΑφαιĎέĎτε τα ĎυγκεκĎιμένα πακέτα" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "ΑφαιĎέĎτε τα ĎυγκεκĎιμένα πακέτα μαζί με τα αĎχεία διαμόĎφωĎης" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "ΥποβάθμιĎη αυτών των πακέτων" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Απαξιωμένο: ΠαĎακαλούμε χĎηĎιμοποιήĎτε --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "ΕνημεĎĎŽĎτε το ĎĎŤĎτημα με αĎφαλή Ď„Ďόπο" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "ΕνημεĎĎŽĎτε το ĎĎŤĎτημα, πιθανόν εγκαθιĎτώντας και αφαιĎώντας πακέτα" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "ΠĎÎżĎθήκη Ď€Ďομηθευτή Ďτους έμπιĎτους" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "ΠĎÎżĎθήκη keyid Ď€Ďομηθευτή (χĎειάζεται επίĎης Îż --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "ΧĎήĎη του ĎυγκεκĎιμένου keyserver για αναζήτηĎη κλειδιών" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "ΠĎÎżĎθέĎτε ένα νέο αποθετήĎιο από την ĎυγκεκĎιμένη deb-line" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "ÎźĎÎŻĎτε ένα εναλλακτικό αĎχείο sources.list.d Ďτο οποίο θα Ď€ĎÎżĎτεθούν τα " "αποθετήĎια." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "ΛίĎτα έμπιĎτων κλειδιών Ď€Ďομηθευτή" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "ΑφαίĎεĎη έμπιĎτων κλειδιών του ĎυγκεκĎιμένου αποτυπώματος" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "ΕπαναĎύθμιĎη των εγκατεĎτημένων πακέτων. ΠĎοαιĎετικά μποĎεί να καθοĎÎąĎτεί Îż " "ελάχιĎτος αĎιθμός εĎωτήĎεων" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "ΕλάχιĎτη εμφανιζόμενη Ď€ĎοτεĎαιώτητα debconf" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Μην επιĎυνάπτετε Ďτο apt terminal" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Να επιτĎέπονται πακέτα από μη-πιĎτοποιημένες πηγές" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "ΠĎοβολη Ď€ĎĎŚĎθετων πληĎοφοĎιών για τα πακέτα. ΠĎος το παĎόν μόνον τον αĎιθμό " "έκδοĎης" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Αναμονή για πιĎτοποίηĎη" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Μην τεĎματίĎετε τον δαίμονα λόγω αδĎάνειας" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Να μη γίνει φόĎτωĎη κανενός Ď€ĎĎŚĎθετου" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "ΕμφάνιĎη εĎωτεĎικών πληĎοφοĎιών επεξεĎγαĎίας" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "ΤεĎματιĎÎĽĎŚĎ‚ και αντικατάĎταĎη ήδη ενεĎγού δαίμονα" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "ΠαĎακολούθηĎη του DBus session bus (Απαιτείται μόνο για δοκιμές)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "ΕκτέλεĎη λειτουĎγιών Ďτο δεδομένο chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "ΑποθήκευĎη ĎτατιĎτικών Ď€Ďοφίλ Ďτο Ď€ĎÎżĎδιοĎÎąĎμένο αĎχείο" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Να μην γίνουν αλλαγές Ďτο ĎĎŤĎτημα (ΧĎήĎιμο μόνο για τους Ď€ĎογĎαμματιĎτές)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "ΕγκατεĎτημένο αĎχείο" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "ΕγκατεĎτημένα πακέτα" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Îγινε ειĎαγωγή κλειδιού από αĎχείο" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "H cache ενημεĎώθηκε" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Η αναζήτηĎη ολοκληĎώθηκε" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "ΑφαιĎέθηκε έμπιĎτο κλειδί" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Πακέτα που αφαιĎέθηκαν" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Πακέτα που ενημεĎώθηκαν" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Το ĎĎŤĎτημα αναβαθμίĎτηκε" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Οι αλλαγές Ď€Ďαγματοποιήθηκαν" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Η μη-ολοκληĎωμένη εγκατάĎταĎη διοĎθώθηκε" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Οι μη-επιλυμένες εξαĎτήĎεις διοĎθώθηκαν" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "ΠĎÎżĎτέθηκε πηγή λογιĎμικού" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "ΕνεĎγοποιήθηκε ĎĎ…Ďτατικό της διανομής" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "ΑφαιĎέθηκαν τα ληφθέντα πακέτα αĎχείων" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "ΕπανĎυθμιĎμένα εγκατεĎτημένα πακέτα" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Επιτυχία" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "ΑκυĎώθηκε" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Απέτυχε" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ΕγκατάĎταĎη αĎχείου" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ΕγκατάĎταĎη πακέτων" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "ΠĎÎżĎθήκη κλειδιού από αĎχείο" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ΕνημέĎωĎη Ď€ĎÎżĎωĎινής μνήμης" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "ΑφαίĎεĎη έμπιĎτου κλειδιού" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "ΑφαίĎεĎη πακέτων" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "ΕνημέĎωĎη πακέτων" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "ΑναβάθμιĎη του ĎĎ…Ďτήματος" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ΕφαĎμογή αλλαγών" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "ΔιόĎθωĎη μη-ολοκληĎωμένης εγκατάĎταĎης" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "ΕπιĎκευάζεται το εγκατεĎτημένο λογιĎμικό" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "ΠĎÎżĎθήκη πηγής λογιĎμικού" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "ΕνεĎγοποίηĎη ĎĎ…Ďτατικού της διανομής" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "ΑφαίĎεĎη αĎχείων λήĎης πακέτων" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "ΕπανĎύθμιĎη εγκατεĎτημένων πακέτων" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Γίνεται αναζήτηĎη" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Η εγκατάĎταĎη του πακέτου απέτυχε" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Η εγκατάĎταĎη του λογιĎμικού απέτυχε" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Η Ď€ĎÎżĎθήκη του κλειδιού Ďτη λίĎτα Ď€Ďομηθευτών πιĎτοποιημένου πεĎιεχομένου " "απέτυχε" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Η ανανέωĎη της λίĎτας λογιĎμικού απέτυχε" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Η αφαίĎεĎη του εκδότη από τη λίĎτα των έμπιĎτων απέτυχε" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Η αφαίĎεĎη λογιĎμικού απέτυχε" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Η ενημέĎωĎη λογιĎμικού απέτυχε" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Η αναβάθμιĎη του ĎĎ…Ďτήματος απέτυχε" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Η εφαĎμογή των αλλαγών λογιĎμικού απέτυχε" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Η διόĎθωĎη της μη-ολοκληĎωμένης εγκατάĎταĎης απέτυχε" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Η διόĎθωĎη των μη-επιλυμένων εξαĎτήĎεων απέτυχε" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Η Ď€ĎÎżĎθήκη πηγής λογιĎμικού απέτυχε" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Η ενεĎγοποίηĎη ĎĎ…Ďτατικού της διανομής απέτυχε" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Αποτυχία αφαίĎεĎης αĎχείων λήĎης πακέτων" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Αποτυχία αναζήτηĎης" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "ΠĎÎżĎθήκη άδειας χĎήĎης" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Ελέγξτε τη ĎύνδεĎή Ďας με το διαδίκτυο." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Ελέγξτε αν χĎηĎιμοποιείτε αποθετήĎια Ď„Ďίτων. Αν χĎηĎιμοποιείτε, " "απενεĎγοποιήĎτε τα, αφού είναι Ďυχνά πηγή Ď€Ďοβλημάτων.\n" "Επιπλέον εκτελέĎτε την ακόλουθη εντολή Ďε ένα ΤεĎματικό: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Το επιλεγμένο αĎχείο ÎŻĎως δεν είναι κλειδί GPG ή ÎŻĎως είναι κατεĎĎ„Ďαμμένο." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Αδυναμία αφαίĎεĎης επιλεγμένου κλειδιού. Βεβαιωθείτε ότι δώĎατε έγκυĎÎż " "αποτύπωμα." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Ελέγξτε εάν λειτουĎγεί αυτήν την Ďτιγμή και κάποια άλλη εφαĎμογή διαχείĎÎąĎης " "λογιĎμικού, Ď€.χ. Synaptic ή aptitude. Μόνο μία εφαĎμογή επιτĎέπεται να κάνει " "αλλαγές κάθε φοĎά." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Αυτό είναι ένα ĎοβαĎĎŚ Ď€Ďόβλημα. ΔοκιμάĎτε ξανά αĎγότεĎα. Αν το Ď€Ďόβλημα αυτό " "εμφανιĎτεί ξανά, παĎακαλώ αναφέĎατε το Ďφάλμα Ďτους Ď€ĎογĎαμματιĎτές." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Ελέγξτε την ÎżĎθογĎαφία του ονόματος του πακέτου, και ότι το κατάλληλο " "αποθετήĎιο είναι ενεĎγοποιημένο." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Δεν χĎειάζεται να γίνει ενημέĎωĎη." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "ΔενχĎειάζεται να γίνει εγκατάĎταĎη" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Δεν χĎειάζεται να γίνει αφαίĎεĎη" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "ΖητήĎατε να αφαιĎέĎετε ένα πακέτο που είναι απαĎαίτητο μέĎος του ĎĎ…Ďτήματός " "Ďας." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Η ĎύνδεĎη με την υπηĎεĎία χάθηκε. Πιθανότατα η υπηĎεĎία παĎαĎκηνίου να " "ĎταμάτηĎε να λειτουĎγεί." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Η εγκατάĎταĎη ή αφαίĎεĎη ενός πακέτου λογιĎμικού απέτυχε." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Η ζητούμενη λειτουĎγία δεν υποĎτηĎίζεται." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Φαίνεται να υπάĎχει ένα Ď€ĎογĎαμματιĎτικό Ďφάλμα Ďτο aptdaemon, δηλ. το " "λογιĎμικό που επιτĎέπει την εγκατάĎταĎη/αφαίĎεĎη και την εκτέλεĎη άλλων " "Ď€Ďάξεων διαχείĎÎąĎης πακέτων" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Αυτό το Ďφάλμα μποĎεί να Ď€Ďοκλήθηκε από αναγκαία Ď€ĎĎŚĎθετα πακέτα λογιĎμικού " "που είτε λείπουν είτε δεν μποĎούν να εγκαταĎταθούν. Επιπλέον μποĎεί να " "υπάĎχει ĎύγκĎουĎη ανάμεĎα Ďε πακέτα που δεν επιτĎέπεται να εγκαταĎταθούν " "ταυτόχĎονα." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Αυτό απαιτεί την εγκατάĎταĎη πακέτων από μη ταυτοποιημένες πηγές." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Η εγκατάĎταĎη μποĎεί να απέτυχε λόγω κάποιου Ďφάλματος Ďτο αντίĎτοιχο πακέτο " "λογιĎμικού ή ακυĎώθηκε με λάθος Ď„Ďόπο. ΠĎέπει να το διοĎθώĎετε Ď€Ďιν να " "μποĎέĎετε να εγκαταĎτήĎετε ή να αφαιĎέĎετε επιπλέον λογιĎμικό." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "ΠαĎακαλώ αντιγĎάĎτε το αĎχείο Ďτον τοπικό Ďας υπολογιĎτή και ελέγξτε τις " "άδειες αĎχείων" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Δεν επιτĎέπεται η εγκατάĎταĎη πακέτων που παĎαβιάζουν τα Ď€Ďότυπα ποιότητας. " "Αυτό μποĎεί να Ď€ĎοκαλέĎει ĎοβαĎά Ď€Ďοβλήματα Ďτον υπολογιĎτή Ďας. ΠαĎακαλώ " "επικοινωνήĎτε με το άτομο ή την ÎżĎγάνωĎη που Ď€ĎÎżĎφέĎει αυτό το πακέτο " "ĎυμπεĎιλαμβάνοντας τις ακόλουθες λεπτομέĎειες:" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Η λήĎη κλειδιού άδειας χĎήĎης που απαιτείται για να Ď„Ďέξει αυτό το κομμάτι " "του λογιĎμικού δεν είναι έγκυĎη ή δεν μποĎεί να εγκαταĎταθεί ĎωĎτά.\n" "Δείτε τις λεπτομέĎειες για πεĎÎąĎĎότεĎες πληĎοφοĎίες." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Όλα τα διαθέĎιμα πακέτα αναβάθμιĎης έχουν ήδη εγκαταĎταθεί." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Το κλειδί άδειας χĎήĎης η οποία Ďάς επιτĎέπει να χĎηĎιμοποιήĎετε αυτό το " "πακέτο λογιĎμικού δεν μποĎεί να ληφθεί. Ελέγξτε τη ĎύνδεĎη του δικτύου Ďας." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" "Δεν έχετε τα απαιτούμενα δικαιώματα για να εκτελέĎετε αυτή τη κίνηĎη." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Είτε δώĎατε λάθος κωδικό ή ακυĎĎŽĎατε την πιĎτοποίηĎη\n" "Επιπλέον θα μποĎούĎε επίĎης να υπάĎχει κάποιος τεχνικός λόγος για αυτό το " "Ďφάλμα αν δεν είδατε κάποιο διάλογο κωδικού: το πεĎιβάλλον εĎγαĎίας Ďας δεν " "παĎέχει κάποιον διαχειĎÎąĎτή ĎυνεδĎίας PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Η λήĎη των αĎχείων των πακέτων απέτυχε" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Αποτυχία λήĎης πληĎοφοĎιών αποθετηĎίου." #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Η εξαĎτήĎεις του πακέτου δεν είναι δυνατόν να επιλυθούν." #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Το ĎĎŤĎτημα πακέτων είναι φθαĎμένο." #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Το κλειδί δεν εγκαταĎτάθηκε" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Το κλειδί δεν αφαιĎέθηκε" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Το κλείδωμα της διαχείĎÎąĎης πακέτων απέτυχε" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Η φόĎτωĎη της λίĎτας πακέτων απέτυχε" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Το πακέτο δεν υπάĎχει" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Το πακέτο είναι ήδη ενημεĎωμένο" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Το πακέτο είναι ήδη εγκατεĎτημένο" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Το πακέτο δεν είναι εγκατεĎτημένο" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Αποτυχία αφαίĎεĎης απαĎαίτητου πακέτου ĎĎ…Ďτήματος" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Η εĎγαĎία δεν μποĎεί να παĎακολουθηθεί ή να ελεγχθεί" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Η λειτουĎγία πακέτου απέτυχε" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Απαιτεί την εγκατάĎταĎη μη-έμπιĎτων πακέτων" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Η Ď€Ďοηγούμενη εγκατάĎταĎη δεν έχει ολοκληĎωθεί" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Το πακέτο είναι κακής ποιότητας" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Το αĎχείο του πακέτο δεν μπόĎεĎε να ανοιχτεί" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Μη υποĎτηĎιζόμενη λειτουĎγία" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Αποτυχία λήĎης του κλειδιού άδειας χĎήĎης" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Αποτυχία εγκατάĎταĎης του κλειδιού άδειας χĎήĎης" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Το ĎĎŤĎτημα είναι ήδη ενημεĎωμένο" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Δε μποĎέĎατε να πιĎτοποιηθείτε" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Δεν επιτĎέπεται να εκτελέĎετε αυτή την ενέĎγεια" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "ΠαĎουĎιάĎτηκε ανεπανόĎθωτο Ďφάλμα" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Αναμονή για να ξεκινήĎει η υπηĎεĎία" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Αναμονή" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Αναμονή για το απαιτούμενο μέĎÎż" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Αναμονή για τον τεĎματιĎÎĽĎŚ άλλων διαχειĎÎąĎτών λογιĎμικού" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Αναμονή για την ζήτηĎη από το αĎχείο ĎυθμίĎεων" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "ΕκτέλεĎη εĎγαĎίας" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ΛήĎη" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "ΕπεĎωτήĎεις Ďτις πηγές λογιĎμικού" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ΕκκαθάĎÎąĎη" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ΟλοκληĎώθηκε" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Îξοδος" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "ΦόĎτωĎη λίĎτας λογιĎμικού" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "ΕγκατάĎταĎη του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "ΡύθμιĎη %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "ΑφαίĎεĎη %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "ΠλήĎη διαγĎαφή του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Σημειώνεται η εξαφάνιĎη του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Εκτελείται το ĎενάĎιο εντολών %s για την ολοκλήĎωĎη της εγκατάĎταĎης" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "ΑναβάθμιĎη του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Εξαγωγή αĎχείων από το %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "ΠĎοετοιμαĎία για εγκατάĎταĎη του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "ΠĎοετοιμαĎία για τη ĎύθμιĎη του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "ΠĎοετοιμαĎία για την αφαίĎεĎη του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "ΠĎοετοιμαĎία για την πλήĎη αφαίĎεĎη του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Îγινε εγκατάĎταĎη του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "ΟλοκληĎωτική απομάκĎυνĎη του %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Îγινε η αφαίĎεĎη του %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Γίνεται επεξεĎγαĎία του %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "ΟλοκληĎώθηκε" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Αποτυχία πιĎτοποίηĎης" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Γίνεται λήĎη" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Σε αδĎάνεια" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Το δίκτυο δεν είναι διαθέĎιμο" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "ΛεπτομέĎειες" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "ΑĎχείο" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "ΜεταφοĎτώθηκαν %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Ληφθέντα" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Απαιτείτε CD/DVD '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "ΠαĎακαλώ ειĎάγετε το παĎαπάνω CD/DVD Ďτον οδηγό '%s' για να εγκαταĎτήĎετε " "πακέτα από αυτό." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "ÎŁ_υνέχεια" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ΕγκατάĎταĎη" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ΕπανεγκατάĎταĎη" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "ΑφαίĎεĎη" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "ΑπομάκĎυνĎη μαζί με τα αĎχεία ĎυθμίĎεων" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "ΑναβάθμιĎη" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "ΥποβάθμιĎη" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ΠαĎάλειĎη αναβάθμιĎης" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "ΠαĎακαλώ Ďίξτε μια ματιά Ďτην λίĎτα με τις αλλαγές παĎακάτω." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "ΠĎέπει να εγκαταĎταθεί επιπλέον λογιĎμικό" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "ΠĎέπει να επανεγκαταĎταθεί επιπλέον λογιĎμικό" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "ΠĎέπει να αφαιĎεθεί επιπλέον λογιĎμικό" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "ΠĎέπει να αφαιĎεθεί επιπλέον λογιĎμικό με τις ĎυθμίĎεις του" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "ΠĎέπει να αναβαθμιĎτεί επιπλέον λογιĎμικό" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "ΠĎέπει να υποβαθμιĎτεί επιπλέον λογιĎμικό" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Οι ενημεĎĎŽĎεις θα παĎαλειφθούν" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Απαιτούνται επιπλέον αλλαγές" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Îα μεταφοĎτωθούν Ďυνολικά %sB." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Îα ελευθεĎωθούν %sB χώĎου Ďτον δίĎκο." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Îα χĎηĎιμοποιηθούν %sB επιπλέον χώĎου Ďτον δίĎκο." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Να αντικαταĎταθούν οι αλλαγές Ďας Ďτο '%s' με μια νεότεĎη έκδοĎη του αĎχείου " "ĎυθμίĎεων;" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Αν δεν γνωĎίζετε γιατί το αĎχείο υπάĎχει ήδη, είναι Ďυνήθως αĎφαλές να το " "αντικαταĎτήĎετε." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Αλλαγές" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "Δι_ατήĎηĎη" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "Α_ντικατάĎταĎη" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_ΠληĎοφοĎίες" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Αναμονή για την ολοκλήĎωĎη του %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "ΛήĎη %(files)s" msgstr[1] "ΛήĎη %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "Τοπικό αποθετήĎιο" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "ΛήĎη από το %s" msgstr[1] "ΛήĎη από τα %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Η δομή του %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Η πεĎιγĎαφή του %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "ΥπογĎαφή πεĎιγĎαφής του %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "ΔιαθέĎιμα πακέτα από %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "ΔιαθέĎιμες πηγές από %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "ΔιαθέĎιμες μεταφĎάĎεις από %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "ΜεταφĎάĎεις για %s (%s) από %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "ΜεταφĎάĎεις για %s από %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "ΜεταφĎάĎεις (%s) από %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Το πακέτο %s δεν είναι διαθέĎιμο" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Το πακέτο %s δεν είναι εγκατεĎτημένο" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Η έκδοĎη %s του/της %s δεν είναι εγκατεĎτημένη" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Το πακέτο %s είναι ήδη εγκατεĎτημένο" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Η έκδοĎη %s του %s δεν είναι διαθέĎιμη." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Το URL του διακομιĎτή κλειδιού (keyserver) δεν είναι έγκυĎÎż: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Μη έγκυĎÎż Ď€Ďωτόκολλο διακομιĎτή: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Μη έγκυĎη ταυτότητα (ID) κλειδιού: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Αποτυχία λήĎης κι εγκατάĎταĎη του κλειδιού to %s από %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Αποτυχία εγκατάĎταĎης του αĎχείου κλειδιού %s: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Αποτυχία αφαίĎεĎης κλειδιού αποτύμα %s couldn't be removed: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Το πακέτο %s δεν μποĎεί να αφαιĎεθεί." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Η έκδοĎη %s του/της %s δεν είναι εγκατεĎτημένη" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Η Ď€Ďοηγούμενη έκδοĎη%s του/της %s είναι ήδη εγκατεĎτημένη" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Η έκδοĎη %s του/της %s είναι ήδη εγκατεĎτημένη" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Η έκδοĎη %s του/της %s δεν είναι διαθέĎιμη" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" "ΠĎέπει να Ď€ĎÎżĎδιοĎÎŻĎτε μια έκδοĎη υπαναχώĎÎąĎης (downgrade) του/της %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Η μεταγενέĎτεĎη έκδοĎη του/της %s of %s είναι ήδη εγκατεĎτημένη" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Το πακέτο %s δεν είναι διαθέĎιμο Ďτην έκδοĎη %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Το πακέτο %s δεν μποĎεί να αφαιĎεθεί" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Το πακέτο δεν παĎέχει ένα έγκυĎÎż πεδίο ελέγχου Installed-Size. Δείτε την " "Πολιτική του Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Το κλειδί της άδειας χĎήĎης είναι κενό" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" "Το κλειδί άδειας χĎήĎης δεν επιτĎέπεται να πεĎιέχει εκτελέĎιμο κώδικα." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Η διαδĎομή του κλειδιού άδειας χĎήĎης %s δεν είναι έγκυĎη" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Το κλειδί άδειας χĎήĎης υπάĎχει ήδη: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Η τοποθεĎία του κλειδιού της άδειας χĎήĎης δεν είναι αĎφαλής, διότι " "πεĎιέχει Ďυμβολικούς ĎυνδέĎμους. Η διαδĎομή %s δείχνει Ďτο %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Îź κατάλογος για την εγκατάĎταĎη του κλειδιού δεν υπάĎχει ακόμη: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Αποτυχία εγγĎαφής του αĎχείου κλειδιού Ďτο: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Τα ακόλουθα πακέτα έχουν ανεπίλυτες εξαĎτήĎεις:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "αλλά είναι ένα εικονικό πακέτο" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "αλλά δεν είναι εγκατεĎτημένο" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "αλλά δεν Ď€Ďόκειται να εγκαταĎταθεί" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "αλλά το %s είναι εγκατεĎτημένο" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "αλλά το %s Ď€Ďόκειται να εγκαταĎταθεί" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Η Ď€ĎÎżĎθήκη του κλειδιού Ďτη λίĎτα των έμπιĎτων εκδοτών λογιĎμικού απέτυχε" aptdaemon-1.1.1/po/oc.po0000644000175000017500000013736612117271433015640 0ustar renaterenate00000000000000# Occitan (post 1500) translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-28 20:19+0000\n" "Last-Translator: CĂ©dric VALMARY (Tot en òc) \n" "Language-Team: Occitan (post 1500) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Far la lista de las claus dels provesidors de fisança" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Per afichar la lista de las claus de fisança, vos cal vos autentificar." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Suprimir los paquets telecargats" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Vos cal vos autentificar per suprimir los paquets telecargats." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Modificar la configuracion del logicial" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Vos cal vos autentificar per modificar la configuracion del logicial." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Modificar lo depaus logicial" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Per modificar la configuracion dels depauses logicials, vos cal vos " "autentificar." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Installar un paquet" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Vos cal vos autentificar per installar aquel paquet." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Metre a jorn las informacions suls paquets" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Vos cal vos autentificar per metre a jorn la lista dels logicials " "disponibles." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Installar o suprimir de paquets" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Vos cal vos autentificar per installar o suprimir de logicials." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Installar lo logicial a partir d'un depaus marcat coma fòrça fisable." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Vos cal vos autentificar per installar de logicials." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Apondre un depaus novèl e installar de paquets d'aquel" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Vos cal vos autentificar per installar lo logicial dempuèi una font novèla." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Apondre un novèl depaus de logicials crompats e installar de paquets " "d'aqueste" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Vos cal vos autentificar per installar lo logicial crompat." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Metre a jorn los paquets" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Vos cal vos autentificar per metre a jorn de logicials." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Anullar lo prètfach d'un autre utilizaire" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Vos cal vos autentificar per anullar las modificacions suls logicials d'un " "autre utilizaire." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Definir un servidor mandatari pel telecargament dels logicials" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Vos cal vos autentificar per utilizar un servidor mandatari per telecargar " "de logicials." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%s octets sus %s octets telecargats a %s octets/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%s octets sus %s octets telecargats" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROR :" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Sètz pas autorizat a realizar aquela accion." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Mesa en fila d'espèra" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Resolucion de las dependĂ©ncias" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Lo NOVĂL paquet seguent serĂ  installat :" msgstr[1] "Los %(count)s) NOVĂLS paquets seguents serĂ n installats :" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Lo paquet seguent serĂ  mes a jorn :" msgstr[1] "Los %(count)s paquets seguents serĂ n meses a jorn :" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Lo paquet seguent serĂ  SUPRIMIT :" msgstr[1] "Los %(count)s paquets seguents serĂ n SUPRIMITS :" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Lo paquet seguent serĂ  remplaçat per una version ANTERIORA :" msgstr[1] "" "Los %(count)s paquets seguents serĂ n remplaçats per una version ANTERIORA :" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Lo paquet seguent serĂ  reĂŻnstallat :" msgstr[1] "Los %(count)s paquets seguents serĂ n reĂŻnstallats :" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Lo paquet seguent es estat conservat :" msgstr[1] "Los %(count)s paquets seguents son estats conservats :" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "%s octets an d'èsser telecargats." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Aprèp aquesta operacion, %s octets d'espaci de disc serĂ n utilizats." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Aprèp aquesta operacion, %s octets d'espaci de disc serĂ n liberats." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Volètz contunhar [O/N] ?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Per tractar mantun paquet a l'encòp, plaçatz lors noms entre verguetas :\n" "aptdcon --install \"truc machin\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Refrescar l'escondedor" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Ensajatz de reparar las dependĂ©ncias copadas. Aquesta operacion es " "potencialament dangierosa, perque pòt menar a la supression de fòrça paquets." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Ensaja d'acabar una installacion precedenta incompleta" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Installa los paquets especificats" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ReĂŻnstalla los paquets especificats" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "SuprimĂ­s los paquets especificats" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "SuprimĂ­s completament los paquets especificats, incluses los fichièrs de " "configuracion" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Tornar a la version precedenta dels paquets especificats" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Desconselhat : utilizatz --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Met a jorn lo sistèma d'un biais securizat" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Met a jorn lo sistèma amb possibilitat d'apondon e de supression de paquets" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Apond als provesidors fisables" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Apond la clau del provesidor (necessita tanben --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Utiliza lo servidor de claus especificat per la recèrca de claus" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Apond un depaus novèl a partir de la linha deb especificada" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Especificar un fichièr sources.list.d alternatiu al qual los depauses devon " "èsser aponduts" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Fa la lista de las claus dels provesidors de fisança" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "SuprimĂ­s la clau de fisança qu'an l'emprencha especificada" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigura los paquets installats. Es possible de reglar la prioritat de " "las questions." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Prioritat debconf minimala de la question d'afichar" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Estacar pas al terminal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Autorizar los paquets que provenon de fonts pas autentificadas" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Aficha d'informacions suplementĂ rias suls paquets. Actualament unicament lo " "numèro de version" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "En espèra d'autentificacion" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Quitar pas lo demon s'es inactiu" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Cargar pas cap d'extension" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Afichar las informacions intèrnas de tractament" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Quitar e reaviar un demon en cors d'execucion" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "En escota sul bus de sesilha DBus (requesit unicament per de tèsts" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Efectua las operacions dins l’environament chroot especificat" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Enregistrar las estatisticas del perfil dins lo fichièr especificat" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Far pas cap de modificacion sul sistèma (Util solament pels desvolopaires)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Fichièr installat" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paquets installats" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Clau aponduda dempuèi un fichièr" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Escondedor mes a jorn" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Recèrca acabada" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Clau de fisança suprimida" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Paquets suprimits" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Paquets meses a jorn" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistèma mes a nivèl" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Cambiaments aplicats" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Installacion incompleta reparada" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "DependĂ©ncias copadas reparadas" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Font de logicials aponduda" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Component de la distribucion activat" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Paquets telecargats suprimits" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Paquets installats reconfigurats" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Amb succès" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Anullat" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "FracĂ s" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installacion del fichièr" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installacion dels paquets" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Apondon de la clau dempuèi un fichièr" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Mesa a jorn de l'escondedor" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Supression de la clau de fisança" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Supression dels paquets" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Mesa a jorn dels paquets" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Mesa a nivèl del sistèma" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Aplicacion dels cambiaments" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Reparacion d'una installacion incompleta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Reparacion dels logicials installats" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Apondon d'una font de logicials" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Activacion d'un component de la distribucion" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Supression dels paquets telecargats" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Reconfiguracion dels paquets installats" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Recèrca en cors" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "L'installacion del paquet logicial a fracassat" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "L'installacion dels logicials a fracassat" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "L'apondon de la clau a la lista dels editors de logicials de fisança a " "fracassat." #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "L'actualizacion de la lista dels logicials a fracassat" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "La supression del provesidor de logicials de la lista dels provesidors " "fisables a fracassat." #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "La supression dels logicials a fracassat" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "La mesa a jorn dels logicials a fracassat" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "La mesa a jorn del sistèma a fracassat" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Las modificacions logicialas an fracassat." #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "FracĂ s de la reparacion d'una installacion incompleta" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "FracĂ s de la reparacion de las dependĂ©ncias copadas" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "L'apondon de la font de logicials a fracassat" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "L'activacion del component de la distribucion a fracassat" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "La supression dels paquets telecargats a fracassat" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "La recèrca a fracassat" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Apondon de la clau de licĂ©ncia" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Verificatz vòstra connexion a Internet" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Verificatz s'utilizatz de depauses de partidas tèrças. S'es lo cas, " "desactivatz-los perque de còps son font de problèmas.\n" "A mai d'aquò, executatz la comanda seguenta dins un terminal : sudo apt-get " "install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Benlèu lo fichièr seleccionat es pas una clau GPG o es possible que siá " "corrumput." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Impossible de suprimir la clau seleccionada. Verificatz que l'emprencha " "especificada es valida." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Verificatz s'executatz pas un autre gestionari de paquets, per exemple " "Synaptic o Aptitude. Una sola aisina es autorizada a aportar de cambiaments " "a l'encòp." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Aquò's un problèma seriĂłs. Tornatz ensajar mai tard. Se lo problèma " "persistĂ­s, senhalatz-lo als desvolopaires." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Verificatz que lo nom del paquet es escrich corrèctament e que lo depaus " "apropriat es actiu." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Cap de mesa a jorn es pas necessĂ ria." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Cap d'installacion es pas necessĂ ria." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Cap de supression es pas necessĂ ria." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Avètz demandat a suprimir un paquet essencial al foncionament del sistèma." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "La connexion al demòni es estada perduda. Es probablament perque lo demòni a " "quitat inopinèament." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "L'installacion o la supression d'un paquet logicial a fracassat." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "La foncionalitat demandada es pas presa en carga." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Sembla qu'i a una error logiciala dins aptdaemon, lo programa que vos permet " "d'installar e suprimir de logicials e tout autre prètzfach ligat a la " "gestion dels paquets." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Aquesta error pòt èsser provocada per de paquets suplementaris requesits, " "mas absents ou pas installables. En otra, i poiriá aver un conflicte entre " "d'unes paquets que pòdon pas èsser installats a l'encòp." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Aquò necessita l'installacion de paquets dempuèi de fonts pas autentificadas." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Benlèu que l'installacion a fracassat a causa d'una error dins lo paquet o " "perque es estada interrompuda brutalament. Vos cal corregir aquò abans de " "poder installar o suprimir d'autres logicials." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Copiatz lo fichièr sus vòstre ordenador e verificatz-ne las permissions." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "L'installacion d'un paquet que respècta pas los estandards de qualitat es " "pas autorizada. Aquò poiriá engendrar de problèmas dels grèus sus vòstre " "ordenador. Contactatz la persona o l'organizacion qu'a provesit aquel paquet " "en incluissent las entresenhas çaijĂłs." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "La clau de licĂ©ncia telecargada qu'es necessĂ ria per aviar aqueste logicial " "es pas valabla o a pas pogut èsser installada corrèctament.\n" "Vejatz los detalhs per mai d'informacions." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Totas las mesas a jorn disponiblas son ja estadas installadas." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "La clau de licĂ©ncia que vos permet d'utilizar aqueste logicial a pas pogut " "èsser telecargada. Verificatz vòstra connexion ret." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" "Avètz pas obtengut los privilègis requesits per executar aquesta accion." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Avètz ja dintrat un marrit senhal o tampat l'instĂ ncia d'autorizacion.\n" "Tanben, es possible qu'i aja una rason tecnica a aquesta error s'avètz pas " "vist cap de dialòg de demanda de senhal : vòstre environament de burèu " "provesĂ­s pas un agent de sesilha PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "FracĂ s del telecargament dels paquets" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "FracĂ s del telecargament de las informacions del depaus" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Impossible de resòlvre las dependĂ©ncias del paquet" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Lo sistèma de paquets es copat" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "La clau es pas estada installada" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "La clau es pas estada suprimida" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Impossible de varrolhar lo gestionari de paquets" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Impossible de cargar la lista dels paquets" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Lo paquet existĂ­s pas" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Lo paquet es ja a jorn" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Lo paquet es ja installat" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Lo paquet es pas installat" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Impossible de suprimir un paquet essencial del sistèma" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Lo prètzfach pòt pas èsser seguit ni contrarotlat" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "FracĂ s de tractament del paquet" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Necessita l'installacion de paquets pas verificats" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "L'installacion precedenta èra incompleta" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Lo paquet es de marrida qualitat" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Impossible de dobrir lo paquet" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Foncionalitat pas presa en carga" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "FracĂ s del telecargament de la clau de licĂ©ncia" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "FracĂ s al moment de l'installacion de la clau de licĂ©ncia" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Lo sistèma es ja a jorn" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Avètz pas pogut èsser autorizat" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Sètz pas autorizat a executar aquesta accion" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Una error impossibla de tractar s'es producha" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "En espèra d'aviada del servici" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "En espèra" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "En espèra del mèdia requesit" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "En espèra de fin d'execucion d'un autre gestionari de paquets" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "En espèra d'una demanda de configuracion" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Execucion del prètzfach" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Telecargament" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Interrogacion de las Fonts de Logicials" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Netejatge" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Acabat" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Anullacion" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Cargament de la lista dels logicials" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installacion de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configuracion de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Supression de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Supression completa de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Desaparicion de %s constatada" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Execucion de las accions diferidas (« trigger ») de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Mesa a jorn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Descompression de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Installacion de %s en preparacion" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Preparacion de la configuracion de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Preparacion de la supression de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Preparacion de la supression completa de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s es estat installat" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s es estat suprimit completament." #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s es estat suprimit" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Tractament de %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Acabat" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "L'autentificacion a fracassat" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Recepcion" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Al repaus" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "La ret es pas disponibla" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalhs" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fichièr" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%s octets telecargats" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Telecargat" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Lo CD/DVD « %s » es requeqit" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Installatz lo CD çaisĂşs dins lo lector « %s » per installar los paquet que " "s'i tròban." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontunhar" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Installar" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ReĂŻnstallar" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Suprimir" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Purgar" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Metre a jorn" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Tornar a una version anteriora" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Ignorar la mesa a nivèl" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Consultatz la lista dels cambiaments çaijĂłs." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "De logicials suplementaris devon èsser installats." #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "De logicials suplementaris devon èsser reĂŻnstallats." #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "De logicials suplementaris devon èsser desinstallats." #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "De logicials suplementaris devon èsser suprimits completament." #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "De logicials suplementaris devon èsser meses a jorn." #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" "De logicials suplementaris an d'èsser reĂ®nstallats en version mai anciana." #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Las mesas a jorn serĂ n ignoradas." #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "De cambiaments suplementaris son requesits." #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%s octets serĂ n telecargats al total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%s octets d'espaci de disc serĂ n liberats." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%s octets d'espaci de disc suplementari serĂ  utilizat." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Remplaçar las modificacions qu'aviatz efectuadas dins '%s' per una version " "ulteriora del fichièr de configuracion ?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Se sabètz pas perquĂ© lo fichièr es ja aicĂ­, es generalament sens dangièr de " "lo remplaçar." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Modificacions" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Conservar" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Remplaçar" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalhs" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "En espèra de tampadura de %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Telecargament de %(files)s" msgstr[1] "Telecargament de %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "depaus local" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Telecargament dempuèi %s" msgstr[1] "Telecargament dempuèi %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Composicion de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Descripcion de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Descripcion de la signatura de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Paquets disponibles dins lo depaus %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Fonts disponiblas dempuèi %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Traduccions disponiblas dempuèi %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Traduccions pel %s (%s) dins lo depaus %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Traduccions pel %s dins lo depaus %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traduccions (%s) de %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Lo paquet %s es pas disponible" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Lo paquet %s es pas installat" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "La version %s de %s es pas installada" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Lo paquet %s es ja installat" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "La version %s de %s es pas disponibla" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "L'URL del servidor de claus es invalida : %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Protocòl del servidor invalid : %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Identificant de clau invalid : %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "FracĂ s del telecargament e de l'installacion de la clau %s a partir de %s :\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Impossible d'installar la clau %s : %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Impossible de suprimir la clau qu'an l'emprencha %s : %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Impossible de suprimir lo paquet %s" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "La version %s de %s es pas installada" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Una version anteriora (%s) de %s es ja installada" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "La version %s de %s es ja installada" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "La version %s de %s es pas disponibla" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Vos cal especificar la version cap a la quala volètz tornar %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "La darrièra version (%s) de %s es ja installada" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Lo paquet %s es pas disponible dins la distribucion %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Impossible de suprimir lo paquet %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Lo paquet provesĂ­s pas un camp de contraròtle de talha valida. Cf. politica " "Debian 5.6.20" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "La clau de licĂ©ncia es voida" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "La clau de licĂ©ncia pòt pas contĂ©ner de còde executable." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Lo camin de la clau de licĂ©ncia %s es pas valide" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "La clau de licĂ©ncia existĂ­s ja : %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "L'emplaçament de la clau de licĂ©ncia es pas securizat perque conten de " "ligams simbolics. Lo camin %s renvia a %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Lo dorsièr ont installar la clau existĂ­s pas pel moment : %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "FracĂ s al moment de l'escritura del fichièr clau dins : %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Los paquets seguents contenon de dependĂ©ncias pas satisfachas :" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "mas es un paquet virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "mas es pas installat" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "mas serĂ  pas installat" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "mas %s es installat" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "mas %s deu èsser installat" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "L'apondon de la clau a la lista dels provesidors de logicials de fisables a " #~ "fracassat." aptdaemon-1.1.1/po/km.po0000644000175000017500000020470212117271433015633 0ustar renaterenate00000000000000# translation of po_aptdaemon-km.po to Khmer # Khoem Sokhem , 2012. # Khmer translation for aptdaemon msgid "" msgstr "" "Project-Id-Version: po_aptdaemon-km\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-04-03 02:39+0000\n" "Last-Translator: Khoem Sokhem \n" "Language-Team: Khmer \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "រាយ​បញ្ជី​សោ​​របស់​ក្រុážáž áźŠáž»áž“​លក់​ដែល​ជឿ​ទុកចិត្ត" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "ážážľáž›â€‹áž”ញ្ជី​របស់​​សោ​​​ដែល​ជឿ​ទុកចិត្ត អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ " "áź”" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "យក​ឯកសារ​កញ្ចប់​ដែល​បាន​ទាញ​យក​ចáźáž‰" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "ážźážáź’អាត​ឯកសារ​កញ្ចប់​ដែល​បាន​ទាញ​យក អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "ផ្លាស់ប្ដូរ​ការ​កំណត់​រចនាសážáź’áž–áźáž“្ធ​ផ្នែកទន់" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "ផ្លាស់ប្ដូរ​ការ​កំណត់​ផ្នែក​ទន់ អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "ផ្លាស់ប្ដូរ​ážáź’លាំង​ផ្នែកទន់" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "ផ្លាស់ប្ដូរ​ការ​កំណត់​ážáź’លាំង​ផ្នែក​ទន់ " "អ្នក​​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ដំឡើង​ឯកសារ​កញ្ចប់" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "ដំឡើង​កញ្ចប់​នáźáź‡ áž˘áź’áž“áž€â€‹áž…áž¶áź†áž”áž¶áž…áź‹â€‹áž•áź’áž‘áź€áž„áž•áź’áž‘áž¶ážŹáź‹â€‹áž—áž¶áž–â€‹â€‹ážŹáź’ážšážąážážŹáź’រូវ áź”" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ធ្វើ​បច្ចុប្បន្នភាព​ពáźážŹáźŚážáž¶áž“​កញ្ចប់" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "ធ្វើ​បច្ចុប្បន្នភាព​កាតាឡុក​ផ្នែក​ទន់ " "អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ដំឡើង ឬ​យក​កញ្ចប់​ចáźáž‰" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "ដំឡើង ឬ​យក​ផ្នែក​ទន់​ចáźáž‰ អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "បន្ážáź‚ážâ€‹ážáź’លាំង​ážáź’ážáž¸ និង​ដំឡើង​កញ្ចប់​ពី​​​​ážáź’លាំង​នáźáź‡" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "ដំឡើង​ផ្នែក​ទន់​ពី​ប្រភព​ážáź’ážáž¸ អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "បន្ážáź‚ážâ€‹ážáź’លាំង​ážáź’ážáž¸â€‹áž“áźâ€‹áž•្នែក​ទន់​ដែល​បាន​ជាវ ហើយ​ដំឡើង​កញ្ចប់​ពី​វា" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "ដំឡើង​ផ្នែក​ទន់​ដែល​បាន​ជាវ អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ធ្វើ​ឲ្យ​កញ្ចប់​ប្រសើរ​ឡើង" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "ដំឡើង​ផ្នែក​ទន់​ដែល​បាន​ធ្វើ​បច្ចុប្បន្នភាព " "អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "បោះបង់​​កិច្ចការ​របស់​អ្នក​ប្រើ​ផ្សáźáž„ទៀត" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "បោះបង់​ការ​ផ្លាស់ប្ដូរ​ផ្នែក​ទន់​ផ្សáźáž„​ទៀត " "អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "កំណត់​ប្រូកស៊ី​សážáź’រាប់​ការ​ទាញ​យក​ផ្នែក​ទន់" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "ប្រើ​ážáź‰áž¶ážźáźŠáž¸áž“​បážáź’រើ​ប្រូកស៊ី​សážáź’រាប់​​ទាញ​យក​ផ្នែក​ទន់ " "អ្នក​ចាំបាច់​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ áź”" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "កំហុស" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "បាន​ទាញ​យក %sB of %sB at %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "ទាញ​យក %sB of %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "កំហុស áź–" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "អ្នក​ážáž·áž“​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ប្រតិបត្តិ​សកážáź’ážáž—ាព​នáźáź‡â€‹áž‘áź áź”" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "រៀប​ជា​ជួរ" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ដោះស្រាយ​ភាព​អាស្រáźáž™" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "កញ្ចប់​ážáź’ážáž¸â€‹ážŠážĽáž…​ážáž¶â€‹áž„ក្រោážâ€‹áž“ឹង​ត្រូវ​បាន​ដំឡើង (%(count)s): ៖" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" "កញ្ចប់​ដូច​ážáž¶áž„​ក្រោážâ€‹áž“ឹង​ត្រូវ​បាន​ធ្វើ​ឲ្យ​ប្រសើ​រឡើង (%(count)s): ៖" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "កញ្ចប់​ដូច​ážáž¶áž„​ក្រោážâ€‹áž“ឹង​ត្រូវ​បាន​យក​ចáźáž‰ (%(count)s): ៖" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "កញ្ចប់​ដូច​ážáž¶áž„​ក្រោážâ€‹áž“ឹង​ត្រូវ​បាន​បន្ទាប (%(count)s): ៖" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "កញ្ចប់​ដូច​ážáž¶áž„​​ក្រោážâ€‹áž“ឹង​ត្រូវ​បាន​ដំឡើង​ឡើង​វិញ (%(count)s): ៖" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "កញ្ចប់​ដូច​ážáž¶áž„ក្រោážâ€‹ážŹáź’រូវ​បាន​​បន្ážáž™â€‹áž€áź’រោហ(%(count)s): ៖" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "ត្រូវ​ទទួល​យក %sB áž“áźâ€‹â€‹â€‹áž”áźážŽáź’ណសារ áź”" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "បន្ទាប់​ពី​​ការ​ប្រតិបត្តិការ​នáźáź‡ %sB áž“áźâ€‹áž‘ំហំ​ážáž¶ážźâ€‹áž”ន្ážáź‚ážâ€‹áž“ឹង​ត្រូវ​បាន​ប្រើ áź”" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "បន្ទាប់​ពី​ការ​ប្រតិបត្តិការ​នáźáź‡ %sB áž“áźâ€‹áž‘ំហំ​ážáž¶ážźâ€‹áž”ន្ážáź‚ážâ€‹áž“ឹង​​ទំនáźážš áź”" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "តើ​អ្នក​ចង់​បន្ត​ [Y/n] ឬ ?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "ដើážáź’បី​ប្រតិបត្តិ​ការ​​​កញ្ចប់​ច្រើន​ជាង​ážáž˝áž™ " "ដាក់​ážáź’ážáź„ះ​កញ្ចប់​នៅ​ក្នុង​សញ្ញា​​សážáź’រង់ áź–\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "ធ្វើ​ឲ្យ​ážáź’លាំង​ស្រស់" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "ព្យាយាážâ€‹â€‹ážŠáź„ះស្រាយ​ភាព​អាស្រáźáž™â€‹ážŠáź‚ល​ážážĽáž… áź” ប្រតិបត្តិការ​ážáž¶áž“​​គ្រោះážáź’នាក់ " "នៅ​ពáźáž›â€‹â€‹áž–្យាយាážâ€‹áž™áž€â€‹áž€áž‰áź’ចប់​ជា​ច្រើន​ចáźáž‰ áź”" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ព្យាយាážâ€‹áž”ញ្ចប់​ការ​ដំឡើង​ដែល​ážáž·áž“​ទាន់​បាន​បញ្ចប់​ážáž»áž“" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ដំឡើង​កញ្ចប់​ដែល​បាន​ផ្ដល់" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ដំឡើង​កញ្ចប់​ដែល​បាន​ផ្ដល់​ឡើងវិញ" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "យក​កញ្ចប់​ដែល​បាន​ផ្ដល់​ចáźáž‰" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "យក​កញ្ចប់​ដែល​បាន​ផ្ដល់​ចáźáž‰â€‹ážšáž˝ážâ€‹áž“ឹង​ឯកសារ​ការ​កំណត់​រចនាសážáź’áž–áźáž“áź’áž’" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "បន្ទាប​កញ្ចប់​ដែល​បាន​ផ្ដល់" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "បាន​បដិសáźáž’ áź– សូážâ€‹áž”្រើ​ --សុវត្ážáž·áž—ាព​ធ្វើ​ឲ្យ​ប្រសើរ​ឡើង" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "ធ្វើ​ឲ្យ​ប្រពáźáž“្ធ​នៅ​ក្នុង​ážáž’្យោបាយ​សុវត្ážáž·áž—ាព​ប្រសើរ​ឡើង" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "ធ្វើ​ឲ្យ​ប្រពáźáž“្ធ​ប្រសើរ​ឡើង ​ការ​ដំឡើង និង​យក​កញ្ចប់​ចáźáž‰" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "បន្ážáź‚ážâ€‹áž€áź’ážšáž»ážáž áźŠáž»áž“​លក់​​​ដែល​ជឿ​ទុកចិត្ត" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "បន្ážáź‚ážâ€‹â€‹áž›áźážâ€‹ážźážáź’គាល់​សោ​ក្រុážáž áźŠáž»áž“​លក់​ (ចាំបាច់​ផង​ដែរ --ážáź‰áž¶ážźáźŠáž¸áž“​បážáź’រើ​សោ)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "ប្រើ​ážáź‰áž¶ážźáźŠáž¸áž“​បážáź’រើ​សោ​ដែល​បាន​ផ្ដល់​សážáź’រាប់​ស្វែងរក​សោ" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "បន្ážáź‚ážâ€‹ážáź’លាំង​ážáź’ážáž¸â€‹áž–ី deb-line ដែល​បាន​ផ្ដល់" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "បញ្ជាក់​ឯកសារ sources.list.d ដែល​ážáź’លាំង​គួរ​តែ​ត្រូវ​បាន​បន្ážáź‚áž áź”" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "រាយ​បញ្ជី​សោ​ក្រុážáž áźŠáž»áž“​លក់​ដែល​ជឿ​ទុកចិត្ត" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "យក​សោ​ដែល​ជឿ​ទុកចិត្ត​​នáźâ€‹ážźáź’នាážâ€‹ážáź’ážšáž¶ážážŠáźâ€‹ážŠáź‚ល​បាន​ផ្ដិត​ចáźáž‰" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "កំណត់​រចនាសážáź’áž–áźáž“្ធ​​កញ្ចប់​ដែល​បាន​ដំឡើង​​ឡើងវិញ áź” " "អាទិភាព​អប្បបរážáž¶â€‹áž“áźâ€‹ážźáź†ážŽáž˝ážšâ€‹ážŠáź‚ល​អាច​ត្រូវ​បាន​បញ្ជាក់" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "អាទិភាព debconf អប្បបរážáž¶â€‹áž“áźâ€‹ážźáź†ážŽáž˝ážšâ€‹ážŠáź‚ល​ត្រូវ​បាន​បង្ហាញ" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "កុំ​ភ្ជាប់​ជាážáž˝áž™â€‹ážźáź’ážáž¶áž“ីយ apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "អនុញ្ញាត​ឲ្យ​កញ្ចប់​ពី​ប្រភព​ដែល​ážáž·áž“​បាន​ផ្ទៀងផ្ទាត់​ភាព​​ត្រឹážážŹáź’រូវ" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "បង្ហាញ​ពáźážŹáźŚážáž¶áž“​បន្ážáź‚ážâ€‹â€‹áž˘áź†áž–ី​កញ្ចប់ áź” បច្ចុប្បន្ន​ážáž¶áž“​តែ​លáźážâ€‹áž€áź†ážŽáź‚​ប៉ុណ្ណោះ" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "រង់ចាំ​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "កុំ​បិទ​ដáźážáž·áž“ ដោយសារ​តែ​អសកážáź’ážáž—áž¶áž–" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "កុំ​ផ្ទុក​កážáź’ážážśáž·áž’ី​ជំនួយ" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "បង្ហាញ​ពáźážŹáźŚážáž¶áž“​អំពី​ដំណើរការ​ážáž¶áž„ក្នុង" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "បោះបង់ និង​ជំនួស​ដáźážáž·áž“​ដែល​​ដំណើរការ​រួច​ហើយ" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "ស្ដាប់​ážáź’សែ​បញ្ជូន​សážáźáž™â€‹ážšáž”ážźáź‹ DBus (បាន​ទាážáž‘ារ​ឲ្យ​ážáž¶áž“​ការ​សាកល្បង" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "ធ្វើ​ប្រតិបត្តិការ​នៅ​ក្នុង chroot ដែល​បាន​ផ្ដល់" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "រក្សាទុក​ទážáź’រង់​នៅ​ក្នុង​ឯកសារ​ដែល​បាន​បញ្ជាក់" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "កុំ​ធ្វើ​ការ​ផ្លាស់ប្ដូរ​ទៅ​កាន់​ប្រពáźáž“áź’áž’ " "(ប្រើ​តែ​ចំពោះ​អ្នក​អភិវឌ្ឍន៍​ប៉ុណ្ណោះ)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "បាន​ដំឡើង​ឯកសារ" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "បាន​ដំឡើង​កញ្ចប់" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "បាន​បន្ážáź‚ážâ€‹ážźáź„​ពី​ឯកសារ" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "បាន​ធ្វើ​បច្ចុប្បន្ន​ážáź’លាំង" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "ស្វែងរក​រួចហើយ" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "បាន​យក​សោ​ដែល​បាន​ជឿ​ទុកចិត្ត​ចáźáž‰" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "បាន​យក​កញ្ចប់​ចáźáž‰" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "បាន​ធ្វើ​បច្ចុប្បន្នភាព​កញ្ចប់" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "បាន​ធ្វើ​ឲ្យ​ប្រពáźáž“្ធ​ប្រសើរ" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "បាន​អនុវត្ត​ការ​ផ្លាស់ប្ដូរ" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "បាន​ជួសជុល​ការ​ដំឡើង​ដែល​ážáž·áž“​ទាន់​បាន​បញ្ចប់" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "បាន​ជួសជុល​ភាព​អាស្រáźáž™â€‹ážŠáź‚ល​ážážĽáž…" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "បាន​បន្ážáź‚ážâ€‹áž”្រភព​ផ្នែក​ទន់" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "បាន​បើក​សážáž¶ážźáž—ាគ​នáźâ€‹áž€áž¶ážšâ€‹áž…ែកចាយ" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "បាន​យក​ឯកសារ​កញ្ចប់​ដែល​បាន​ទាញ​យក​ចáźáž‰" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "បាន​កំណត់​រចនាសážáź’áž–áźáž“្ធ​កញ្ចប់​ដែល​បាន​ដំឡើង​ឡើងវិញ" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ជោគជáźáž™" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "បាន​បោះបង់" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "បរាជáźáž™" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ដំឡើង​ឯកសារ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ដំឡើង​កញ្ចប់" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "បន្ážáź‚ážâ€‹ážźáź„​ពី​ឯកសារ" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ធ្វើ​បច្ចុប្បន្នភាព​ážáź’លាំង" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "យក​សោ​ដែល​ជឿ​ទុកចិត្តចáźáž‰" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "យក​កញ្ចប់​ចáźáž‰" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "ធ្វើ​បច្ចុប្បន្នភាព​កញ្ចប់" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "ធ្វើ​ឲ្យ​ប្រពáźáž“្ធ​ប្រើសើរ" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "អនុវត្ត​ការ​ផ្លាស់ប្ដូរ" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "ជួសជុល​ការ​ដំឡើង​ដែល​ážáž·áž“​ទាន់​បាន​បញ្ចប់" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "ជួសជុល​ផ្នែក​ទន់​ដែល​បាន​ដំឡើង" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "បន្ážáź‚ážâ€‹áž”្រភព​ផ្នែក​ទន់" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "បើក​សážáž¶ážźáž—ាគ​នáźâ€‹â€‹áž€áž¶ážšâ€‹áž…ែកចាយ" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "យក​ឯកសារ​កញ្ចប់​ដែល​បាន​ទាញ​យក​ចáźáž‰" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "កំណត់​រចនាសážáź’áž–áźáž“្ធ​កញ្ចប់​ដែល​បាន​ដំឡើង​ឡើងវិញ" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "ស្វែងរក" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ដំឡើង​ឯកសារ​កញ្ចប់" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ដំឡើង​​ផ្នែក​ទន់" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ធ្វើ​ឲ្យ​បញ្ជី​ផ្នែក​ទន់​ស្រស់" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​យក​ក្រុážáž áźŠáž»áž“​លក់​ចáźáž‰â€‹áž–ី​បញ្ជី​ដែល​ជឿ​ទុកចិត្ត" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​យក​ផ្នែក​ទន់​ចáźáž‰" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ធ្វើ​បច្ចុប្បន្នភាព​ផ្នែក​ទន់" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ធ្វើឲ្យ​ប្រពáźáž“្ធ​ប្រសើរ​ឡើង" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​អនុវត្ត​ការ​ផ្លាស់ប្ដូរ​ផ្នែក​ទន់" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ជួសជុល​ការ​ដំឡើង​ដែល​ážáž·áž“​ទាន់​បាន​បញ្ចប់" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ជួសជុល​ភាព​អាស្រáźáž™â€‹ážŠáź‚ល​ážážĽáž…" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​បន្ážáź‚ážâ€‹áž”្រភព​ផ្នែក​ទន់" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​បើក​សážáž¶ážźáž—ាគ​​នáźâ€‹áž€áž¶ážšâ€‹áž…ែកចាយ" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​យក​​ឯកសារ​កញ្ចប់​ដែល​បាន​ទាញ​យក​ចáźáž‰" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "បាន​បរាជáźáž™â€‹â€‹áž€áž¶ážšâ€‹ážźáź’វែងរក" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "បន្ážáź‚ážâ€‹ážźáź„​អាជ្ញាបáźážŽáź’ណ" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "ពិនិត្យ​ážážľáž›â€‹áž€áž¶ážšâ€‹ážŹáž—្ជាប់​អ៊ីនធឺណិត​របស់​អ្នក áź”" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "ពិនិត្យ​ážážľáž› ប្រសិនបើ​អ្នក​កំពុង​ប្រើ​ážáź’លាំង​ភាគី​ទី​បី áź” ប្រសិនបើ​បិទ " "នៅ​ពáźáž›â€‹ážŠáź‚ល​ពួកវា​ážáž¶áž“​ប្រភព​បញ្ហា áź”\n" "រត់​​ពាក្យ​បញ្ជា​នៅ​ក្នុង​ស្ážáž¶áž“ីយ áź– apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "ឯកសារ​ដែល​បាន​ជ្រើស​​អាច​ážáž·áž“​ážáź‚ន​​ជា​ឯកសារ​សោ​របស់ GPG ឬ​វា​អាច​ážážĽáž… áź”" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "សោ​ដែល​បាន​ជ្រើស​ážáž·áž“​អាច​យក​ចáźáž‰â€‹áž”ាន​ទ០។ " "ពិនិត្យ​ážážľáž›â€‹ážáž¶â€‹áž˘áź’នក​បាន​ផ្ដិត​ážáź’ážšáž¶ážâ€‹ážŠáźâ€‹ážŹáź’ážšážąážážŹáź’រូវ​​ហើយ​ áź”" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "ពិនិត្យážážľáž› " "ប្រសិនបើ​​អ្នក​កំពុង​ដំណើរការ​ឧបករណ៍​ការ​គ្រប់គ្រង​ផ្នែក​ទន់​បច្ចុប្បន្ន áž§. " "Synaptic ឬ aptitude áź” " "អនុញ្ញាត​ឲ្យ​តែ​ឧបករណ៍​​ប៉ុណ្ណោះ​ធ្វើ​ការ​ផ្លាស់ប្ដូរ​​នៅ​ពáźáž›â€‹ážŹáź‚​ážáž˝áž™â€‹áž”áž¶áž“ áź”" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "វា​ជា​បញ្ហា​ធ្ងន់ធ្ងរ áź” ព្យាយាážážáź’ដងទៀត áź” " "ប្រសិនបើ​នៅ​តែ​ážáž¶áž“​បញ្ហា​លáźáž…ឡើង​ទៀត​នោះ " "សូážâ€‹ážšáž¶áž™áž€áž¶ážšážŽáźŤâ€‹áž€áź†áž áž»ážźâ€‹â€‹áž‘ៅ​អ្នក​អភិវឌ្ឍន៍ áź”" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "ពិនិត្យážážľáž›â€‹áž˘áž€áź’ážážšáž¶ážśáž·ážšáž»áž‘្ធ​នáźâ€‹ážáź’ážáź„ះ​កញ្ចប់ នោះ​ážáź’លាំង​នឹង​ត្រូវ​បាន​បើក​ áź”" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "ážáž·áž“​ចាំបាច់​ធ្វើ​បច្ចុប្បន្នភាព​​ឡើយ áź”" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "ážáž·áž“​ចាំបាច់​​​​ការ​ដំឡើង​ឡើយ" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "ážáž·áž“​ចាំបាច់​​ការ​យកចáźáž‰â€‹ážˇážľáž™ áź”" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "អ្នក​បាន​ស្នើ​យក​កញ្ចប់​ចáźáž‰â€‹ážŠáź‚ល​ជា​ផ្នែក​ចាំបាច់​របស់​ប្រពáźáž“្ធ​របស់​អ្នក áź”" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "ការ​តភ្ជាប់​ទៅកាន់​ដáźážáž·áž“​ážážĽáž… áź” ភាគច្រើន​ដáźážáž·áž“​ផ្ទáźážáž¶áž„ក្រោយ​គាំង áź”" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​​ដំឡើង ឬ​​ក្នុង​ការ​យក​កញ្ចប់​ផ្នែក​ទន់​ចáźáž‰ áź”" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "ážáž·áž“​គាំទ្រ​លក្ážážŽâ€‹áž–áž·ážźáźážźâ€‹ážŠáź‚ល​បាន​ស្នើ​ឡើយ" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "ហាក់​បី​ដូច​​ជា​​ážáž¶áž“​កំហុស​ក្នុង​ការ​សរសáźážšâ€‹áž€ážáź’ážážśáž·áž’ី​នៅ​ក្នុង aptdaemon " "ផ្នែក​ទន់​ដែល​អនុញ្ញាត​ឲ្យ​អ្នក ដំឡើង/​យក​ចáźáž‰ ផ្នែក​ទន់ " "ត្រូវ​ប្រតិបត្តិ​កិច្ចការ​ដែល​ទាក់ទង​ការ​គ្រប់គ្រង​កញ្ចប់​ផ្សáźáž„ áź”" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "កំហុស​នáźáź‡â€‹áž˘áž¶áž…​បណ្ដាល​ážáž€â€‹áž–ី​​​កញ្ចប់​ផ្នែក​ទន់​​​បន្ážáź‚ážâ€‹ážŠáź‚ល​បាន​ទាážáž‘áž¶ážš " "ážážĽáž…​ឬ​ážáž·áž“​អាច​ដំឡើង​បាន áź” អាច​ប៉ះ​ទង្គិច​រវាង​កញ្ចប់​ផ្នែក​ទន់ " "ដែល​ážáž·áž“​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ដំឡើង​នៅ​ពáźáž›â€‹ážŹáź‚ážáž˝áž™ áź”" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "ការ​ដំឡើង​អាច​បរាជáźáž™ " "ដោយសារ​តែ​​ážáž¶áž“​កំហុស​នៅ​ក្នុង​កញ្ចប់​ផ្នែក​ទន់​ážáž·áž“​ត្រូវគ្នា " "ឬ​វា​អាច​ត្រូវ​បាន​បោះបង់​ áź” អ្នក​ត្រូវ​ជួសជុល​វា​សិន ážáž»áž“​ពáźáž›â€‹áž˘áź’នក​ដំឡើង " "ឬ​យក​ផ្នែក​ទន់​ចáźáž‰ áź”" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "សូážâ€‹áž…ážáź’លង​ឯកសារ​ទៅកាន់​កុំព្យូទáźážšâ€‹ážážĽáž›ážŠáź’ឋាន​របស់​អ្នក " "ហើយ​ពិនិត្យ​ážážľáž›â€‹ážźáž·áž‘្ធ​ឯកសារ áź”" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "ការ​ដំឡើង​កញ្ចប់​​ដែល​ផ្អាក​ស្តង់ដារ​គុណភាព​ážáž·áž“​​ត្រូវ​បាន​អនុញ្ញាត​ឡើយ áź” " "វា​​អាច​បណ្ដាល​ឲ្យ​ážáž¶áž“​បញ្ហា​ធ្ងន់ធ្ងរ​នៅ​លើ​កុំព្យូទáźážšâ€‹ážšáž”ស់​អ្នក áź” " "សូážâ€‹áž‘ាក់ទង​អង្គភាព ឬ​អ្នក​ដែល​បាន​ផ្ដល់​ឯកសារ​កញ្ចប់​នáźáź‡ áź”" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "សោ​អាជ្ញាបáźážŽáź’ណ​ដែល​បាន​ទាញ​យក​ត្រូវ​បាន​ទាážáž‘áž¶ážš " "ដើážáź’បី​ដំណើរការ​ផ្នែក​ទន់​​ážáž·áž“​ត្រឹážážŹáź’រូវ " "ឬ​ážáž·áž“​អាច​ត្រូវ​បាន​​​ដំឡើង​​​បច្ចុប្បន្ន áź”\n" "ážážľáž›â€‹ážźáźáž…ក្ដី​លážáź’អិត​សážáź’រាប់​ពáźážŹáźŚážáž¶áž“​បន្ážáź‚áž áź”" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "ការ​ធ្វើ​ឲ្យ​ប្រសើរ​ឡើង​​ដែល​ážáž¶áž“​ទាំងអស់​ត្រូវ​បាន​ដំឡើង​រួច​ហើយ áź”" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "សោ​អាជ្ញាបáźážŽáź’ណ​​ដែល​អនុញ្ញាត​ឲ្យ​អ្នក​ប្រើ​ផ្នែក​ទន់​អាច​ážáž·áž“​ត្រូវ​បាន​ទាញ​យក" " áź” សូážâ€‹áž–ិនិត្យ​ážážľáž›â€‹áž€áž¶ážšâ€‹ážŹáž—្ជាប់​បណ្ដាញ​របស់​អ្នក áź”" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ទាញ​យក​ឯកសារ​កញ្ចប់" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ទាញ​យក​ពáźážŹáźŚážáž¶áž“​​ážáź’លាំង" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "ážáž·áž“​អាច​ដោះស្រាយ​ភាព​អាស្រáźáž™â€‹ážšáž”ស់​កញ្ចប់​ទáź" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "ážážĽáž…​ប្រពáźáž“្ធ​កញ្ចប់" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "ážáž·áž“​បាន​ដំឡើង​សោ​ឡើយ" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "ážáž·áž“​បាន​យក​សោ​ចáźáž‰â€‹ážˇážľáž™" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ចាក់សោ​កážáź’ážážśáž·áž’ី​គ្រប់គ្រង​កញ្ចប់" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ផ្ទុក​បញ្ជី​កញ្ចប់" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "ážáž·áž“​ážáž¶áž“​កញ្ចប់​ឡើយ" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "កញ្ចប់​ត្រូវ​បាន​ធ្វើ​ឲ្យ​ទាន់សážáźáž™â€‹ážšáž˝áž…áž ážľáž™" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "បាន​ដំឡើង​កញ្ចប់​រួច​ហើយ" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "ážáž·áž“​ទាន់​បាន​ដំឡើង​កញ្ចប់​នៅ​ឡើយ​ទáź" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​យក​កញ្ចប់​ប្រពáźáž“្ធ​ចáźáž‰" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "ážáž·áž“​អាច​ត្រួតពិនិត្យ​ភារកិច្ច​បាន​ទáź" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "បាន​បរាជáźáž™â€‹áž”្រតិបត្តិការ​កញ្ចប់" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "ទាážáž‘ារ​ការ​ដំឡើង​កញ្ចប់​ដែល​ážáž·áž“​ជឿ​ទុកចិត្ត" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "ការ​ដំឡើង​ážáž»áž“​ážáž·áž“​ទាន់​ត្រូវ​បាន​បញ្ចប់​នៅ​ឡើយ​ទáź" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "កញ្ចប់​គ្ážáž¶áž“​គុណភាព" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "ážáž·áž“​អាច​បើក​ឯកសារ​កញ្ចប់​បាន​ទáź" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "គ្ážáž¶áž“​លក្ážážŽâ€‹áž–áž·ážźáźážźâ€‹ážŠáź‚ល​បាន​គាំទ្រ​ឡើយ" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ទាញ​យក​សោ​អាជ្ញាបáźážŽáź’ណ" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​​ដំឡើង​សោ​អាជ្ញាបáźážŽáź’ណ" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "ប្រពáźáž“្ធ​ហួស​សážáźáž™â€‹áž ážľáž™" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "បាន​កើត​ឡើង​កំហុស​ដែល​ážáž·áž“​អាច​ដោះស្រាយ​បាន" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "កំពុង​រង់​ចាំ​សáźážśáž¶â€‹áž…ាប់ផ្ដើáž" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "រង់ចាំ" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "រង់ចាំ​ទាážáž‘ារ​ážáž’áź’áž™áž" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "រង់ចាំ​កážáź’ážážśáž·áž’ី​គ្រប់គ្រង​ផ្នែក​ទន់​ផ្សáźáž„ទៀត ដើážáź’បី​បោះបង់" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "រង់ចាំ​ប្រអប់​បញ្ចូល​​ឯកសារ​ការ​កំណត់​រចនាសážáź’áž–áźáž“áź’áž’" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "កំពុង​ដំណើរការ​ភារកិច្ច" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ការ​ទាញ​យក" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "សួរ​ប្រភព​ផ្នែក​ទន់" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ážźážáź’អាត" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "បាន​បញ្ចប់" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "បោះបង់" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "បោះបង់​បញ្ជី​ផ្នែក​ទន់" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "ដំឡើង %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "កំណត់​រចនាសážáź’áž–áźáž“áź’áž’ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "យកចáźáž‰ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "យក​ចáźáž‰ %s បាន​បញ្ចប់" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "ážźážáź’គាល់​ភាព​បាត់បង់​ន០%s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "ដំណើរការ​ការ​ដំឡើង​ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "ធ្វើ​ឲ្យ​ឲ្យ​ប្រសើរ​​ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "ážźáź’ážšáž¶áž™ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "រៀបចំ​ការ​ដំឡើង %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "រៀបចំ​ការ​កំណត់​រចនាសážáź’áž–áźáž“áź’áž’ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "រៀបចំ​ការ​យក​ចáźáž‰â€‹ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "រៀបចំ​ការ​យក​ចáźáž‰â€‹áž”ញ្ចប់​នáźâ€‹â€‹ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "បាន​ដំឡើង %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "បាន​យក %s áž…áźáž‰â€‹áž”ញ្ចប់​ទាំងស្រុង" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "បាន​យក​ចáźáž‰ %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "ដំណើរការ %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "ធ្វើ​រួច" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹážážŹáź’រូវ" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "ទៅ​ប្រážážĽáž›â€‹áž™áž€" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "ទំនáźážš" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "គ្ážáž¶áž“​បណ្ដាញ​ឡើយ" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "ážźáźáž…ក្ដី​លážáź’អិត" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "ឯកសារ" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "បាន​ទាញ​យក %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "បាន​ទាញ​យក" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "ទាážáž‘áž¶ážš ស៊ីឌី​​/ឌីវីឌី '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "សូážâ€‹áž”ញ្ចូល​ ស៊ីឌី/ឌីវីឌី ážáž¶áž„លើ​ទៅ​ក្នុង​ដ្រាយ '%s' " "ដើážáź’បី​ដំឡើង​កញ្ចប់​ផ្នែក​ទន់​ áź”" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "បន្ត" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ដំឡើង" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ដំឡើង​ឡើងវិញ" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "យកចáźáž‰" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "លុប​បំបាត់" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "ធ្វើ​ឲ្យ​ប្រសើរ" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "បន្ទាប" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "រំលង​ការ​ធ្វើ​ឲ្យ​ប្រើសើរ" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "សូážâ€‹ážážľáž›â€‹áž”ញ្ជី​សážáź’រាប់​ការ​ផ្លាស់ប្ដូរ​ážáž¶áž„ក្រោហ។" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "ដំឡើង​ផ្នែក​ទន់​ដែល​​បន្ážáź‚áž" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "ដំឡើង​ផ្នែក​ទន់​​ដែល​បន្ážáź‚ážâ€‹ážˇážľáž„​វិញ" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "យក​ចáźáž‰â€‹áž•្នែក​ទន់​ដែល​​បន្ážáź‚áž" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "លុប​បំបាត់​ផ្នែក​ទន់​ដែល​បន្ážáź‚áž" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "ធ្វើ​ឲ្យ​​ផ្នែក​ទន់​ដែល​បន្ážáź‚ážâ€‹áž”áź’ážšážźážľážš" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "បន្ទាប​ផ្នែក​ទន់​ដែល​បន្ážáź‚áž" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "រំលង​ការ​ធ្វើ​បច្ចុប្បន្នភាព" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "ទាážáž‘ារ​ការ​ផ្លាស់ប្ដូរ​ដែល​បន្ážáź‚áž" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB នឹង​ត្រូវ​បាន​ទាញ​យក​ជា​សរុប áź”" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "ážáž¶áž“​ទំហំ​ážáž¶ %sB ទំនáźážš áź”" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "ទំហំ​ážáž¶ážźâ€‹â€‹áž…áź’ážšážľáž“ %sB នឹង​ត្រូវ​បាន​ប្រើ áź”" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "ជំនួស​ការ​ផ្លាស់ប្ដូរ​របស់​អ្នក​នៅ​ក្នុង '%s' " "ជាážáž˝áž™â€‹áž€áź†ážŽáź‚​ážáź’ážáž¸â€‹â€‹ážšáž”ស់​ឯកសារ​ការ​កំណត់​រចនាសážáź’áž–áźáž“្ធ​ឬ ?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "ប្រសិនបើ​អ្នក​ážáž·áž“​ស្គាល់​ážážĽáž›áž áźážŹáž»â€‹ážŻáž€ážźáž¶ážšâ€‹áž“ោះ​ទ០" "តាážâ€‹áž’ážáź’ážážŹáž¶â€‹ážśáž¶â€‹ážáž¶áž“​​សុវត្ážáž·áž—ាព​ក្នុង​ការ​ជំនួស​វា áź”" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "ការ​ផ្លាស់ប្ដូរ" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "រក្សាទុក" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "ជំនួស" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "ážźáźáž…ក្ដី​លážáź’អិត" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "រង់ចាំ %s ដើážáź’បី​ចាកចáźáž‰" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "ទាញយក %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "ážáź’លាំង​ážážĽáž›ážŠáź’ឋាន" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Downloading from %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "រចនាសážáź’áž–áźáž“áź’áž’ %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "ážźáźáž…ក្ដី​ពិពណ៌នា​អំពី %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "ážźáźáž…ក្ដី​ពិពណ៌នា​អំពី​ហត្ážáž›áźážáž¶ %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "កញ្ចប់​ដែល​ážáž¶áž“​ពី %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "ប្រភព​ដែល​ážáž¶áž“​ពី %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "ការ​បកប្រែ​ដែល​ážáž¶áž“​ពី %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "ការ​បកប្រែ %s (%s) ពី %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "ការ​បកប្រែ​ %s ពី %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "ការ​បកប្រែ​ (%s) ពី %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "គ្ážáž¶áž“​កញ្ចប់ %s ឡើយ" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "ážáž·áž“​បាន​ដំឡើង​កញ្ចប់ %s ឡើយ" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "ážáž·áž“​បាន​ដំឡើង​កំណែ %s របស់ %s ឡើយ" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "បាន​ដំឡើង​កញ្ចប់ %s រួចហើយ" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "ážáž·áž“​ážáž¶áž“​កំណែ %s របស់ %s ឡើយ áź”" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "បាន​បរាជáźáž™â€‹â€‹áž€áź’នុង​ការ​ទាញ​យក និង​ដំឡើង​សោ %s ពី %s áź–\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "ážáž·áž“​អាច​ដំឡើង​ឯកសារ​សោ %s បាន​ទ០៖ %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "ážáž·áž“​អាច​យក​ចáźáž‰â€‹ážźáź„​ដែល​ážáž¶áž“​​ស្នាážâ€‹áž•្ដិត​ážáź’ážšáž¶ážážŠáź %s បាន​ទ០៖ %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "ážáž·áž“​អាច​យក​​​ចáźáž‰â€‹áž€áž‰áź’ចប់ %s ​បាន​ទ០។" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "ážáž·áž“​បាន​ដំឡើង​កំណែ %s របស់ %s ឡើយ" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "បាន​ដំឡើង​កំណែ​ážáž»áž“ %s របស់ %s រួច​ហើយ" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "បាន​ដំឡើង​កំណែ %s របស់ %s រួច​ហើយ" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "គ្ážáž¶áž“​កំណែ %s របស់ %s ឡើយ" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "អ្នក​ត្រូវ​បញ្ជាក់​កំណែ​ដែល​ត្រូវ​បន្ទាប %s ទៅ" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "បាន​ដំឡើង​កំណែ​ážáź’ážáž¸ %s របស់ %s រួច​ហើយ" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "គ្ážáž¶áž“​​កញ្ចប់ %s នៅ​ក្នុង​ការ​ចáźáž‰â€‹áž•áź’ážźáž¶áž™ %s ឡើយ áź”" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "ážáž·áž“​អាច​យក​​​ចáźáž‰â€‹â€‹áž€áž‰áź’ចប់​ %s ​បាន​ទáź" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "កញ្ចប់​ដែល​ážáž·áž“​បាន​ផ្ដល់​ឲ្យ​វាល​ត្រួតពិនិត្យ​ទំហំ​ដែល​បាន​ដំឡើង​ត្រឹážážŹáź’រូវ " "áź” សូážâ€‹ážážľáž›â€‹áž‚ោលការណ៍​ដáźáž”ៀន 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "សោ​អាជ្ញាបáźážŽáź’ណ​​ទទáź" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" "សោ​អាជ្ញាបáźážŽáź’ណ​ážáž·áž“​ត្រូវ​បាន​អនុញ្ញាត​​ážáž¶áž“​កូដ​ឯកសារ​ប្រតិបត្តិ​បាន​ទ០។" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "ផ្លូវ​សោ​អាជ្ញាបáźážŽáź’ណ %s ážáž·áž“​ត្រឹážážŹáź’រូវ​ឡើយ" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "សោ​អាជ្ញាបáźážŽáź’ណ​ážáž¶áž“​រួចហើយ áź– %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "ទីតាំង​របស់​សោ​អាជ្ញាបáźážŽáź’ណ​គឺ​គ្ážáž¶áž“​សុវត្ážáž·áž—áž¶áž– នៅ​ពáźáž›â€‹ážśáž¶â€‹ážáž¶áž“​តំណ​ជា​​សញ្ញា áź” " "ផ្លូវ %s ទៅកាន់ %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "ážážŹâ€‹ážŠáź‚ល​​ត្រូវ​ដំឡើង​សោ​ážáž·áž“​ទាន់​ážáž¶áž“​នៅ​ឡើយ​ទ០៖ %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "បាន​បរាជáźáž™â€‹áž€áź’នុង​ការ​សរសáźážšâ€‹ážŻáž€ážźáž¶ážšâ€‹ážźáź„​ទៅកាន់ áź– %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "កញ្ចប់​បន្ទាប់​ážáž·áž“​បាន​​ជួប​ភាព​អាស្រáźáž™â€‹áž‘áź áź–" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "ប៉ុន្តែ​​វា​ជា​កញ្ចប់​និážáź’ážáž·ážŹ" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ប៉ុន្តែ​វា​ážáž·áž“​ត្រូវ​បាន​ដំឡើង​ទáź" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ប៉ុន្តែ​វា​នឹង​ážáž·áž“​ត្រូវ​បាន​ដំឡើង​ឡើយ" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ប៉ុន្តែ %s ត្រូវ​បាន​ដំឡើង" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ប៉ុន្តែ %s ត្រូវ​បាន​ដំឡើង" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "បាន​​បរាជáźáž™â€‹áž€áź’នុង​ការ​បន្ážáź‚ážâ€‹ážźáź„​ទៅកាន់​បញ្ជី​​របស់​ក្រុážáž áźŠáž»áž“​លក់​ផ្នែក​ទន់​ដែ" #~ "ល​ជឿ​ទុកចិត្ត" aptdaemon-1.1.1/po/et.po0000644000175000017500000013003712117271433015633 0ustar renaterenate00000000000000# Estonian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-10-14 09:15+0000\n" "Last-Translator: Märt Põder \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Näita usaldusväärsete mĂĽĂĽjate võtmeid" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Usaldatud võtmete vaatamiseks pead sa ennast autentima." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Eemalda allalaaditud pakettide failid" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Allalaaditud pakettide failide puhastamiseks pead ennast autentima." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Muuda tarkvara konfiguratsiooni" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Tarkvara seadete muutmiseks pead ennast autentima." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Tarkvaraallika vahetamine" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Tarkvaraallika sätete muutmiseks pead sa ennast autentima." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Paigalda paketifail" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Selle paketi paigaldamiseks pead sa ennast autentima." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Uuenda paketiinfot" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Tarkvara kataloogi uuendamiseks pead sa ennast autentima." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Paki paigaldamine või eemaldamine" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Tarkvara paigaldamiseks või muutmiseks pead sa ennast autentima." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Lisa uus hoidla ja paigalda sealt pakette" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Tarkvara paigaldamiseks uuest allikast, pead ennast autentima." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "Lisa uus ostetud tarkvara hoidla ja paigalda sealt pakette" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Et paigaldada ostetud tarkvara, pead ennast autentima." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Uuenda pakette" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Tarkvarauuenduste paigaldamiseks pead sa ennast autentima." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Katkesta teise kasutaja toiming" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Kellegi teise tarkvara muudatuste tĂĽhistamiseks pead sa ennast autentima." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Tarkvara allalaadimiste jaoks proksi määramine" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Et kasutada proksi serverit tarkvara allalaadimiseks, pead sa ennast " "autentima." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "VIGA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Allalaaditud %sB %sB-st kiirusel %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Allalaaditud %sB %sB-st" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "VIGA:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Sul pole lubatud seda toimingut teha." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Järjekorrastamine" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Sõltuvuste lahendamine" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Paigaldatakse %(count)s UUS pakett:" msgstr[1] "Paigaldatakse %(count)s UUT paketti:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Uuendatakse %(count)s pakett:" msgstr[1] "Uuendatakse %(count)s paketti:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Järgnev pakett eemaldatakse (%(count)s):" msgstr[1] "Järgnevad paketid eemaldatakse (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Järgnev pakett madaldatakse (%(count)s):" msgstr[1] "Järgnevad paketid madaldatakse (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Järgnev pakett taaspaigaldatakse (%(count)s):" msgstr[1] "Järgnevad paketid taaspaigaldatakse (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Järgnevat paketti on tagasi hoitud (%(count)s):" msgstr[1] "Järgnevaid pakette on tagasi hoitud (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Peab hankima %sB arhiive." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Pärast seda toimingut kasutatakse %sB rohkem kettaruumi." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Pärast seda toimingut vabaneb %sB kettaruumi." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Kas soovid jätkata [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Et töötada rohkem kui ĂĽhel paketil, lisa pakettide nimed jutumärkides:\n" "aptcon -- paigalda \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Uuenda puhvrit" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Katkiste sõltuvuste parandamise ĂĽritamine. Potentsiaalselt ohtlik toime, " "kuna see võib ĂĽritada mingit paketti eemaldada." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "PĂĽĂĽa lõpetada eelnev poolik paigaldus" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Paigalda need pakid" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Paigalda uuesti need pakid" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Eemalda see pakk" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Eemalda see pakk koos konfiguratsioonifailidega" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Antud pakettide madaldamine" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Aegunud: Palun kasuta --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Uuenda sĂĽsteemi turvaliselt" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Uuenda sĂĽsteemi, võimalik, et paigaldatakse või eemaldatakse pakette" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Lisa tarnija usaldusväärsete hulka" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Lisa tarnija võtme-id (vajab lisaks --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Lisa see võtmeserver otsitavatesse võtmetesse" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Lisa uus tarkvaraallikas sellest deb-line`st" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Määra alternatiivne sources.list.d fail, mille tarkvaraallikad lisada" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Loetle usaldatud tarnijate võtmed" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Eemalda antud sõrmejäljega võti" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Paigaldatud pakettide taasseadistamine. Soovi korral saab vähima " "prioriteediga kĂĽsimust täpsustada" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Vähim debconf pkĂĽsimuse rioriteeti saab kuvada" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Ă„ra ĂĽhenda apt'i terminali" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Luba paketid autentimata allikatest" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "Pakettide täiendava teabe kuvamine. Praegu ainult versiooni arv" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Autentimise ootamine" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Deemoni tööd tegevusetuse pärast ei lõpetata" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Ei laadita ĂĽhtegi pluginat" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Sisemiste protsesside informatsiooni kuvamine" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Lõpeta ja asenda juba käivitatud deemon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "DBus seansi kuulamine (Vajalik ainult testimiseks)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Operatsioonide sooritamine antud chroot'is" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Talleta profiili andmed valitud faili" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "SĂĽsteemi ei tehta mingeid muudatusi (kasulik ainult arendajatele)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Paigaldatud fail" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paigaldati paketid" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Lisati võti failist" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Uuendati vahemälu" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Otsing lõpetatud" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Eemaldati usaldatud võti" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Eemaldati paketid" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Uuendati pakette" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Uuendatud sĂĽsteem" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Muudatused rakendati" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Mittetäielik paigaldus on parandatud" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Katkised sõltuvused on parandatud" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Tarkvaraallikas lisatud" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Jaotuskomponent lubatud" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Allalaaditud paketifailid eemaldatud" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Paigaldatud paketid taasseadistatud" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Edukas" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "TĂĽhistatud" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Nurjus" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Faili paigaldamine" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Pakettide paigaldamine" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Võtme lisamine failist" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Puhvri uuendamine" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Usaldatud võtme eemaldamine" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Pakettide eemaldamine" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Pakettide uuendamine" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "SĂĽsteemi uuendamine" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Muudatuste rakendamine" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Mittetäieliku paigalduse parandamine" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Paigaldatud tarkvara parandamine" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Tarkvaraallika lisamine" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Distributsiooni jaotuskomponendi lubamine" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Allalaaditud paketifailide eemaldamine" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Paigaldatud pakettide taasseadistamine" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Otsimine" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Paketifaili paigaldamine nurjus" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Tarkvara paigaldamine nurjus" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Tarkvaraloendi uuendamine nurjus" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Tootja eemaldamine usaldusväärsete tarkvaratootjate loetelust nurjus" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Tarkvara eemaldamine nurjus" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Tarkvara uuendamine nurjus" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "SĂĽsteemi uuendamine nurjus" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Tarkvaramuudatuste rakendamine nurjus" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Mittetäieliku paigalduse parandamine nurjus" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Katkiste sõltuvuste parandamine nurjus" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Takrvaraallika lisamine nurjus" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Jaotuskomponendi lubamine nurjus" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Paigaldatud paketi failide eemaldamine nurjus" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Otsing nurjus" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Litsentsivõtme lisamine" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Kontrolli oma internetiĂĽhendust." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Kontrolli, kas kasutad kolmanda osapoole tarkvaraallikaid. Kui nii, siis " "keela need, kuna tavaliselt need on probleemide põhjuseks.\n" "Järgmiseks käivita terminalis järgnev käsk: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Valitud fail pole GPG võtmefail või see on rikutud." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Valitud võtit polnud võimalik eemaldada. Veendu, et sisestasid õige " "sõrmejälje." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Vaata, ega sa ei kasuta hetkel mõnda teist tarkvaratööriista nagu Synaptic " "või aptitude. Muudatusi tohib teha ainult ĂĽks programm korraga." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "See on tõsine probleem. Proovi hiljem uuesti. Kui probleem esineb uuesti, " "raporteeri sellest veast arendajatele." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Kontrolli paketi nime õigekirja ja et õige tarkvaraallikas on lubatud." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Uuendamiseks puudub vajadus." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Paigaldamiseks puudub vajadus" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Eemaldamiseks puudub vajadus." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "Sa palusid eemaldada paketi, mis on sĂĽsteemi oluline osa." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Ăśhendus deemoniga katkes. Kõige tõenäolisemalt jooksis taustadeemon kokku." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Tarkvara paigaldamine või eemaldamine nurjus." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Soovitud valikut ei toetata" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Aptdaemon'is, mis võimaldab tarkvara paigaldadamist/eemaldamist ning teisi " "paketihalduse toiminguid, ilmnes programmitõrge." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Selle vea võis põhjustada vajalik lisatarkvara pakett, mis aga puudub või " "pole paigaldatav. Lisaks võib tekkida konflikt tarkvarapakettide vahel, mida " "pole lubatud samaaegselt paigaldada." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Paigaldus võis nurjuda vea tõttu vastavas tarkvarapaketis või katkestati see " "mittesobival viisil. Enne, kui saab muud tarkvara paigaldada või eemaldada, " "tuleb see parandada." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Palun kopeeri fail oma kohalikku arvutisse ja kontrolli faili õigusi." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Paketi paigaldus, mis rikub standardi kvaliteedi pole lubatud. See võib " "õhjustada sinu arvutile tõsiseid probleem.e Palun kontakteeru paketi faili " "pakkunud isiku või organisatsiooniga ja kaasa allpool detailid." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Selle tarkvaratĂĽki kasutamiseks vajalik litsentsivõti on kehtetu või pole " "võimalik seda õigesti paigaldada.\n" "Täpsema info saamiseks vaata ĂĽksikasju." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Kõik võimalikud uuendused on juba paigaldatud." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Selle tarkvaratĂĽki kasutamiseks vajaliku litsentsivõtme allalaadimine " "nurjus. Palun, kontrolli oma võrguĂĽhendust." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Paketifailide allalaadimine nurjus" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Tarkvaraallika teabe allalaadimine nurjus" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Paketi sõltuvusi pole võimalik lahendada" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "PaketisĂĽsteem on katki" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Võtit ei paigaldatud" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Võtit ei eemaldatud" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Paketihalduri lukustamine nurjus" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Paketiloendi laadimine nurjus" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paketti ei eksisteeri" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Pakett on juba ajakohane" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakett on juba paigaldatud" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakett ei ole paigaldatud" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Olulise sĂĽsteemipaketi eemaldamine nurjus" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Toimingut pole võimalik jälgida ega juhtida" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Paketitoiming nurjus" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Nõuab mitteusaldusväärsete pakettide paigaldamist" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Eelnev paigaldus ei jõudnud lõpule" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Pakett on halva kvaliteediga" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Paketi faile ei ole võimalik avada" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Toetamata omadus" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Litsentsivõtme allalaadimine nurjus" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Litsentsivõtme paigaldamine nurjus" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "SĂĽsteem on juba ajakohane" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Tekkis käsitlematu viga" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Teenuse käivitumise järel ootamine" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Ootamine" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Nõutud andmekandja järel ootamine" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Teiste tarkvarahaldurite lõpetamise järel ootamine" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Seadistusfaili kohta käiva kĂĽsimuse järel ootamine" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Käesolev toiming" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Allalaadimine" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Tarkvaraallikate pärimine" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Puhastamine" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Lõpetatud" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "TĂĽhistamine" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Tarkvaraloendi laadimine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s paigaldamine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s seadistamine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s eemaldamine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s täielik eemaldamine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "%s kadumise märgitsemine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "%s järelpaigalduse sooritamine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s uuendamine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s lahtipakkimine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Ettevalmistused %s paigaldamiseks" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "%s seadistuse ettevalmistamine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "%s eemaldamise ettevalmistamine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "%s täieliku eemalduse ettevalmistamine" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s on paigaldatud" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s on täielikult eemaldatud" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s on eemaldatud" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "%s protsessimine" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Valmis" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Autentimine nurjus" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Allalaadimine" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Jõude" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Võrk pole saadaval" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Ăśksikasjad" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fail" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Allalaaditud %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Allalaaditud" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Vajalik on CD/DVD plaat '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Palun sisesta CD/DVD plaadilugejasse '%s', et paigaldada tarkvara paketid." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_Jätka" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Paigalda" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Paigalda uuesti" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Eemalda" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Eemalda täielikult" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Uuenda" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Madalda" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Jäta uuendamine vahele" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Palun vaata all olevat muudatuste loendit." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Täiendav tarkvara tuleb paigaldada" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Täiendav tarkvara tuleb uuesti paigaldada" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Täiendav tarkvara tuleb eemaldada" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Täiendav tarkvara tuleb täielikult eemaldada" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Täiendav tarkvara tuleb uuendada" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Täiendav tarkvara tuleb asendada vanemaga" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Uuendused jäetakse vahele" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Vajalikud on lisamuudatused" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Kokku tuleb allalaadida %sB." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB kettaruumi vabaneb." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB lisakettaruumi võetakse kasutatakse." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Kas asendada muudatustega fail '%s' hilisema seadistusfaili versiooniga?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Kui sa ei tea, miks see fail juba seal on, on selle asendamine tavaliselt " "turvaline." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Muudatused" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Jäta alles" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Asenda" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Ăśksikasjad" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Ootan %s sulgemist" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Laaditakse alla %(files)s" msgstr[1] "Laaditakse alla %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "kohalik varamu" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Allalaadimine asukohast %s" msgstr[1] "Allalaadimine asukohtadest %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s struktuur" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s kirjeldus" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Pakett %s ei ole kättesaadav" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pakett %s ei ole paigaldatud" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versioon %s %s pole paigaldatud" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Pakett %s on juba paigaldatud" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Versioon %s %s pole saadaval" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Võtme %s asukohast %s allalaadimine ja paigaldamine nurjus:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Võtmefaili %s polnud võimalik paigaldada: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Võti koos sõrmejäljega %s ei saadud eemaldada: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Pakett %s ei ole eemaldatav." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versioon %s %s pole paigaldatud" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Endine versioon %s %s on juba paigaldatud" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Versioon %s %s on juba paigaldatud" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Versioon %s %s pole saadaval" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Sa pead täpsustama versiooni, milleni %s madaldada" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Hiljutine versioon %s %s on juba paigaldatud" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Pakett %s pole %s väljalaskes saadaval" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Pakett %s ei ole eemaldatav" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Pakett ei paku kehtivat juhtvälja paigaldussuurust. Vaata Debiani poliitikat " "5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Litsentsivõti on tĂĽhi" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Litsentsivõti ei tohi sisaldada käivitatavat koodi" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Litsentsivõtme asukoht %s on vigane" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Litsentsivõti on juba olemas: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Järgmistel pakettidel on lahendamata sõltuvused:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "aga see on virtuaalne pakett" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "aga see pole paigaldatud" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "aga seda ei paigaldata" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "aga %s on paigaldatud" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "aga %s paigaldatakse" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Võtme lisamine usaldusväärsete tarkvaratootjate loetelusse nurjus" aptdaemon-1.1.1/po/lt.po0000644000175000017500000013410212117271433015637 0ustar renaterenate00000000000000# Lithuanian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-09-17 20:17+0000\n" "Last-Translator: Aurimas Fišeras \n" "Language-Team: Lithuanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "(n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Parodyti patikimĹł tiekÄ—jĹł raktus" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "PatikimĹł raktĹł sÄ…rašui perĹľiĹ«rÄ—ti turite patvirtinti tapatybÄ™." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Pašalinti atsiĹłsto paketo failus" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "AtsiĹłstĹł paketĹł failĹł išvalymui turite patvirtinti tapatybÄ™." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Keisti programinÄ—s ÄŻrangos konfigĹ«racijÄ…" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "PrograminÄ—s ÄŻrangos nuostatĹł keitimui turite patvirtinti tapatybÄ™." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Keisti programinÄ—s ÄŻrangos saugyklÄ…" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "PrograminÄ—s ÄŻrangos saugyklos nuostatĹł keitimui turite patvirtinti tapatybÄ™." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Ä®diegti paketo failÄ…" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Ĺ iam paketui ÄŻdiegti turite patvirtinti tapatybÄ™." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Atnaujinti paketĹł informacijÄ…" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "PrograminÄ—s ÄŻrangos katalogui atnaujinti turite patvirtinti tapatybÄ™." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Ä®diegti ir pašalinti paketus" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Programinei ÄŻrangai ÄŻdiegti ar pašalinti turite patvirtinti tapatybÄ™." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Ä®diegti programinÄ™ ÄŻrangÄ… iš aukšto patikimumo saugyklos baltajame sÄ…raše." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "NorÄ—dami ÄŻdiegti programinÄ™ ÄŻrangÄ… turite patvirtinti tapatybÄ™." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "PridÄ—ti naujÄ… saugyklÄ… ir ÄŻdiegti paketus iš jos" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Programinei ÄŻrangai iš naujos saugyklos ÄŻdiegti turite patvirtinti tapatybÄ™." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "PridÄ—ti naujÄ… nupirktĹł programĹł saugyklÄ… ir ÄŻdiegti paketus iš jos" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Nupirktai programinei ÄŻrangai ÄŻdiegti turite patvirtinti tapatybÄ™." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Atnaujinti paketus" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Atnaujintai programinei ÄŻrangai ÄŻdiegti turite patvirtinti tapatybÄ™." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Nutraukti kito naudotojo uĹľduotÄŻ" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Kieno nors kito programinÄ—s ÄŻrangos pakeitimĹł atsisakymui turite patvirtinti " "tapatybÄ™." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Nustatyti tarpinÄŻ serverÄŻ programinÄ—s ÄŻrangos atsiuntimui" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Tarpinio serverio, programinÄ—s ÄŻrangos atsiuntimui, naudojimui turite " "patvirtinti tapatybÄ™." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "KLAIDA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "AtsiĹłsta %s B iš %s B (%s B/s)" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "AtsiĹłsta %s B iš %s B" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "KLAIDA:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Jums neleidĹľiama atlikti šio veiksmo." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Ä®traukiama ÄŻ eilÄ™" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "SprendĹľiamos priklausomybiĹł sÄ…sajos" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Ĺ is NAUJAS paketas bus ÄŻdiegtas (%(count)s):" msgstr[1] "Ĺ ie NAUJI paketai bus ÄŻdiegti (%(count)s):" msgstr[2] "Ĺ ie NAUJI paketai bus ÄŻdiegti (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Ĺ is paketas bus atnaujintas (%(count)s):" msgstr[1] "Ĺ ie paketai bus atnaujinti (%(count)s):" msgstr[2] "Ĺ ie paketai bus atnaujinti (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Ĺ is paketas bus PAĹ ALINTAS (%(count)s):" msgstr[1] "Ĺ ie paketai bus PAĹ ALINTI (%(count)s):" msgstr[2] "Ĺ ie paketai bus PAĹ ALINTI (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Ĺ is paketas bus PASENDINTAS (%(count)s):" msgstr[1] "Ĺ ie paketai bus PASENDINTI (%(count)s):" msgstr[2] "Ĺ ie paketai bus PASENDINTI (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Ĺ is paketas bus ÄŻdiegtas iš naujo (%(count)s):" msgstr[1] "Ĺ ie paketai bus ÄŻdiegti iš naujo (%(count)s):" msgstr[2] "Ĺ ie paketai bus ÄŻdiegti iš naujo (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Ĺ is paketas buvo sulaikytas (%(count)s):" msgstr[1] "Ĺ ie paketai buvo sulaikyti (%(count)s):" msgstr[2] "Ĺ ie paketai buvo sulaikyti (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Reikia gauti archyvĹł %sB." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Po šios operacijos bus sunaudota %sB papildomos vietos diske." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Po šios operacijos bus atlaisvinta %sB papildomos vietos diske." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Ar norite tÄ™sti [T/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "NorÄ—dami dirbti su daugiau nei vienu paketu rašykite paketĹł pavadinimus " "kabutÄ—se:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Atnaujinti podÄ—lÄŻ" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "MÄ—ginti išsprÄ™sti sugadintas priklausomybes. Tai potencialiai pavojinga " "operacija, nes ji gali mÄ—ginti pašalinti daug paketĹł." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "MÄ—ginti uĹľbaigti ankstesnÄŻ nebaigtÄ… ÄŻdiegimÄ…" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Ä®diegti nurodytus paketus" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Iš naujo ÄŻdiegti nurodytus paketus" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Pašalinti nurodytus paketus" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Pašalinti nurodytus paketus ÄŻskaitant konfigĹ«racijos failus" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Pasendinti nurodytus paketus" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Nebenaudotinas: naudokite --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Saugiai atnaujinti sistemÄ…" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Atnaujinti sistemÄ…, galimai ÄŻdiegiant ir pašalinant paketus" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Ä®traukti tiekÄ—jÄ… ÄŻ patikimĹł sÄ…rašą" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "PridÄ—ti tiekÄ—jo keyid (taip pat reikia --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Naudoti nurodytÄ… raktĹł serverÄŻ raktĹł paieškai" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "PridÄ—ti naujÄ… saugyklÄ… iš deb-eilutÄ—s" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Nurodyti alternatyvĹł sources.list.d failÄ… ÄŻ kurÄŻ turÄ—tĹł bĹ«ti pridedamos " "saugyklos." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Parodyti patikimĹł tiekÄ—jĹł raktus" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Pašalinti patikimÄ… raktÄ… iš duoto kontrolinio kodo" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "PerkonfigĹ«ruoti ÄŻdiegtus paketus. Papildomai gali bĹ«ti nurodytas maĹľiausias " "klausimĹł prioritetas" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "MaĹľiausias rodomĹł „debconf“ klausimĹł prioritetas" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Neprisijungti prie „apt“ terminalo" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Leisti paketus iš nepatvirtinto tapatumo saugyklĹł" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Rodyti papildomÄ… informacijÄ… apie paketus. Kol kas tik versijos numerÄŻ" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Laukiama tapatybÄ—s patvirtinimo" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Neišjungti tarnybos dÄ—l neaktyvumo" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "NeÄŻkelti jokiĹł papildiniĹł" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Rodyti vidinio apdorojimo informacijÄ…" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Baigti ir pakeisti jau paleistÄ… tarnybÄ…" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Klausytis DBus seanso magistralÄ—s (Reikalinga tik testavimui" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Vykdyti operacijas nurodytame „chroot“" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Saugoti profilio statistikÄ… nurodytame faile" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Neatlikti jokiĹł sistemos pakeitimĹł (naudinga tik kĹ«rÄ—jams)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Ä®diegtas failas" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Ä®diegti paketai" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Iš failo pridÄ—tas raktas" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "PodÄ—lis atnaujintas" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Paieška baigta" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Patikimas raktas pašalintas" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Pašalinti paketai" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Atnaujinti paketai" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Atnaujinta sistema" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Pritaikyti pakeitimai" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Pataisytas nebaigtas diegimas" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Pataisytos sugadintos priklausomybÄ—s" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "PridÄ—ta programinÄ—s ÄŻrangos saugykla" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Ä®jungtas distribucijos komponentas" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Pašalinti atsiĹłsti paketĹł failai" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "PerkonfigĹ«ruoti ÄŻdiegti paketai" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "SÄ—kmingas" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Nutraukta" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Nepavyko" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Diegiamas failas" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Diegiami paketai" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Pridedamas raktas iš failo" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Atnaujinamas podÄ—lis" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Ĺ alinamas patikimas raktas" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Ĺ alinami paketai" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Atnaujinami paketai" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Atnaujinama sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Pritaikomi pakeitimai" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Taisomas nebaigtas diegimas" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Taisoma ÄŻdiegta programinÄ— ÄŻranga" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Pridedama programinÄ—s ÄŻrangos saugykla" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Ä®jungiamas distribucijos komponentas" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Ĺ alinami atsiĹłsti paketĹł failai" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "PerkonfigĹ«ruojami ÄŻdiegti paketai" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Ieškoma" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Nepavyko ÄŻdiegti paketo failo" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Nepavyko ÄŻdiegti programos" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Nepavyko atnaujinti programinÄ—s ÄŻrangos sÄ…rašo" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Nepavyko pašalinti tiekÄ—jo iš patikimĹł sÄ…rašo" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Nepavyko pašalinti programinÄ—s ÄŻrangos" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Nepavyko atnaujinti programinÄ—s ÄŻrangos" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Nepavyko atnaujinti sistemos" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Nepavyko pritaikyti programinÄ—s ÄŻrangos pakeitimĹł" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Nepavyko pataisyti nebaigto diegimo" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Nepavyko pataisyti sugadintĹł priklausomybiĹł" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Nepavyko pridÄ—ti programinÄ—s ÄŻrangos saugyklos" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Nepavyko ÄŻjungti distribucijos komponento" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Nepavyko pašalinti atsiĹłstĹł paketĹł failĹł" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Paieška nepavyko" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Pridedamas licencijos raktas" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Patikrinkite interneto ryšį." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Patikrinkite ar naudojate treÄŤiĹłjĹł šaliĹł saugyklas. Jei taip, jas išjunkite, " "nes jos yra daĹľnas problemĹł šaltinis.\n" "Be to paleiskite šiÄ… komandÄ… terminale: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Pasirinktas failas gali bĹ«ti sugadintas arba ne GPG rakto failas." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Nepavyko pašalinti pasirinkto rakto. Patikrinkite, kad nurodÄ—te teisingÄ… " "kontrolinÄŻ kodÄ…." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Patikrinkite ar nÄ—ra vykdomas kitas programinÄ—s ÄŻrangos tvarkymo ÄŻrankis, " "pvz., „Synaptic“ ar „aptitude“. Vienu metu pakeitimus atlikti gali tik " "vienas ÄŻrankis." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Tai yra rimta problema. MÄ—ginkite vÄ—liau. Jei problema pasikartos, " "praneškite apie klaidÄ… kĹ«rÄ—jams." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "Patikrinkite paketo vardo rašybÄ… ir kad ÄŻjungta tinkama saugykla." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "NÄ—ra jokio poreikio atnaujinimui." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "NÄ—ra jokio poreikio diegimui." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "NÄ—ra jokio poreikio pašalinimui." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "JĹ«s paprašėte pašalinti paketÄ…, kuris yra bĹ«tina sistemos dalis." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Ryšys su tarnyba buvo prarastas. GreiÄŤiausiai uĹľstrigo foninÄ— tarnyba." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "PrograminÄ—s ÄŻrangos paketo diegimas ar pašalinimas nepavyko." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Paprašyta funkcija yra nepalaikoma." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Panašu, kad „aptdaemon“ programoje, kuri leidĹľia jums ÄŻdiegti, pašalinti " "programinÄ™ ÄŻrangÄ… ir atlikti kitus paketĹł tvarkymo darbus, yra programavimo " "klaida." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Ĺ i klaida gali bĹ«ti sukelta papildomĹł programinÄ—s ÄŻrangos paketĹł, kuriĹł " "trĹ«ksta ar kurie yra neÄŻdiegiami. Be to, gali bĹ«ti konfliktas tarp " "programinÄ—s ÄŻrangos paketĹł, kurie negali bĹ«ti ÄŻdiegti tuo paÄŤiu metu." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Tai reikalauja ÄŻdiegti paketĹł iš saugyklĹł, kuriĹł tapatumas nenustatytas." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Diegimas galÄ—jo nepavykti dÄ—l klaidos atitinkamame programinÄ—s ÄŻrangos " "pakete, arba jis buvo netinkamai nutrauktas. JĹ«s turite tai pataisyti prieš " "diegdami ar šalindami kitÄ… programinÄ™ ÄŻrangÄ…." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Nukopijuokite failÄ… ÄŻ vietinÄŻ kompiuterÄŻ ir patikrinkite failo leidimus." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Paketo, kuris paĹľeidĹľia kokybÄ—s standartus, ÄŻdiegimas neleidĹľiamas. Tai gali " "sukelti rimtĹł problemĹł jĹ«sĹł kompiuteryje. Prašome susisiekti su asmeniu ar " "organizacija, kuri pateikÄ— šį paketo failÄ… ir ÄŻtraukite Ĺľemiau pateiktÄ… " "informacijÄ…." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "AtsiĹłstas licencijos raktas reikalingas šiai programinei ÄŻrangai paleisti " "yra neteisingas ar jo nepavyko teisingai ÄŻdiegti.\n" "Išsamioje informacijoje pamatysite daugiau informacijos." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Visi prieinami atnaujinimai jau yra ÄŻdiegti." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Nepavyko atsiĹłsti licencijos rakto, kuris leidĹľia jums naudoti šiÄ… " "programinÄ™ ÄŻrangÄ…. Patikrinkite tinklo ryšį." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Nepavyko atsiĹłsti paketĹł failĹł" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Nepavyko atsiĹłsti saugyklĹł informacijos" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Nepavyko nustatyti paketĹł priklausomybiĹł" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "PaketĹł sistema sugadinta" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Raktas nebuvo ÄŻdiegtas" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Raktas nebuvo pašalintas" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Nepavyko blokuoti paketĹł tvarkytuvÄ—s" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Nepavyko ÄŻkelti paketĹł sÄ…rašo" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paketas neegzistuoja" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Paketas jau atnaujintas" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Paketas jau ÄŻdiegtas" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Paketas nÄ—ra ÄŻdiegtas" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Nepavyko pašalinti bĹ«tino sistemos paketo" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "UĹľduotis negali bĹ«ti stebima ar valdoma" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Paketo operacija nepavyko" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Reikalauja nepatikimĹł paketĹł ÄŻdiegimo" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Ankstesnis diegimas nebuvo baigtas" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Paketas yra prastos kokybÄ—s" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Nepavyko atverti paketo failo" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Nepalaikoma funkcija" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Nepavyko atsiĹłsti licencijos rakto" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Nepavyko ÄŻdiegti licencijos rakto" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Sistema jau atnaujinta" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Ä®vyko neapdorojama klaida" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Laukiama kol bus paleista tarnyba" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Laukiama" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Laukiama reikalingos laikmenos" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Laukiama kol išsijungs kitos programinÄ—s ÄŻrangos tvarkytuvÄ—s" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Laukiama konfigĹ«racijos failo pranešimo" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Vykdoma uĹľduotis" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "AtsiunÄŤiama" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "UĹľklausiamos programinÄ—s ÄŻrangos saugyklos" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Išvaloma" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Baigta" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Nutraukiama" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Ä®keliamas programinÄ—s ÄŻrangos sÄ…rašas" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Diegiamas %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "KonfigĹ«ruojamas %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Ĺ alinamas %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Visiškai šalinamas %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Pastebimas %s dingimas" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Vykdomas post-installation trigeris %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Atnaujinamas %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Išpakuojamas %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Ruošiamas %s ÄŻdiegimas" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Ruošiamas %s konfigĹ«ravimas" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Ruošiamas %s šalinimas" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Ruošiamas %s visiškas pašalinimas" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Ä®diegta %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Visiškai pašalintas %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Pašalintas %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Apdorojomas %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Baigta" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Nepavyko nustatyti tapatybÄ—s" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "AtsiunÄŤiama" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "NeuĹľimtas" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Tinklas neprieinamas" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Išsamiai" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Failas" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "AtsiĹłsta %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "AtsiĹłsta" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Reikalingas „%s“ CD/DVD" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Ä®dÄ—kite aukščiau nurodytÄ… CD/DVD ÄŻ ÄŻrenginÄŻ „%s“ programinÄ—s ÄŻrangos " "paketams iš jo ÄŻdiegti." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_TÄ™sti" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Ä®diegti" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Ä®diegti iš naujo" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Pašalinti" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Išvalyti" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Atnaujinti" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Sendinti" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Praleisti atnaujinimÄ…" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Patikrinkite pakeitimĹł sÄ…rašą Ĺľemiau." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Papildoma programinÄ— ÄŻranga turi bĹ«ti ÄŻdiegta" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Papildoma programinÄ— ÄŻranga turi bĹ«ti ÄŻdiegta iš naujo" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Papildoma programinÄ— ÄŻranga turi bĹ«ti pašalinta" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Papildoma programinÄ— ÄŻranga turi bĹ«ti išvalyta" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Papildoma programinÄ— ÄŻranga turi bĹ«ti atnaujinta" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Papildoma programinÄ— ÄŻranga turi bĹ«ti pasendinta" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Atnaujinimai bus praleisti" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Reikalingi papildomi pakeitimai" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB bus atsiĹłsta iš viso." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB vietos diske bus atlaisvinta." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB vietos diske bus sunaudota." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Perrašyti jĹ«sĹł pakeitimus faile „%s“ naujesne konfigĹ«racijos failo versija?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Jei jĹ«s neĹľinote kodÄ—l šis failas ten yra, greiÄŤiausiai yra saugu jÄŻ " "perrašyti." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Pakeitimai" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Palikti" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "Pa_keisti" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Išsamiau" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Laukiama kol %s baigs darbÄ…" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "AtsiunÄŤiamas %(files)s" msgstr[1] "AtsiunÄŤiami %(files)s" msgstr[2] "AtsiunÄŤiami %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "vietinÄ— saugykla" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "AtsiunÄŤiama iš %s" msgstr[1] "AtsiunÄŤiama iš %s" msgstr[2] "AtsiunÄŤiama iš %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s struktĹ«ra" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s aprašas" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%s aprašo parašas" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Prieinami paketai iš %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Prieinamos saugyklos iš %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Prieinami vertimai iš %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%s (%s) vertimai iš %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s vertimai iš %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Vertimai (%s) iš %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Paketas %s neprieinamas" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Paketas %s neÄŻdiegtas" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versija %s iš %s nÄ—ra ÄŻdiegta" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Paketas %s jau ÄŻdiegtas" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Versija %s iš %s nÄ—ra galima." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "RaktĹł serverio URL yra netinkamas: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Netinkamas serverio protokolas: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Netinkamas rakto id: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Nepavyko atsiĹłsti ir ÄŻdiegti rakto %s iš %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Rakto failas %s negalÄ—jo bĹ«ti ÄŻdiegtas: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Raktas su kontroliniu kodu %s negalÄ—jo bĹ«ti pašalintas: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Paketas %s negali bĹ«ti pašalintas." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versija %s iš %s neÄŻdiegta" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Buvusi versija %s iš %s jau ÄŻdiegta" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Versija %s iš %s jau ÄŻdiegta" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Versija %s iš %s nÄ—ra galima." #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Turite nurodyti versijÄ… %s pasendinimui ÄŻ" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "VÄ—lesnÄ— versija %s iš %s jau yra ÄŻdiegta" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Paketas %s neprieinamas %s laidoje." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Paketas %s negali bĹ«ti pašalintas" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Paketas nepateikia teisingo „Installed-Size“ valdymo lauko. Ĺ˝iĹ«rÄ—kite " "„Debian Policy“ 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Licencijos raktas tuščias" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Licencijos rakte negali bĹ«ti vykdomojo kodo." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Licencijos rakto kelias %s neteisingas" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Licencijos raktas jau egzistuoja: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Licencijos rakto vieta yra nesaugi nes joje yra simboliniĹł nuorodĹł. Kelias " "%s atvaizduojamas ÄŻ %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Katalogas rakto ÄŻdiegimui dar neegzistuoja: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Nepavyko ÄŻrašyti rakto failo ÄŻ: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Ĺ ie paketai turi nepatenkintĹł priklausomybiĹł:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "bet jis yra virtualus paketas" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "bet jis neÄŻdiegtas" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "bet jis nebus ÄŻdiegtas" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "bet %s yra ÄŻdiegta" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "bet %s nebus ÄŻdiegta" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Nepavyko pridÄ—ti rakto ÄŻ patikimĹł programinÄ—s ÄŻrangos tiekÄ—jĹł sÄ…rašą" aptdaemon-1.1.1/po/uk.po0000644000175000017500000015615112117271433015647 0ustar renaterenate00000000000000# Ukrainian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-04-04 10:54+0000\n" "Last-Translator: Сергій Найтінгейл \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Перелік ключів надійних поŃтачальників ПЗ" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Щоб переглянŃти перелік довірених ключів, треба автентифікŃватиŃŃŚ." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "ВилŃчити завантажені пакŃнки" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Для вилŃчення завантажених пакŃнків треба автентифікŃватиŃŃŚ." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Змінити налаŃŃ‚Ńвання програмного забезпечення" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Щоб мати Đ·ĐĽĐľĐłŃ Đ·ĐĽŃ–Đ˝ŃŽĐ˛Đ°Ń‚Đ¸ налаŃŃ‚Ńвання програм, треба автентифікŃватиŃŃŚ." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Змінити Ńховище програм" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Для зміни налаŃŃ‚Ńвань Ńховищ програм, вам треба автентифікŃватиŃŃŹ." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Đ’Ńтановлення файла пакŃнка" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Щоб вŃтановити цей пакŃнок, треба автентифікŃватиŃŃŚ." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Оновлення інформації про пакŃнки" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Щоб оновити перелік програм, треба автентифікŃватиŃŃŚ." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Đ’Ńтановити чи вилŃчити пакŃнки" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Для вŃтановлення Ń– вилŃчення програм, треба автентифікŃватиŃŃŹ." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Додати нове Ńховище Ń– вŃтановити Đ· нього пакŃнки." #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Щоб вŃтановити програми Đ· нового джерела, треба автентифікŃватиŃŃŚ." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "Додати Ńховище для платних програм Ń– вŃтановити Đ· нього пакŃнки" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Щоб вŃтановити платні програми, треба автентифікŃватиŃŃŚ." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Оновлення пакŃнків" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Щоб вŃтановити оновлення, требя автентифікŃватиŃŃŚ" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "СкаŃŃвати завдання Ń–Đ˝Ńого кориŃŃ‚Ńвача" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "Щоб ŃкаŃŃвати чŃжі зміни в ПЗ, треба автентифікŃватиŃŃŹ." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "НалаŃŃ‚Ńвати прокŃŃ– для завантаження програм" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Щоб викориŃтовŃвати прокŃŃ– Ńервер для завантаження програм, треба " "автентифікŃватиŃŃŚ." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ПОМĐЛКĐ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Завантажено %sB Đ· %sB за %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Завантажено %sB Đ· %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ПОМĐЛКĐ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Ви не можете виконŃвати цю Đ´Ń–ŃŽ." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Створення черги" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Розв’язання залежноŃтей" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Đ‘Ńде вŃтановлено наŃŃ‚Ńпний НОВĐĐ™ пакŃнок (%(count)s):" msgstr[1] "Đ‘Ńде вŃтановлено наŃŃ‚Ńпні НОВІ пакŃнки (%(count)s):" msgstr[2] "Đ‘Ńде вŃтановлено наŃŃ‚Ńпні НОВІ пакŃнки (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "НаŃŃ‚Ńпний пакŃнок бŃде оновлений (%(count)s):" msgstr[1] "НаŃŃ‚Ńпні пакŃнки бŃĐ´Ńть оновлені (%(count)s):" msgstr[2] "НаŃŃ‚Ńпні пакŃнки бŃĐ´Ńть оновлені (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "НаŃŃ‚Ńпний пакŃнок бŃде Đ’ĐЛУЧЕНО (%(count)s):" msgstr[1] "НаŃŃ‚Ńпні пакŃнки бŃде Đ’ĐЛУЧЕНО (%(count)s):" msgstr[2] "НаŃŃ‚Ńпні пакŃнки бŃде Đ’ĐЛУЧЕНО (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Đ‘Ńде вŃтановлено СТĐРРВЕРСІЯ наŃŃ‚Ńпного пакŃĐ˝ĐşŃ (%(count)s):" msgstr[1] "Đ‘Ńде вŃтановлено СТĐРІ ВЕРСІЇ наŃŃ‚Ńпних пакŃнків (%(count)s):" msgstr[2] "Đ‘Ńде вŃтановлено СТĐРІ ВЕРСІЇ наŃŃ‚Ńпних пакŃнків (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "НаŃŃ‚Ńпний пакŃнок бŃде перевŃтановлено (%(count)s):" msgstr[1] "НаŃŃ‚Ńпні пакŃнки бŃде перевŃтановлено (%(count)s):" msgstr[2] "НаŃŃ‚Ńпні пакŃнки бŃде перевŃтановлено (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "НаŃŃ‚Ńпний пакŃнок бŃде Ńтримано (%(count)s):" msgstr[1] "НаŃŃ‚Ńпні пакŃнки бŃде Ńтримано (%(count)s):" msgstr[2] "НаŃŃ‚Ńпні пакŃнки бŃде Ńтримано (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Треба отримати архіви розміром %sĐ‘" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "ПіŃля проведення операції бŃде викориŃтано %sĐ‘ вільного ĐĽŃ–Ńця диŃĐşŃ." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "ПіŃля проведення операції бŃде звільнено %sĐ‘ на диŃĐşŃ." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Бажаєте продовжити [Т/Đ˝]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Щоб обробити декілька пакŃнків, візьміть їхні назви Ń Đ»Đ°ĐżĐşĐ¸:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Оновити кеŃ" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "СпробŃвати налагодити порŃŃені залежноŃті. Ця операція потенційно " "небезпечна, ĐľŃкільки може призвеŃти Đ´Đľ вилŃчення великої кількоŃті пакŃнків." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "СпробŃвати закінчити попереднє незаверŃене вŃтановлення" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Đ’Ńтановити вказані пакŃнки" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ПеревŃтановлення вказаних пакŃнків" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "ВилŃчити вказані пакŃнки" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "ВилŃчити вказані пакŃнки разом Đ· налаŃŃ‚Ńваннями" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Đ’Ńтановити ŃŃ‚Đ°Ń€Ń Đ˛ĐµŃ€ŃŃ–ŃŽ вказаних пакŃнків" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "ЗаŃтаріло: викориŃтовŃйте --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Оновити ŃиŃŃ‚ĐµĐĽŃ Đ±ĐµĐ·ĐżĐµŃ‡Đ˝Đ¸ĐĽ чином" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Оновити ŃиŃтемŃ, можливо вŃтановлюючи та вилŃчаючи пакŃнки" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Додати розповŃюджŃвача ПЗ Đ´Đľ ŃпиŃĐşŃ Ń‚Đ¸Ń…, ĐşĐľĐĽŃ ĐĽĐľĐ¶Đ˝Đ° довіряти" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "Додати keyid розповŃюджŃвача ПЗ (також вимагає викориŃтання опції --" "keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "ВикориŃтовŃвати вказаний Ńервер для поŃŃĐşŃ ĐşĐ»ŃŽŃ‡Ń–Đ˛" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Додати нове Ńховище Ń–Đ· вказаного deb-рядка" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Вказати альтернативний файл sources.list.d, Ń ŃŹĐşĐ¸Đą треба додавати Ńховища." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Показати ключі довірених розпоŃюджŃвачів ПЗ" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "ВилŃчити довірчий ключ для цього цифрового підпиŃŃ" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "ПереналаŃŃ‚Ńвати вŃтановлені пакŃнки. Можливо, потрібно бŃде відповіŃти на " "кілька запитань" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Đ‘ŃĐ´Ńть показанні запитання Ń–Đ· низьким приоритетом" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Не прив’язŃватиŃŃŚ Đ´Đľ apt терміналŃ" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Дозволити пакŃнки Đ· неавтентифікованих джерел" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "Показати Đ´ĐľĐ´Đ°Ń‚ĐşĐľĐ˛Ń Ń–Đ˝Ń„ĐľŃ€ĐĽĐ°Ń†Ń–ŃŽ про пакŃнки. Наразі лиŃе номер верŃŃ–Ń—" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "ОчікŃвання заверŃення автентифікації" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Не вимикайте Ń„ĐľĐ˝ĐľĐ˛Ń ŃĐ»ŃĐ¶Đ±Ń Ń‡ĐµŃ€ĐµĐ· Ń—Ń— неактивніŃть" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Не завантажŃвати жодних втŃлків" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "ПоказŃвати інформацію про внŃтріŃню обробкŃ" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Вийти Ń– замінити вже запŃŃ‰ĐµĐ˝Ń ŃĐ»ŃжбŃ" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "СлŃхати транŃпорт ŃеŃŃ–Đą DBus (Потрібен лиŃе для теŃŃ‚Ńвання)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Виконати операцію в ĐľĐşŃ€ĐµĐĽĐľĐĽŃ Ńередовищі" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Зберігати ŃтатиŃŃ‚Đ¸ĐşŃ ĐżŃ€ĐľŃ„Ń–Đ»ŃŽ Ń Đ˛ĐşĐ°Đ·Đ°Đ˝ĐľĐĽŃ Ń„Đ°ĐąĐ»Ń–" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Не вноŃьте жодних Đ·ĐĽŃ–Đ˝ Đ´Đľ ŃиŃтеми (тільки для розробників)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Đ’Ńтановлений файл" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Đ’Ńтановлені пакŃнки" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Доданий Đ· файла ключ" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "ĐšŃŤŃ ĐľĐ˝ĐľĐ˛Đ»ĐµĐ˝Đ¸Đą" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "ПоŃŃĐş заверŃено" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "ВилŃчений довірчий ключ" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "ВилŃчені пакŃнки" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Оновлені пакŃнки" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "СиŃтема оновлена" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "ЗаŃтоŃовані зміни" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Виправлене незаверŃене вŃтановлення" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Виправлені порŃŃені залежноŃті" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Додано джерело программного забезпечення" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Увімкнено компонент диŃтрибŃтива" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "ВилŃчені файли завантажених пакŃнків" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "ПереналаŃтовано вŃтановлені пакŃнки" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ĐŁŃпіŃно" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "СкаŃовано" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Збій" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Đ’Ńтановлення файлŃ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Đ’Ńтановлення пакŃнків" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Додавання ключа Đ· файлŃ" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Оновлення кеŃŃ" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "ВилŃчення довірчого ключа" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "ВилŃчення пакŃнків" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Оновлення пакŃнків" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Оновлення ŃиŃтеми" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ЗаŃтоŃŃвання Đ·ĐĽŃ–Đ˝" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Виправлення незаверŃеного вŃтановлення" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Виправлення вŃтановленого програмного забезпечення" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Додавання джерела программного забезпечення" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Вмикання ĐşĐľĐĽĐżĐľĐ˝ĐµĐ˝Ń‚Ń Đ´Đ¸ŃтрибŃтива" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Đ’ĐĐ»Ńчення завантажених файлів пакŃнків" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "ПереналаŃŃ‚Ńвання вŃтановлених пакŃнків" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "ПоŃŃĐş" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Збій вŃтановлення Ń„Đ°ĐąĐ»Ń ĐżĐ°ĐşŃнка" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Збій вŃтановлення програмного забезпечення" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Збій оновлення ŃпиŃĐşŃ ĐżŃ€ĐľĐłŃ€Đ°ĐĽĐ˝ĐľĐłĐľ забезпечення" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Збій вилŃчення елемента Đ·Ń– ŃпиŃĐşŃ Đ˝Đ°Đ´Ń–ĐąĐ˝Đ¸Ń… розповŃюджŃвачів програмного " "забезпечення" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Збій вилŃчення програмного забезпечення" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Збій оновлення програмного забезпечення" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Збій оновлення ŃиŃтеми" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Збій заŃтоŃŃвання Đ·ĐĽŃ–Đ˝ програмного забезпечення" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Збій виправлення незаверŃеного вŃтановлення" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Не вдалоŃŃŹ задовольнити порŃŃені залежноŃті" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Збій додавання джерела программного забезпечення" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Збій вмикання ĐşĐľĐĽĐżĐľĐ˝ĐµĐ˝Ń‚Ń Đ´Đ¸ŃтрибŃтива" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Збій під Ń‡Đ°Ń Đ˛Đ¸Đ»Ńчення завантажених файлів пакŃнків" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Не вдалоŃŃŹ виконати поŃŃĐş" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Додавання ліцензійного ключа" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Перевірте інтернет-з’єднання" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Якщо Ви викориŃтовŃєте Ńторонні джерела програм, відключіть Ń—Ń…, ĐľŃкільки " "вони чаŃто Ń” джерелом проблем.\n" "Потім виконайте в терміналі наŃŃ‚ŃĐżĐ˝Ń ĐşĐľĐĽĐ°Đ˝Đ´Ń: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Вибраний файл, можливо, не Ń” файлом GPG ключа або він поŃкоджений." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Не вдалоŃŃŹ вилŃчити вибраний ключ. ПереконайтеŃŃŚ, що вказано коректний " "цифровий підпиŃ." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Перевірте чи не запŃщено Ń–Đ˝ŃŃ ĐżŃ€ĐľĐłŃ€Đ°ĐĽŃ ĐşĐµŃ€Ńвання пакŃнками, наприклад " "Synaptic чи aptitude. Не можна викориŃтовŃвати кілька програм одночаŃно." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Це Ńерйозна проблема. СпробŃйте повторити пізніŃе. Якщо проблема виникне " "зновŃ, бŃĐ´ŃŚ лаŃка, надіŃліть звіт про ĐżĐľĐĽĐ¸Đ»ĐşŃ Ń€ĐľĐ·Ń€ĐľĐ±Đ˝Đ¸ĐşĐ°ĐĽ." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Перевірте напиŃання назви пакŃĐ˝ĐşŃ Ń– що відповідне Ńховище дозволено " "викориŃтовŃвати." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Немає потреби в оновленні." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Немає потреби в ŃŃтановці." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Немає потреби Ń Đ˛Đ¸Đ»Ńченні." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "Ви запроŃили вилŃчення пакŃнка, який Ń” невід’ємною чаŃтиною ŃиŃтеми." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "Втрачено з’єднання Đ· фоновою ŃĐ»Ńжбою. ШвидŃе за вŃе, вона впала." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Збій під Ń‡Đ°Ń Đ˛Ńтановлення або вилŃчення пакŃнка." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Запитаний параметр не підтримŃєтьŃŃŹ." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Схоже, виникла програмна помилка в aptdaemon — програмі, що дозволяє " "вŃтановлювати/вилŃчати програмне забезпечення та виконати Ń–Đ˝ŃŃ– пов’язані Đ· " "ним завдання" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Ця помилка може бŃти Đ·Ńмовлена потребою додаткових програмних пакŃнків, які " "відŃŃтні або не можŃть бŃти вŃтановлені. Крім того, певні пакŃнки можŃть " "конфліктŃвати між Ńобою, Ń‚ĐľĐĽŃ Ń—Ń… не можна вŃтановлювати одночаŃно." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Збій під Ń‡Đ°Ń Đ˛Ńтановлення ĐĽŃ–Đł виникнŃти через помилки Ń Đ˛Ń–Đ´ĐżĐľĐ˛Ń–Đ´Đ˝ĐľĐĽŃ " "пакŃнкŃ, або воно бŃло перерване Ń Đ˝ĐµĐżŃ€Đ¸ĐżŃŃтимий ŃпоŃіб. Вам Ńлід виправити " "ці помилки, ĐżĐµŃ€Ń Đ˝Ń–Đ¶ ви зможете вŃтановлювати або вилŃчати бŃĐ´ŃŚ-які Ń–Đ˝ŃŃ– " "програми." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Đ‘ŃĐ´ŃŚ-лаŃка, Ńкопіюйте файл на локальний комп’ютер та перевірте права на " "нього." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Đ’Ńтановлення пакŃнкŃ, що порŃŃŃŃ” Ńтандарти якоŃті не дозволено. Це може " "призвеŃти Đ´Đľ Ńерйозних проблем для ВаŃого комп’ютера. Đ‘ŃĐ´ŃŚ-лаŃка, звернітьŃŃŹ " "Đ´Đľ ĐľŃоби або організації, що надали цей пакŃнок та додайте деталі, приведені " "нижче." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Завантажений ключ ліцензії, який потребŃŃ” дане програмне забезпечення, не " "Đ´Ń–ĐąŃний або ĐĽŃ–Đł бŃти вŃтановлений\n" "не правильно. Перегляньте деталі для Đ±Ń–Đ»ŃŚŃ ĐşĐľĐ˝ĐşŃ€ĐµŃ‚Đ˝ĐľŃ— інформації." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Đ’ŃŃ– можливі оновлення вŃтановлені." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Ліцензійний ключ, що дозволяє викориŃтовŃвати дане програмне забезпечення не " "можливо завантажити. Đ‘ŃĐ´ŃŚ-лаŃка перевірте ВаŃе з’єднання Đ· мережею." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Не вдалоŃŃŚ завантажити файли пакŃнка" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Не вдалоŃŃŹ завантажити інформацію про Ńховище" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "ЗалежноŃті пакŃнків не можŃть бŃти розв’язані" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "СиŃтема пакŃнків поŃкоджена" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Ключ не вŃтановлений" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Ключ не вилŃчений" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Не вдалоŃŃŹ заблокŃвати менеджер пакŃнків" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Не вдалоŃŃŹ завантажити ŃпиŃок пакŃнків" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "ПакŃнка не Ń–ŃĐ˝ŃŃ”" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "ПакŃнок вже оновлено" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "ПакŃнок вже вŃтановлено" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "ПакŃнок не вŃтановлений" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Не вдаєтьŃŃŹ вилŃчити важливий ŃиŃтемний пакŃнок" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Завдання не може бŃти відŃтежене чи проконтрольоване" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Помилка операції Đ· пакŃнком" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Потрібне вŃтановлення ненадійних пакŃнків" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Попередне вŃтановленя не бŃло заверŃене" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "ПакŃнок поганої якоŃті" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Неможливо відкрити файл пакŃнкŃ" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "ФŃнкція не підтримŃєтьŃŃŹ" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Невдале завантаження ліцензійного ключа" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Помилка при вŃтановленні ліцензійного ключа" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "СиŃŃ‚ĐµĐĽŃ ĐľĐ˝ĐľĐ˛Đ»ĐµĐ˝Đľ" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Виникла неконтрольована помилка" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "ОчікŃвання запŃŃĐşŃ ŃĐ»Ńжби" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "ОчікŃвання" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "ОчікŃвання потрібного ноŃŃ–ŃŹ Đ· інформацією" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" "ОчікŃвання закінчення роботи Ń–Đ˝Ńих менеджерів програмного забезпечення" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "ОчікŃвання Đ·Đ°ĐżĐ¸Ń‚Ń ĐşĐľĐ˝Ń„Ń–ĐłŃраційного файла" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Виконання завдання" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Звантаження" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Запит джерел програмного забезпечення" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Очищення" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ЗаверŃено" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "СкаŃŃвання" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Завантаження ŃпиŃĐşŃ ĐżŃ€ĐľĐłŃ€Đ°ĐĽ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Đ’Ńтановлення %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "НалаŃŃ‚Ńвання %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "ВилŃчення %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Повне вилŃчення %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Нічого не відзначено Đ· %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "ЗапŃŃĐş піŃля-Ń–Đ˝Ńталяційного тригера %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Оновлення %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "РозпакŃвання %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Підготовка Đ´Đľ вŃтановлення %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Підготовка налаŃŃ‚Ńвань %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Підготовка вилŃчення %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Підготовка повного вилŃчення %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Đ’Ńтановлено %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "ПовніŃтю вилŃчено %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "ВилŃчено %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Опрацювання %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Виконано" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Помилка автентификації" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Отримання" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "ОчікŃвання" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Мережеве з’єднання недоŃŃ‚Ńпне" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "ДокладніŃе" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Файл" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Завантажено %sĐ‘" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Завантажено" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Потрібен CD/DVD '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Đ‘ŃĐ´ŃŚ-лаŃка, вŃтавте вищевказаний CD/DVD диŃĐş Đ´Đľ ĐżŃ€Đ¸Đ˛ĐľĐ´Ń '%s', щоб вŃтановити " "пакŃнки Đ· нього." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "Đź_родовжити" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Đ’Ńтановити" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ПеревŃтановити" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "ВилŃчити" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "ОчиŃтити" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Оновити" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Понизити верŃŃ–ŃŽ" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ПропŃŃтити оновлення" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Đ‘ŃĐ´ŃŚ-лаŃка, гляньте на перелік Đ·ĐĽŃ–Đ˝ нижче." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Треба вŃтановити додаткове програмне забезпечення" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Треба перевŃтановити додаткове програмне забезпечення" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Треба вилŃчити додаткове програмне забезпечення" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Треба очиŃтити додаткове програмне забезпечення" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Треба оновити додаткове програмне забезпечення" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Треба понизити верŃŃ–ŃŽ додаткового програмного забезпечення" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Оновлення бŃде пропŃщено" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Треба внеŃти додаткові зміни" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Загалом бŃде завантажено %sĐ‘" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sĐ‘ диŃĐşŃ Đ±Ńде звільнено" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Đ‘Ńде викориŃтано %sĐ‘ вільного ĐĽŃ–Ńця на диŃĐşŃ" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "Замінити ваŃŃ– зміни в '%s' новіŃою верŃією Ń„Đ°ĐąĐ»Ń Đ˝Đ°Đ»Đ°ŃŃ‚Ńвань?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Якщо ви не знаєте, що це за файл Ń– нащо він там, зазвичай можна безпечно " "його замінити." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Зміни" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "Đ—_алиŃити ŃŹĐş Ń”" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Замінити" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_ДетальніŃе" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "ОчікŃŃŽ заверŃення %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Завантаження %(files)s" msgstr[1] "Завантаження %(files)s" msgstr[2] "Завантаження %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "локальне Ńховище" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Завантаження Đ· %s" msgstr[1] "Завантаження Đ· %s" msgstr[2] "Завантаження Đ· %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "СтрŃктŃра %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "ĐžĐżĐ¸Ń %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "ĐžĐżĐ¸Ń ĐżŃ–Đ´ĐżĐ¸ŃŃ %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "ДоŃŃ‚Ńпні пакŃнки Đ· %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "ДоŃŃ‚Ńпне джерело %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "ДоŃŃ‚Ńпний переклад %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Переклад для %s (%s) Đ· %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Переклад для %s Đ· %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Переклад (%s) Đ· %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "ПакŃнок %s недоŃŃ‚Ńпний" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "ПакŃнок %s не вŃтановлено" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "ВерŃŃ–ŃŹ %s Đ· %s не вŃтановлена" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "ПакŃнок %s вже вŃтановлено" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "ВерŃŃ–ŃŹ %s Đ· %s відŃŃтня" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Помилка завантаження та вŃтановлення ключа %s Đ· %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Файл ключа %s не може бŃти вŃтановлений: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Ключ Đ· відбитком %s не може бŃти вилŃченим: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Неможливо вилŃчити пакŃнок %s." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "ВерŃŃ–ŃŹ %s Đ· %s не вŃтановлена" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Попередня верŃŃ–ŃŹ %s Đ· %s вже вŃтановлена" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "ВерŃŃ–ŃŽ %s Đ· %s вже вŃтановлено" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "ВерŃŃ–ŃŹ %s Đ· %s відŃŃтня" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" "Ви повинні вказати верŃŃ–ŃŽ %s, Đ´Đľ якої потрібно виконати зниження верŃŃ–Ń—" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "НайпізніŃа верŃŃ–ŃŹ %s Đ· %s вже вŃтановлена" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "ПакŃнок %s відŃŃтній Ń Đ˛Đ¸ĐżŃŃĐşŃ %s" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "ПакŃнок %s не може бŃти вилŃчений" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "ПакŃнок не надає відповідного контрольного поля Installed-Size. Див. Правила " "Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Ключ ліцензії відŃŃтній" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Ліцензійний ключ не має ĐĽŃ–Ńтити в Ńобі ĐşĐľĐ´Ń Đ´Đ»ŃŹ виконання." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "%s невірний Ńлях для ключа ліцензії" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Ключ ліцензії Ń–ŃĐ˝ŃŃ”: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "РозтаŃŃвання ключа ліцензії небезпечне Đ· тих пір, ŃŹĐş Ńлях ĐĽŃ–Ńтить Ńимволічні " "поŃилання. Шлях %s — Ńимволічне поŃилання %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Шлях ĐşŃди вŃтановлюєтьŃŃŹ ключ більŃе не Ń–ŃĐ˝ŃŃ”: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Збій запиŃŃ Ń„Đ°ĐąĐ»Ń ĐşĐ»ŃŽŃ‡Đ° Đ´Đľ %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "НаŃŃ‚Ńпні пакŃнки мають незадоволені залежноŃті:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "але це віртŃальний пакŃнок" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "але він не вŃтановлений" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "але він не бŃде вŃтановлений" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "але %s вŃтановлено" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "але %s має бŃти вŃтановлено" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Збій додавання ключа Đ´Đľ ŃпиŃĐşŃ Đ˝Đ°Đ´Ń–ĐąĐ˝Đ¸Ń… розповŃюджŃвачів програмного " #~ "забезпечення" aptdaemon-1.1.1/po/ur.po0000644000175000017500000010354312117271433015653 0ustar renaterenate00000000000000# Urdu translation for aptdaemon # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-06-23 23:56+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Urdu \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "پیکج تجدید" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "غلطی" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "غلطی:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "آپ ک٠اجازت نŰŰŚÚş ŘŻŰŚ نŰŰŚÚş اس کاررŮائی ک٠انجام دینے Ú©ŰŚ." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "قطار Ů…ŰŚÚş Úالا جا رŰا ŰŰ’" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "انحصاریŮÚş کا Ř§Ů†ŘŻŘ§Ř˛Ű Ú©Ř±Ř±Űا ŰŰ’" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/ne.po0000644000175000017500000010673312117271433015633 0ustar renaterenate00000000000000# Nepali translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-01-16 11:58+0000\n" "Last-Translator: Rabi Poudyal \n" "Language-Team: Nepali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "प्याकेज फाइल प्रतिस्थापन गर्नŕĄŕ¤ąŕĄ‹ŕ¤¸ŕĄŤ" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "प्याकेज जानकारी ताजा गर्नŕĄŕ¤ąŕĄ‹ŕ¤¸ŕĄŤ" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "प्याकेजहरू स्तरोन्नत गर्नŕĄŕ¤ąŕĄ‹ŕ¤¸ŕĄŤ" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "अर्को प्रयोगकर्ताको कार्य रद्द गर्नŕĄŕ¤ąŕĄ‹ŕ¤¸ŕĄŤ" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "आन्तरिक प्रक्रियारत जानकारी देखाउनŕĄŕ¤ąŕĄ‹ŕ¤¸ŕĄŤ" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "पार्श्वरŕĄŕ¤Ş विवरण तोकिएको फाइलमा राख्नŕĄŕ¤ąŕĄ‹ŕ¤¸ŕĄŤ" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "प्रतिस्थापित फाइल" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "प्रतिस्थापित प्याकेजहरू" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "फाइलबाट थपिएको कŕĄŕ¤žŕĄŤŕ¤śŕĄ€" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "हटाइएको विश्वस्त कŕĄŕ¤žŕĄŤŕ¤śŕĄ€" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "हटाइएका प्याकेजहरू" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "अद्यावधिक प्याकेजहरू" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "स्तरोन्नत गरिएको प्रणाली" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "लागू गरिएका परिवर्तनहरू" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "सफलतापूर्वक" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "रद्द गरियो" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "असफल भयो" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "फाइल प्रतिस्थापित हŕĄŕ¤ŕ¤¦ŕĄ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "प्याकेजहरू प्रतिस्थापित हŕĄŕ¤ŕ¤¦ŕĄ" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "फाइलबाट कŕĄŕ¤žŕĄŤŕ¤śŕĄ€ थपिŕ¤ŕ¤¦ŕĄ" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "क्यास अद्यावधिक गरिŕ¤ŕ¤¦ŕĄ" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "विश्वस्त कŕĄŕ¤žŕĄŤŕ¤śŕĄ€ हटाइदŕĄ" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "प्याकेजहरू हटाइदŕĄ" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "प्याकेजहरू अद्यावधिक गरिदŕĄ" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "प्रणाली स्तरोन्नत गरिदŕĄ" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "परिवर्तनहरू लागू गरिदŕĄ" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "तपाŕ¤ŕ¤•ो इन्टरनेट सम्बन्ध जाŕ¤ŕ¤š गर्नŕĄŕ¤ąŕĄ‹ŕ¤¸ŕĄŤŕĄ¤" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/eo.po0000644000175000017500000013221312117271433015624 0ustar renaterenate00000000000000# Esperanto translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-09-15 16:37+0000\n" "Last-Translator: Michael Moroni \n" "Language-Team: Esperanto \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Listigi Ĺťlosilojn de fidataj vendejoj" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por vidi la liston da fidataj Ĺťlosiloj." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Forigi elĹťutitajn pakaĵdosierojn" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por forigi elĹťutitajn pakaĵdosierojn." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "ĹśanÄťi programarajn agordojn" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por ĹťanÄťi programajn agordojn." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "ĹśanÄťi programarajn deponejon" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "AĹ­tentokontrolo necesas por ĹťanÄťi agordojn pri programaraj deponejoj." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instali pakaĵdosieron" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por instali ĉi tiun pakaĵon." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Äśisdatigi pakaĵajn informojn" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por Äťisdatigi la programaran katalogon." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instali aĹ­ forigi pakaĵojn" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por instali aĹ­ forigi programaron." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Instali programarojn el tre fidinda permesita depnejo." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Vi necesas aĹ­tentigadon por instali programarojn." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Aldoni novan deponejon kaj instali pakaĵojn el Äťi" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por instali programaron el nova fonto." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Aldoni novan deponejon de aĉetita programaro kaj instali pakaĵojn el Äťi" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por instali aĉetitan programaron." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Äśisdatigitaj pakaĵoj" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por instali Äťisdatigitan programaron." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Nuligi la taskon de alia uzanto" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "AĹ­tentokontrolo necesas por nuligi programarĹťanÄťojn de alia persono." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Agordi prokurilon por programar-elĹťutoj" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "AĹ­tentokontrolo necesas por uzi prokuran servilon por elĹťuti programaron." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERARO" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB el %sB je %sB/s elĹťutitaj" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%sB el %sB elĹťutitaj" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERARO:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Vi ne rajtas fari ĉi tiun agon." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Enviciganta" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Solvanta dependojn" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "La sekva NOVA pakaĵo estos instalata (%(count)s):" msgstr[1] "La sekvaj NOVAJ pakaĵoj estos instalataj (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "La sekva pakaĵo estos Äťisdatigata (%(count)s):" msgstr[1] "La sekvaj pakaĵoj estos Äťisdatigataj (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "La sekva pakaĵo estos FORIGATA (%(count)s):" msgstr[1] "La sekvaj pakaĵoj estos FORIGATAJ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "La sekva pakaĵo estos MALÄśISDATIGATA (%(count)s):" msgstr[1] "La sekvaj pakaĵoj estos MALÄśISDATIGATAJ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "La sekva pakaĵo estos reinstalata (%(count)s):" msgstr[1] "La sekvaj pakaĵoj estos reinstalataj (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "La sekva pakaĵo estas retenita (%(count)s):" msgstr[1] "La sekvaj pakaĵoj estas retenitaj (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Necesas elĹťuti %sB da arÄĄivoj." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Post ĉi tiu ago, %sB da plia diskspaco estos uzata." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Post ĉi tiu ago, %sB da diskspaco estos liberigata." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Äu vi volas daĹ­rigi [J/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Por agi por pli ol unu pakaĵo, enmetu la pakaĵnomojn en citilojn:\n" "aptdcon --install \"fuo baro\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "RefreĹťigi kaĹťmemoron" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Provi solvi rompitajn dependecojn. Tio povas esti danÄťera ĉar la ago eble " "provus forigi multajn pakaĵojn." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Provi fini antaĹ­e nekompletigitan instaladon" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instali la indikitajn pakaĵojn" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstali la indikitajn pakaĵojn" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Forigi la indikitajn pakaĵojn" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Forigi la indikitajn pakaĵojn, inkluzive agordajn dosierojn" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "MalÄťisdatigi la elektitajn pakaĵojn" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Evitenda: Bonvole uzu --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Äśisdatigi la sistemon sekurmaniere" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Äśisdatigi la sistemon, eble instaligante kaj forigante pakaĵojn." #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Aldoni la vendiston al la fidatoj" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Aldoni la 'keyid' de la vendisto (bezonas ankaĹ­ --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Uzi la indikitan Ĺťlosilservilon por serĉi Ĺťlosilojn" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Aldoni novan deponejon per la indikita deb-linio" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Specifi alternativan sources.list.d-dosieron, al kiu deponejoj estu " "aldonataj." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Montri Ĺťlosilojn de fidataj vendistoj" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Forigi la fidatan Ĺťlosilon de la indikita fingropremo" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reagordi instalitajn pakaĵojn. Opcie la minimuma prioritato de demandoj " "specifeblas" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "La minimume montrenda debconf-prioritato de demandoj" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Ne konekti al la apt-terminalo" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Permesi pakaĵojn el neaĹ­tentigitaj fontoj" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "Montri kromajn informojn pri la pakaĵoj. Nun nur la versionumeron" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Atendanta aĹ­tentokontrolon" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Ne ĉesigi la demonon pro neaktiveco" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Ne Ĺťargi iujn kromprogramojn" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Montri informojn pri interna traktado" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Äesigi kaj anstataĹ­igi jam aktivan demonon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "AĹ­skulti je la DBus-seancbuso (nur postulata por testado)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Efektivigi operaciojn en la elektita â€chroot’" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Konservi profilstatojn en la specifan dosieron" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Ne fari ajnan ĹťanÄťon al la sistemo (Nur uzinda por programistoj)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Instalita dosiero" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Instalitaj pakaĵoj" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Aldonis Ĺťlosilon el dosiero" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Aktualigis kaĹťmemoron" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Serĉo farita" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Forigis fidatan Ĺťlosilon" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Forigis pakaĵojn" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Äśisdatigis pakaĵojn" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Promociis sistemon" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Aplikis ĹťanÄťojn" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Riparis nekompletan instalon" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Riparis rompitajn dependecojn" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Aldonis programaran fonton" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Ebligis komponenton de la distribuo" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Forigis elĹťutitajn pakaĵdosierojn" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Reagordis instalitajn pakaĵojn" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Sukcesis" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Nuligita" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Fiaskis" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Instalas dosieron" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Instalas pakaĵojn" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Aldonas Ĺťlosilon el dosiero" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Aktualigas kaĹťmemoron" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Forigas fidatan Ĺťlosilon" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Forigas pakaĵojn" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Äśisdatigas pakaĵojn" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Promocias sistemon" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Aplikas ĹťanÄťojn" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Riparas nekompletan instalon" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Riparanta instalitan programaron" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Aldonas programaran fonton" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Ebligas komponenton de la distribuo" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Forigas elĹťutitajn pakaĵdosierojn" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Reagordas instalitajn pakaĵojn" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Ĺśerĉanta" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Instalado de la pakaĵdosiero fiaskis" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Instalado de programaro fiaskis" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Fiaskis la aktualigo de la programara listo" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Fiaskis la forigo de la programaro-liveranto el la listo de fidata programaro" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Fiaskis forigo de programaro" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Fiaskis la programara Äťisdatigo" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Fiaskis la promociado de la sistemo" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Fiaskis la apliko de programaraj ĹťanÄťoj" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Fiaskis la riparo de nekompleta instalo" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Fiaskis la riparo de rompiÄťintaj dependecoj" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Aldono de programara fonto fiaskis" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Ebligo de komponento de la distribuo fiaskis" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Fiaskis la forigo de elĹťutitaj pakaĵdosieroj" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Serĉo ne sukcesis" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Aldonanta permesilĹťlosilon" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Kontrolu vian interret-konekton" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Kontrolu ĉu vi uzas deponejojn de eksteraj liverantoj. Se jes, malebligu " "ilin, ĉar ili estas kutima fonto da problemoj.\n" "Aldone, rulu la sekvan komandon en terminalo: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Eble aĹ­ la elektita dosiero ne estas GPG-Ĺťlosila dosiero aĹ­ Äťi estas fuĹťita." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Ne eblis forigi la elektitan Ĺťlosilon. Kontrolu ĉu vi provizis validan " "fingropremon." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Kontrolu ĉu vi nun uzas alian programar-mastruman ilon, ekz. Synaptic aĹ­ " "aptitue. Nur unu ilo samtempe povas fari ĹťanÄťojn." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Tio ĉi estas serioza problemo. Reprovu poste. Se tiu ĉi problemo prezentas " "sin denove, bonvolu raporti eraron al la programistoj" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Kontrolu la literumadon de la pakaĵnomo, kaj kontrolu ĉu la Äťusta deponejo " "estas ebligita." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Ne necesas Äťisdatigi." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Mankas neceso por instalado" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Ne necasas forigado." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "Vi petis forigi pakaĵon kiu estas esenca parto de via sistemo." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "La konekto al la demono perdiÄťis. VerĹťajne la fona demono kolapsis." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Fiaskis la instalo aĹ­ forigo de programara pakaĵo." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "La petita trajto ne estas subtenata" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Ĺśajnas, ke programaderaro estas en aptdaemon, la programaro kiu permesas vin " "instali/forigi programarojn kaj por plenumi aliajn pakaĵadministradajn " "taskojn." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Eble tiu eraro estis kaĹ­zita de neinstalitaj aĹ­ neinstaleblaj nepraj " "pakaĵoj. Krome povas esti konflikto inter programaraj pakaĵoj kiuj ne rajtas " "esti instalitaj samtempe." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Tio necesas instalon de pakaĵoj el neaĹ­tentigitaj fontoj." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Eble la instalo fiaskis pro eraro en la koncerna programar-pakaĵo aĹ­ Äťi " "estis malÄťuste ĉesita. Vi devas ripari Äťin antaĹ­ ol vi povas instali aĹ­ " "forigi ajnan plian programaron." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Bonvolu kopii la dosieron al via loka komputilo kaj kontroli la " "dosierpermesojn." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "La instalo de pakaĵo kiu atencas la kvalitonormojn estas nepermesata. Tio " "povas kaĹ­zi seriozajn problemojn sur via komputilo. Bonvole kontaktu la " "personon aĹ­ organizon, kiu provizis ĉi tiun pakaĵdosieron kaj inkluzivu la " "detalojn supre." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "La elĹťutita permesilĹťlosilo, kiu estas postulata por ruli ĉi tiun eron de " "programaro, ne estas valida aĹ­ eble ne estas korekte instalita.\n" "Vidu la detalojn por pliaj informoj." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Äiuj disponeblaj Äťisdatigoj estas jam instalitaj." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "La permesilĹťlosilo, kiu permesas vin uzi ĉi tiun eron de programaro, ne " "elĹťuteblas. Bonvole kontrolu vian retkonekton." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Fiaskis elĹťuti pakaĵdosierojn" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Fiaskis elĹťuti deponejajn informojn" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Pakaĵaj dependecoj ne povas esti solvataj" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "La pakaĵa sistemo estas kaduka" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Ĺślosilo estas neinstalita" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Ĺślosilo estas neforigita" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Fiaskis Ĺťlosi la pakaĵadministrilon" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Fiaskis Ĺťargi la pakaĵliston" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakaĵo ne ekzistas" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Pakaĵo estas jam Äťisdata" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakaĵo jam estas instalita" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakaĵo ne estas instalita" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Fiaskis forigi estencan sistempakaĵon" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Tasko ne povas esti monitorata aĹ­ kontrolata" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Pakaĵoperacio fiaskis" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Postulas instalon de nefidataj pakaĵoj" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "AntaĹ­a instalo ne estis kompletigita" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "La pakaĵo estas malbonkvalita" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Ne eblis malfermi pakaĵdosieron" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Nesubtenata trajto" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "ElĹťuto de permesilĹťlosilo fiaskis" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Instalo de permesilĹťlosilo fiaskis" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "La sistemo estas jam Äťisdata" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Okazis netraktebla eraro" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Atendas la starton de servo" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Atendas" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Atendas postulatan datumportilon" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Atendas Äťis aliaj programaraj administriloj ĉesas" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Atendas la fenestron de la agordodosiero" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Aktiva tasko" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ElĹťutas" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Petanta pri programarfontoj" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Purigado" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Finita" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Nuligas" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Ĺśargas programaran liston" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Instalado de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Agordado de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Forigado de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Tute foriganta %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Notanta malaperon de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Rulas post-instalan ekagilon %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Promociado de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Malpakanta %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Pretiganta instalon de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Pretiganta agordojn por %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Pretiganta forigon de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Pretiganta tutan forigon de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s instalita" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s tute forigata" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s forigita" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Procesanta %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Preta" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "AĹ­tentokontrolo malsukcesis" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Venigas" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Senokupe" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Reto ne disponeblas" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detaloj" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Dosiero" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "ElĹťutis %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "ElĹťutis" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Lumdisko '%s' estas bezonata" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Metu la supre indikitan CD/DVD en ingo '%s' por instali programarajn " "pakaĵojn el Äťi." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "D_aĹ­rigi" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instali" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstali" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Forigi" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Plene forigi" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Äśisdatigi" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "MalÄťisdatigi" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Preterpasi Äťisdatigon" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Bonvolu rigardi la suban ĹťanÄťoliston." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Aldona programaro devas esti instalita" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Aldona programaro devas esti reinstalita" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Aldona programaro devas esti forigita" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Aldona programaro devas esti plene forigita" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Aldona programaro devas esti Äťisdatigita" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Aldona programaro devas esti malpromociita" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Äśisdatigoj estos transsaltataj" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Aldona ĹťanÄťoj nepras" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Entute %sB devos esti elĹťutita." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB da diskspaco estos liberigita" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB da plia diskspaco estos uzata." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Äu anstataĹ­igi viajn ĹťanÄťojn en '%s' per pli nova versio de la agordo-" "dosiero?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Se vi ne scias kial la dosiero jam ekzistas, kutime vi povas senprobleme " "anstataĹ­igi Äťin." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "Ĺśa_nÄťoj" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Konservi" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_AnstataĹ­igi" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detaloj" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Atendas Äťis %s ĉesas" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "ElĹťutas %(files)s" msgstr[1] "ElĹťutas %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "lokaj deponejoj" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "ElĹťutanta el %s" msgstr[1] "ElĹťutanta el %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Strukturo de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Priskribo de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Priskriba subskribo de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Disponeblaj pakaĵoj de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Disponeblaj fontoj ĉe %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Disponeblaj tradukoj ĉe %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Tradukoj por la %s (%s) ĉe %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Tradukoj por la %s ĉe %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Tradukoj (%s) el %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Pakaĵo %s estas nedisponebla" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pakaĵo %s ne estas instalita" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "La versio %s de %s ne estas instalita" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Pakaĵo %s estas jam instalita" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "La versio %s de %s ne estas havebla." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "URL de la Ĺťlosila servilo nevalidas: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Nevalida protokolo de la servilo: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Nevalida identigilo de Ĺťlosilo: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Fiaskis elĹťuti kaj instali la Ĺťlosilon %s el %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Ne eblis instali Ĺťlosildosieron %s: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Ne eblis forigi Ĺťlosilon kun fingropremo %s: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Ne eblas forigi pakaĵon %s." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "La versio %s de %s ne estas instalita" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "La antaĹ­a versio %s de %s jam estas instalita" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "La versio %s de %s jam estas instalita" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "La versio %s de %s ne estas havebla" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Vi devas specifi version al kiu %s estu malpromociata" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "La pli posta versio %s de %s jam estas instalita" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "La pakaĵo %s ne estas havebla en la eldono %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Ne eblas forigi pakaĵon %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "La pakaĵo ne provizas validan kontrolkampon 'Installed-Size' (Grando-" "Instalita). Vidu Debian-politikon 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "La permesilĹťlosilo estas malplena" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "La permesilĹťlosilo ne estas permesita por enhavi ruleblan kodon." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "La pado de la permesilĹťlosilo %s nevalidas" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "La permesilĹťlosilo jam ekzistas: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "La loko de la permesilĹťlosilo ne sekuras, ekde Äťi enhavas simbolajn " "ligilojn. La pado %s ligas al %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "La dosierujo, kie instali la Ĺťlosilo ne ankoraĹ­ ekzistas: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Skribado de la Ĺťlosildosiero en %s fiaskis" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "La sekvaj pakaĵoj havas neefektivigitajn dependecojn:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "sed Äťi estas virtuala pakaĵo" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "sed Äťi ne estas instalita" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "sed Äťi ne estas instalota" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "sed %s estas instalita" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "sed %s estas instalota" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Fiaskis la aldono de la Ĺťlosilo al la listo de fidata programaro" aptdaemon-1.1.1/po/ko.po0000644000175000017500000013726712117271433015650 0ustar renaterenate00000000000000# Korean translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-30 12:15+0000\n" "Last-Translator: Kim Boram \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "신뢰í•는 공급ěžěť 키 목록" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "신뢰할 ě ěžëŠ” í‚¤ěť ëŞ©ëˇťěť„ 보려면 인증이 필요합ë‹ë‹¤." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "다운로드한 패키지 파일을 ě śę±°" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "다운로드한 패키지 파일을 지우려면 인증이 필요합ë‹ë‹¤." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "소프트웨어 설정 바꾸기" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "소프트웨어 설정을 바꾸려면 인증이 필요합ë‹ë‹¤." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "소프트웨어 저장소 바꾸기" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "소프트웨어 저장소 설정을 바꾸려면 인증이 필요합ë‹ë‹¤." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "패키지 파일 설ěą" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "ěť´ 패키지를 설ěąí•려면 인증이 필요합ë‹ë‹¤." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "패키지 ě •ëł´ 업데이트" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "소프트웨어 ěą´í로그를 업데이트í•려면 인증이 필요합ë‹ë‹¤." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "패키지 ě„¤ěą íąěť€ ě śę±°" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "프로그램을 추가 íąěť€ ě śę±°í•려면 인증이 필요합ë‹ë‹¤." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "매우 신뢰í•는 저장소ě—서 소프트웨어 설ěą" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "소프트웨어를 설ěąí•려면 인증을 해야합ë‹ë‹¤." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "ě 저장소를 추가í•ęł  패키지 설ěąí•기" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "ě 소스ě—서 소프트웨어를 설ěąí•려면 인증이 필요합ë‹ë‹¤." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "구입한 í”„ëˇśę·¸ëž¨ěť ě €ěžĄě†ŚëĄĽ 추가í•ęł  패키지 설ěą" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "구입한 프로그램을 설ěąí•려면 인증이 필요합ë‹ë‹¤." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "패키지 ě—…ę·¸ë ěť´ë“ś" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "업데이트한 소프트웨어를 설ěąí•려면 인증이 필요합ë‹ë‹¤." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "다른 사용ěžěť 작업 취소" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "다른 사용ěžěť ë°”ë€ ě†Śí”„íŠ¸ě›¨ě–´ëĄĽ 취소í•려면 인증이 필요합ë‹ë‹¤." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "소프트웨어 다운로드 프록시 설정" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "프록시 서버로 소프트웨어를 다운로드í•려면 인증이 필요합ë‹ë‹¤." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ě¤ëĄ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "다운로드함 %sB of %sB 속도 %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "다운로드함 %sB of %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ě¤ëĄ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "ěť´ 작업을 실행할 ě ěžëŠ” 권한이 없습ë‹ë‹¤." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "대기 중" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ěťěˇ´ě„± 문제 해결 중" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "ě로 설ěąí•  패키지 (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "ě—…ę·¸ë ěť´ë“śí•  패키지 (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "ě śę±°í•  패키지 (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "í•ěś„ 버전으로 다운그ë ěť´ë“śí•  패키지 (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "다시 설ěąí•  패키지 (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "그대로 유지할 패키지 (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "ě••ě¶• 파일 %sB를 가져와야 í•©ë‹ë‹¤." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "다음 동작은 %sBěť ë””ěŠ¤í¬ ěš©ëź‰ěť„ 추가로 사용합ë‹ë‹¤." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "다음 동작은 %sBěť ë””ěŠ¤í¬ ěš©ëź‰ěť„ 추가로 확보합ë‹ë‹¤." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "계속 ě§„í–‰í•시겠습ë‹ęąŚ(Y/N)?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "한 ę°śěť íŚ¨í‚¤ě§€ ěť´ě으로 작업í•려면 인용 기í¸ëˇś 패키지 이름을 ę°ě‹¸ě‹­ě‹śě¤.:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "ěşě‹ś 다시 읽기" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "망가진 ěťěˇ´ě„±ěť„ 해결í•려고 í•©ë‹ë‹¤. 많은 패키지를 ě śę±°í•  ě도 ěžëŠ” ěś„í—한 작업입ë‹ë‹¤." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ěť´ě „ě— ě™„ëŁŚí•ě§€ 못한 ě„¤ěą ë‹¤ě‹ś 시도" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "해당 패키지 다시 설ěą" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "해당 패키지 다시 설ěą" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "해당 패키지 ě śę±°" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "해당 패키지와 íŹ¬í•¨ëś ě„¤ě • 파일 ě śę±°" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "해당 패키지 다운그ë ěť´ë“ś" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "사용 ë¶ę°€: --safe-upgrade ěµě…ěť„ 사용í•십시ě¤" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "ě•ě „í•게 시스템 ě—…ę·¸ë ěť´ë“ś" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "패키지를 ě„¤ěą íąěť€ ě śę±°í•면서 시스템 ě—…ę·¸ë ěť´ë“ś" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "해당 공급ěžëĄĽ 신뢰í•는 항목으로 추가" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "공급ěžěť 키 ID 추가 (--keyserver ěµě…도 필요합ë‹ë‹¤.)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "키를 검ě‰í•기 ěś„í•ě—¬ 주어진 키 서버를 사용" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "주어진 deb-lineě—서 ě 공급ěžëĄĽ 추가합ë‹ë‹¤." #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "추가해야 í•  공급ěžěť ëŚ€ě• sources.list.d 파일을 지정합ë‹ë‹¤." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "신뢰í•는 공급ěžěť í‚¤ěť ëŞ©ëˇť 표시" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "주어진 지문을 가진 신뢰í•는 키 ě śę±°" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "설ěąí•ś 패키지를 다시 설정합ë‹ë‹¤. 추가ě ěśĽëˇś ě§ěťěť ěš°ě„  ěśěś„를 최소화할 ě ěžěеë‹ë‹¤." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "표시할 ě§ë¬¸ěť 최소 debconf ěš°ě„  ěśěś„" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "apt 터미ë„ě— ě˛¨ë¶€í•ě§€ ë§ě‹­ě‹śě¤." #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "인증í•ě§€ 않은 ě†ŚěŠ¤ěť íŚ¨í‚¤ě§€ëĄĽ í—용합ë‹ë‹¤." #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "íŚ¨í‚¤ě§€ě— ëŚ€í•ś 추가 ě •ëł´ 표시. í„재는 버전만 표시 중" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "인증을 기다리는 중" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "중지한 ěíśěť´ëŻ€ëˇś 데몬을 종료í•ě§€ ë§ě‹­ě‹śě¤" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "ě–´ë–¨ 플러그인도 ë¶ëź¬ě¤ě§€ 않기" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "ë‚´ë¶€ 작업 ě •ëł´ 보이기" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "ëťë‚¸ 후 이미 실행 중인 데몬 바꾸기" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "DBUS ě„¸ě… ë˛„ěŠ¤ 듣기 (ě‹śí— ëŞ©ě ěśĽëˇśë§Ś 사용합ë‹ë‹¤)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "주어진 chroot로 작업 ěí–‰" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "ëŞ…ě‹śëś íŚŚěťĽë‚´ě— í”„ëˇśíŚŚěťĽ 통계를 저장합ë‹ë‹¤" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "시스템 바꾸지 않기. (ę°śë°śěž ě „ěš©)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "설ěąí•ś 파일" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "설ěąí•ś 패키지" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "파일ě—서 추가한 키" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "업데이트한 ěşě‹ś" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "ę˛€ě‰ ě™„ëŁŚ" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "제거한 신뢰í•는 키" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "제거한 패키지" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "업데이트한 패키지" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "ě—…ę·¸ë ěť´ë“śí•ś 시스템" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "ë°”ë€ ë‚´ěš© ě ěš©í•¨" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "완료í•ě§€ 못한 ě„¤ěą ěíśëĄĽ 복구" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "ěťěˇ´ě„± 문제 해결" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "추가한 소프트웨어 소스" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "사용 중인 배포íŚěť 구성 요소" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "다운로드한 패키지 파일 ě śę±°" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "설ěąí•ś 패키지 다시 설정" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "성공" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "취소함" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "실패" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "파일 설ěą" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "패키지 설ěą" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "파일ě—서 키 추가" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ěşě‹ś 업데이트" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "신뢰í•는 키를 ě śę±°" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "패키지 ě śę±°" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "패키지 업데이트" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "시스템 ě—…ę·¸ë ěť´ë“ś" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ë°”ë€ ë‚´ěš© ě ěš©" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "완료í•ě§€ 못한 ě„¤ěą ěíśëĄĽ 복구 중" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "설ěąí•ś 소프트웨어 복구" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "소프트웨어 소스 추가" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "배포íŚěť 구성 요소 사용" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "다운로드한 패키지 파일 ě śę±°" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "설ěąí•ś 패키지 다시 설정" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "검ě‰" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "패키지 íŚŚěťĽěť ě„¤ěą ě‹¤íŚ¨" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "소프트웨어 ě„¤ěą ě‹¤íŚ¨" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "신뢰í•는 소프트웨어 íŚë§¤ěž ëŞ©ëˇťě— ę¸°ëĄĽ 추가할 ě 없습ë‹ë‹¤." #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "소프트웨어 목록 다시 읽기 실패" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "신뢰 목록ě—서 ęłµę¸‰ěž ě śę±° 실패" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "소프트웨어 ě śę±° 실패" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "소프트웨어 업데이트 실패" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "시스템 ě—…ę·¸ë ěť´ë“ś 실패" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "ě†Śí”„íŠ¸ě›¨ě–´ěť ë°”ë€ ë‚´ěš© ě ěš© 실패" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "완료í•ě§€ 못한 ě„¤ěą ěíś ëłµęµ¬ 작업 실패" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "ěťěˇ´ě„± 문제 해결 실패" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "소프트웨어 소스 추가를 실패í•ě€ěеë‹ë‹¤." #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "ë°°íŹ¬ěť ęµ¬ě„±ë¬Ľ 활성화를 실패í•ě€ěеë‹ë‹¤." #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "다운로드한 패키지 파일 ě śę±° 실패" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "ę˛€ě‰ ě‹¤íŚ¨" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "라이선스 키 추가" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "인터넷 연결 ěíśëĄĽ 확인í•십시ě¤." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "일ë°ě ěśĽëˇś ë¬¸ě śěť ě›ěť¸ěť´ ë는 서드 파티 저장소를 사용 여부를 확인한 후 사용í•ęł  ěžëŠ” 서드 파티 저장소를 사용í•ě§€ 않도록 " "설정í•십시ě¤.ë한 다음 명령을 터미ë„ě—서 실행í•십시ě¤: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "ě„ íťëś 파일은 GPG 키 파일이 ě•„ë‹ę±°ë‚ ě¬ë°”르지 않은 파일입ë‹ë‹¤." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "ě„ íťí•ś 키를 ě śę±°í•  ě 없습ë‹ë‹¤. ě¬ë°”른 지문을 ě śęłµí•는지 확인í•십시ě¤." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "í„재 시ë…틱 ë는 apttiude와 같은 다른 소프트웨어 관리 도구를 실행 중인지 확인í•십시ě¤. 한ë˛ě— 한 ę°śěť ëŹ„ęµ¬ë§Śěť´ 시스템을 바꿀 " "ě ěžěеë‹ë‹¤." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "ěť´ę˛ěť€ 심ę°í•ś 문제입ë‹ë‹¤. 잠시 ë’¤ 다시 시도í•십시ě¤. ë§Śě•˝ 이러한 문제가 계속 ë°śěťí•śë‹¤ë©´ ę°śë°śěžě—게 ě¤ëĄëĄĽ ëł´ęł í•´ 주십시ě¤." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "패키지 ěť´ë¦„ěť ě˛ ěžëĄĽ 확인í•십시ě¤, 패키지 이름으로 ě í•©í•ś 저장소를 사용í•도록 í•©ë‹ë‹¤." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "업데이트할 필요가 없습ë‹ë‹¤." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "설ěąí•  필요가 없습ë‹ë‹¤" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "ě śę±°í•  필요가 없습ë‹ë‹¤." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "ě‹śěŠ¤í…śěť í•„ě 패키지를 ě śę±°í•  ę˛ěť„ 요청í–습ë‹ë‹¤." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "데몬 연결을 ěžě–´ 버렸습ë‹ë‹¤. 백그라운드 데몬이 충돌한 ę˛ěť´ 이유일 가능서이 높습ë‹ë‹¤." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "ě†Śí”„íŠ¸ě›¨ě–´ěť ě„¤ěą íąěť€ ě śę±°ě— ě‹¤íŚ¨í–습ë‹ë‹¤." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "요청한 기능을 ě§€ě›í•ě§€ 않습ë‹ë‹¤." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "ěť´ ę˛ěť€ aptdaemoněť í”„ëˇśę·¸ëžë°Ť ě¤ëĄěť¸ ę˛ ę°™ěŠµë‹ë‹¤. ěť´ 소프트웨어는 프로그램을 설ěąí•ęł  ě śę±°í•  ě ěžę˛Ś 한 후 작업과 관계 ěžëŠ” " "다른 패키지 관리ěžëĄĽ 실행합ë‹ë‹¤." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "ěť´ ě¤ëĄëŠ” 요청한 추가 소프트웨어 패키지가 ě—†ę±°ë‚ ě„¤ěąí•  ě 없을 경우 ë°śěťí•©ë‹ë‹¤.ë한 ëŹ™ě‹śě— ě„¤ěąí•  ě 없는 소프트웨어 íŚ¨í‚¤ě§€ěť ě¶©ëŹŚěťĽ " "ě도 ěžěеë‹ë‹¤." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "ě•전성을 확인í•ě§€ 않은 ě¶śě˛ě—서 패키지를 설ěąí•´ě•Ľ í•©ë‹ë‹¤." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "íŚ¨í‚¤ě§€ě— ë¬¸ě śę°€ ěžě—ę±°ë‚, 설ěąę°€ ě¬ë°”르지 않은 방법으로 취소í•ě—¬ ě„¤ěą ęłĽě •ě— ě‹¤íŚ¨í–습ë‹ë‹¤.추가 소프트웨어를 설ěą/ě śę±° í•기 ě „ě— ěš°ě„  " "ěť´ 문제를 해결해야 í•©ë‹ë‹¤." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "파일을 컴퓨터로 복사í•ě—¬ 파일 권한을 확인해보세요." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "í’ě§ ę¸°ě¤€ě— ě–´ę¸‹ë‚ś 패키지를 설ěąí•  ě 없습ë‹ë‹¤. ěť´ę˛ěť€ ě»´í“¨í„°ě— ë¬¸ě śëĄĽ 일으킬 ě ěžěеë‹ë‹¤.본 패키지를 제공한 사람 íąěť€ ę¸°ę´€ě— ě—°ëť˝í•ś " "후 ě•„ëžěť 정보를 첨부해주세요." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "ěť´ 소프트웨어를 사용í•는데 필요한 다운로드 라이선스 키가 유효í•ě§€ ě•Šę±°ë‚ ě¬ë°”로 설ěąí•  ě 없습ë‹ë‹¤.\n" "더 많은 정보를 ěžě„¸í•ś 내용을 확인í•십시ě¤." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "사용할 ě ěžëŠ” 모든 ě—…ę·¸ë ěť´ë“śëĄĽ 설ěąí–습ë‹ë‹¤." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "ěť´ 소프트웨어를 사용í•는데 필요한 라이선스 키를 다운로드할 ě 없습ë‹ë‹¤.ë„¤íŠ¸ě›Śí¬ ě—°ę˛°ěť„ 확인í•십시ě¤." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "ěť´ 동작을 ě행할 ě ěžëŠ” 권한이 없습ë‹ë‹¤." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "ě¬ë°”르지 않은 ě•”í¸ëĄĽ ěž…ë Ąí–ę±°ë‚ ěť¸ě¦ťěť„ 취소í–습ë‹ë‹¤.\n" "ëżë§Ś ě•„ë‹ëťĽ ě•”í¸ ěž…ë Ą 대화 ěěžëĄĽ 볼 ě 없는 경우ě—는 기ě ě ěť¸ ě›ěť¸ěśĽëˇś ěť´ ě¤ëĄę°€ ë°śěťí–ěť„ ě ěžěеë‹ë‹¤. 사용ěžěť 데스í¬í†± í™ę˛˝ěť´ " "PolicyKit ě„¸ě… ě—이전트를 ě śęłµí•ě§€ 않습ë‹ë‹¤." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "패키지 파일 ë‹¤ěš´ëˇśë“śě— ě‹¤íŚ¨í–습ë‹ë‹¤" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "저장소 ě •ëł´ ë‹¤ěš´ëˇśë“śě— ě‹¤íŚ¨í•¨" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "패키지 ěťěˇ´ě„±ěť„ 해결할 ě 없습ë‹ë‹¤" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "패키지 시스템이 망가졌습ë‹ë‹¤" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "키가 설ěąëě§€ 않ě•습ë‹ë‹¤" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "키를 ě śę±°í•ě§€ 않ě•습ë‹ë‹¤" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "패키지 관리ěžëĄĽ 잠글 ě 없습ë‹ë‹¤" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "패키지 목록을 ë¶ëź¬ě¤ě§€ 못í–습ë‹ë‹¤" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "패키지가 존재í•ě§€ 않습ë‹ë‹¤" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "íŽí‚¤ě§€ëĄĽ ëŞ¨ë‘ ě—…ëŤ°ěť´íŠ¸í–습ë‹ë‹¤" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "패키지를 이미 설ěąí–습ë‹ë‹¤" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "패키지를 설ěąëě§€ 않ě•습ë‹ë‹¤" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "í•„ě 시스템 패키지를 ě śę±°í•  ě 없습ë‹ë‹¤" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "작업을 ę°ě‹śí•ę±°ë‚ í†µě śí•  ě 없습ë‹ë‹¤" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "패키지 작업 실패" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "신뢰할 ě 없는 패키지를 설ěąí•´ě•Ľ í•©ë‹ë‹¤" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "ěť´ě „ ě„¤ěą ěž‘ě—…ěť„ 완료í•ě§€ 못í–습ë‹ë‹¤" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "íŚ¨í‚¤ě§€ěť í’ě§ěť´ ë‚ě©ë‹ë‹¤." #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "패키지 파일 ě—´ ě 없음" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "ě§€ě›í•ě§€ 않는 기능" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "라이선스 키 다운로드 실패" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "라이선스 키 ě„¤ěą ě‹¤íŚ¨" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "시스템을 ëŞ¨ë‘ ě—…ëŤ°ěť´íŠ¸í–습ë‹ë‹¤" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "인증할 ě 없습ë‹ë‹¤." #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "ěť´ 동작을 ě행할 ě ěžëŠ” 권한이 없습ë‹ë‹¤." #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "ě˛ë¦¬í•  ě 없는 ě¤ëĄę°€ ë°śěťí•ě€ěеë‹ë‹¤." #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "서비스 시작을 기다립ë‹ë‹¤" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "대기 중" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "요구í•는 미디어를 기다리는 중" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "다른 소프트웨어 관리ěžë“¤ěť´ ëťë‚는 ę˛ěť„ 기다립ë‹ë‹¤" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "설정 파일 프롬프트를 기다립ë‹ë‹¤" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "작업 실행 중" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "다운로드 중" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "소프트웨어 소스 ě§ěť" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "지우는 중" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "완료함" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "취소 중" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "소프트웨어 목록을 ë¶ëź¬ě¤ëŠ” 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%sěť„(를) 설ěąí•는 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%sěť„(를) 설정í•는 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%sěť„(를) ě śę±°í•는 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s 완전í•게 ě śę±°" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "%sěť´(ę°€) 사라지지 않음" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "ě„¤ěą í›„ 트리거 %sěť„(를) 실행í•는 중입ë‹ë‹¤" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%sěť„(를) ě—…ę·¸ë ěť´ë“ś í•는 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%sěť ě••ě¶•ěť„ í•´ě śí•는 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "%sěť„(를) 설ěąí•  준비를 í•는 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "%sěť„(를) 설정할 준비를 í•는 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "%sěť„(를) ě śę±°í•  준비를 í•는 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "%sěť„(를) ě™„ě „íž ě śę±°í•  준비를 í•는 중" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%sěť„(를) 설ěąí•¨" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%sěť„(를) ě™„ě „íž ě śę±°í•¨" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%sěť„(를) 제거함" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "%sěť„(를) ě˛ë¦¬í•는 중" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "완료" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "인증을 실패í–습ë‹ë‹¤" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "가져ě¤ëŠ” 중" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "대기" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "네트워í¬ëĄĽ 사용할 ě 없습ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "ěžě„¸í•ś ë‚´ěš©" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "파일" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sBěť„(를) 다운로드함" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "다운로드함" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s'ěť´(ę°€) 필요합ë‹ë‹¤" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "소프트웨어 패키지를 설ěąí•려면 ěś„ CD/DVDěť„(를) '%s' ë“śëťĽěť´ë¸Śě— ë„Łě–´ěŁĽě‹­ě‹śě¤." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "계속(_O)" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "설ěą" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "다시 설ěą" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "ě śę±°" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "ě™„ě „íž ě śę±°" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "ě—…ę·¸ë ěť´ë“ś" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "다운그ë ěť´ë“ś" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ě—…ę·¸ë ěť´ë“ś ę±´ë„ ë›°ę¸°" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "ě•„ëžěť ë°”ë€ ë‚´ěš© 목록을 확인í•십시ě¤." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "추가 소프트웨어를 설ěąí•´ě•Ľ í•©ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "추가 소프트웨어를 다시 설ěąí•´ě•Ľ í•©ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "추가 소프트웨어를 제거해야 í•©ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "추가 소프트웨어를 ě™„ě „íž ě‚­ě śí•´ě•Ľ í•©ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "추가 소프트웨어를 ě—…ę·¸ë ěť´ë“śí•´ě•Ľ í•©ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "추가 소프트웨어를 다운그ë ěť´ë“śí•´ě•Ľ í•©ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "업데이트를 ę±´ë„ ëśë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "추가로 바꿔야 í•©ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "ëŞ¨ë‘ %sB를 다운로드할 ę˛ěž…ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "ë””ěŠ¤í¬ ęłµę°„ěť %sBę°€ 비울 ę˛ěž…ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sBěť ë””ěŠ¤í¬ ęłµę°„ěť„ 사용할 ę˛ěž…ë‹ë‹¤." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "파일 '%s'ěť ë°”ë€ ë‚´ěš©ěť„ 최신 설정 파일로 바꾸시겠습ë‹ęąŚ?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "이유를 알 ě는 없어도 파일이 존재한다면 ę·¸ 파일은 ęµě˛´í•´ëŹ„ ě•전한 파일입ë‹ë‹¤." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "ë°”ë€ ë‚´ěš©(_C)" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "ěś ě§€(_K)" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "바꾸기(_R)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "ěžě„¸í•ś ë‚´ěš©(_D)" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "%sěť´(ę°€) ëťë‚는 ę˛ěť„ 기다리는 중" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "%(files)s 다운로드 중" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "로컬 저장소" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "%sě—서 다운로드 중" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s ě €ěžĄě†Śěť ě„śëŞ…" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s 저장소 설명" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%s 저장소 ě„śëŞ…ěť ě„¤ëŞ…" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "%s 저장소ě—서 사용할 ě ěžëŠ” 패키지" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "%s 저장소ě—서 사용할 ě ěžëŠ” 소스" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "%s 저장소ě—서 사용할 ě ěžëŠ” ë˛ě—­" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%s (%s)ěť ë˛ě—­ěť„ 저장소 %sě—서 가져ě¤ëŠ” 중" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s ë˛ě—­ěť„ 저장소 %sě—서 가져ě¤ëŠ” 중" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "ë˛ě—­ (%s), 저장소 %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "다음 패키지를 사용할 ě 없습ë‹ë‹¤ %s" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "다음 패키지가 설ěąëě§€ 않ě•습ë‹ë‹¤ %s" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "%s ë˛„ě „ěť %sěť„(를) 설ěąí•ě§€ 않ě•습ë‹ë‹¤" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "패키지 %s은(는) 이미 설ěąí–습ë‹ë‹¤" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "%sěť %s 버전을 이용할 ě 없습ë‹ë‹¤." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "키 서버 주소가 ě¬ë°”르지 않음: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "ě¬ë°”르지 않은 서버 프로토콜: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "ě¬ë°”르지 않은 키 ID: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "키 %sěť„(를) %sě—서 다운로드í•ęł  설ěąí•ě§€ 못í–습ë‹ë‹¤:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "키 파일 %sěť´(ę°€) 설ěąëě§€ 못í–습ë‹ë‹¤: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "지문이 ěžëŠ” 키 %sěť„(를) ě śę±°í•  ě ě—†ě—습ë‹ë‹¤: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "패키지 %sěť„(를) ě śę±°í•  ě 없습ë‹ë‹¤." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "버전 %sěť %sěť„(를) 설ěąí•ě§€ 않ě•습ë‹ë‹¤" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "이미 ěť´ě „ 버전 %sěť %sěť„(를) 설ěąí–습ë‹ë‹¤." #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "버전 %sěť %sěť„(를) 이미 설ěąí–습ë‹ë‹¤." #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "%sěť %s 버전을 이용할 ě 없습ë‹ë‹¤." #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "%sěť ë‹¤ěš´ę·¸ë ěť´ë“śí•  버전을 ě„ íťí•´ě•Ľ í•©ë‹ë‹¤." #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "이미 최신 버전 %sěť %sěť„(를) 설ěąí–습ë‹ë‹¤." #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "%s 릴리ě¦ě—서 패키지 %sěť„(를) 사용할 ě 없습ë‹ë‹¤." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "패키지 %sěť„(를) ě śę±°í•  ě 없습ë‹ë‹¤" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "ěť´ 패키지는 ě¬ë°”른 ě„¤ěą ěš©ëź‰ 정보를 ě śęłµí•ě§€ 않습ë‹ë‹¤. Debian Policy 5.6.20ěť„ 참고í•십시ě¤." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "라이선스 í‚¤ěť ë‚´ěš©ěť´ 없음" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "라이선스 키가 내장 실행 코드를 실행할 권한이 없습ë‹ë‹¤." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "라이선스 키 경로 %sěť´(ę°€) ě¬ë°”르지 않습ë‹ë‹¤" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "라이선스 키가 ě¬ë°”르지 않습ë‹ë‹¤: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "라이선스 í‚¤ěť ěś„ěąę°€ 심볼릭 ë§í¬ëĄĽ 포함í•ęł  ěžę¸° ë•Śë¬¸ě— ë¶ě•ě •í•©ë‹ë‹¤.경로 %sěť´(ę°€) %s(으)로 연결ëě—습ë‹ë‹¤" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "키를 설ěąí•  디렉터리가 ě•„ě§ ěˇ´ěž¬í•ě§€ 않습ë‹ë‹¤: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "키 파일을 작성할 ě 없습ë‹ë‹¤: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "다음 패키지가 충족할 ě 없는 ěťěˇ´ě„±ěť„ 가지고 ěžěеë‹ë‹¤:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "í•지만 ěť´ę˛ěť€ ę°€ě 패키지입ë‹ë‹¤." #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "í•지만 설ěąí•ě§€ 않ě•습ë‹ë‹¤." #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "í•지만 설ěąí•ě§€ 않습ë‹ë‹¤." #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "í•지만 %s은(는) 설ěąí–습ë‹ë‹¤" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "í•지만 %s은(는) 설ěąí–습ë‹ë‹¤" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "신뢰할 ě ěžëŠ” 소프트웨어 ęłµę¸‰ěž ëŞ©ëˇťě— í‚¤ëĄĽ 추가할 ě 없습ë‹ë‹¤" aptdaemon-1.1.1/po/pt_BR.po0000644000175000017500000013515312117271433016235 0ustar renaterenate00000000000000# Brazilian Portuguese translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-12-30 02:39+0000\n" "Last-Translator: Pablo Diego Moço \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Lista de fornecedores com chaves confiáveis" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Para ver a lista de chaves confiáveis, vocĂŞ precisa se autenticar." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Remover arquivos de pacote baixados" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Para limpar os arquivos do pacote baixado, vocĂŞ precisa se autenticar." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Alterar configurações de software" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Para alterar as configurações de software, vocĂŞ precisa se autenticar." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Alterar repositĂłrio de software" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Para alterar configurações de repositĂłrio de software, vocĂŞ precisa se " "autenticar." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instalar arquivo de pacote" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Para instalar esse pacote, vocĂŞ precisa se autenticar." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Atualizar informações do pacote" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Para atualizar o catálogo de softwares, vocĂŞ precisa se autenticar." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instalar ou remover pacotes" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Para instalar ou remover softwares, vocĂŞ precisa se autenticar." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Instale programas a partir do repositĂłrio altamente confiável da lista " "branca." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Para instalar programas, vocĂŞ precisa se autenticar." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Adicionar um novo repositĂłrio e instalar pacotes a partir dele" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Para instalar um software de uma nova fonte, vocĂŞ precisa se autenticar." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Adicionar um novo repositĂłrio do software comprado e instalar pacotes a " "partir dele" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Para instalar um software comprado, vocĂŞ precisa se autenticar." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Atualizar pacotes" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Para instalar um software atualizado, vocĂŞ precisa se autenticar." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Cancelar a tarefa de outro usuário" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Para cancelar as alterações de outros softwares, vocĂŞ precisa se autenticar." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Definir um proxy para baixar softwares" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Para usar um proxy para baixar o software, vocĂŞ precisa se autenticar." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERRO" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Baixados %sB de %sB em %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Baixados %sB de %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERRO:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "VocĂŞ nĂŁo tem permissĂŁo para executar esta ação." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Enfileirando" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Resolvendo dependĂŞncias" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "O NOVO pacote seguinte será instalado (%(count)s):" msgstr[1] "Os NOVOS pacotes seguintes serĂŁo instalados (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "O seguinte pacote será atualizado (%(count)s):" msgstr[1] "Os seguintes pacotes serĂŁo atualizados (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "O seguinte pacote será REMOVIDO (%(count)s):" msgstr[1] "Os seguintes pacotes serĂŁo REMOVIDOS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "O pacote a seguir será rebaixado (%(count)s):" msgstr[1] "Os pacotes a seguir serĂŁo desclassificados (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "O seguinte pacote será reinstalado (%(count)s):" msgstr[1] "Os seguintes pacotes serĂŁo reinstalados (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "O pacote a seguir será mantido (%(count)s):" msgstr[1] "Os pacotes a seguir serĂŁo mantidos (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Necessita baixar %sB de arquivos." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Depois dessa operação, %sB de espaço adicional do disco será usado." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Depois dessa operação, %sB de espaço de disco serĂŁo liberados." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "VocĂŞ quer continuar [S/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Para operar sobre mais do que um pacote, ponha os nomes dos pacote entre " "aspas:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Atualizar o cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Tenta resolver as dependĂŞncias quebradas. Operação potencialmente perigosa, " "uma vez que poderia tentar remover muitos pacotes." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Tente terminar uma instalação incompleta anterior" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instalar os pacotes dados" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstalar os pacotes dados" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Removes os pacotes dados" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Remover os pacotes dados incluindo arquivos de configuração" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Desatualizar os pacotes a seguir" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Obsoleto: Por favor use --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Atualizar o sistema num modo seguro" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Atualizar o sistema, possivelmente instalando e removendo pacotes" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Adicionar o servidor aos confiáveis" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Adicionar a keyid do servidor (tambĂ©m precisa de --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Usar a keyserver dada para procurar as chaves." #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Adicionar novo repositĂłrio para a dada deb-line" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Especificar um sources.list.d alternativo onde os repositĂłrios devem ser " "adicionados" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Listar as chaves dos servidores confiáveis" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Remover a chave confiável da referida impressĂŁo digital" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigurar pacotes instalados. Opcionalmente, a prioridade mĂ­nima das " "perguntas podem ser especificadas" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "A prioridade mĂ­nima da questĂŁo do debconf a ser exibida" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "NĂŁo anexar ao terminal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Permitir pacotes de fontes nĂŁo autenticadas" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Mostrar informações adicionais sobre os pacotes. Atualmente, apenas o nĂşmero " "da versĂŁo" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Aguardando pela autenticação" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "NĂŁo desligar o daemon por causa de inatividade" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "NĂŁo carregar quaisquer plug-ins" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Mostrar informações de processamento interno" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Sair e substituir um daemon já em execução" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Escutar no barramento de sessĂŁo DBus (Requerido apenas para testes" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Realizar operações no chroot dado" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Armazenar estatĂ­sticas do perfil no arquivo especificado" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "NĂŁo realizar nenhuma alteração no sistema (Ăştil para desenvolvedores)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Arquivo instalado" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Pacotes instalados" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Chave adicionada de um arquivo" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Cache atualizado" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Pesquisa concluĂ­da" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Chave confiável removida" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Pacotes removidos" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Pacotes atualizados" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistema atualizado" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Alterações aplicadas" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Instação incompleta foi reparada" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "DependĂŞncias quebradas foram reparadas." #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Fonde de software adicionado" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Componente da distribuição habilitado" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Pacotes baixados removidos" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Reconfigurando pacotes instalados" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Sucesso" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Cancelado" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Falhou" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Instalando arquivo" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Instalando pacotes" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Adicionando chave de um arquivo" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Atualizando cache" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Removendo chave confiável" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Removendo pacotes" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Atualizando pacotes" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Atualizando sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Aplicando mudanças" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Reparando instalação incompleta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Reparando o programa instalado" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Adicionando fonte de software" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Habilitando componente da distribuição" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Removendo pacotes baixados" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Reconfigurando pacotes instalados" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Pesquisando" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "A instalação do pacote falhou" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "A instalação do software falhou" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Erro ao adicionar a chave Ă  lista de fornecedores de programas confiáveis." #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Falha ao atualizar a lista de softwares" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Falha ao remover o distribuidor da lista de distribuidores confiáveis" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Falha ao remover o software" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "A atualização do software falhou" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "A atualização do sistema falhou" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Falha ao aplicar as alterações do software" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Reparando instalação incompleta que falhou" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Reparando dependĂŞncia quebrada que quebrou" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Adição de fonte de software falhou" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Habilitação do compoenente da distribuição falhou" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Removendo pacotes baixados com falhas" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "A pesquisa falhou" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Adicionar chave de licença" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Verificar sua conexĂŁo com a Internet." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Verifique se vocĂŞ está utilizando repositĂłrios de terceiros. Se estiver, " "desabilite-os, já que normalmente sĂŁo fonte de problemas.\n" "AlĂ©m disso, execute o seguinte comando em um Terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "O arquivo selecionado pode nĂŁo ser um arquivo de chave GPG ou pode estar " "corrompido." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "A chave selecionada nĂŁo pĂ´de ser removida. Confira se vocĂŞ deu uma " "identificação válida" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Confira se vocĂŞ está atualmente executando outro software para gerenciamento " "de pacotes, como o Synaptic ou o aptitude. Apenas um programa pode fazer " "mudanças por vez." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Este Ă© um problema grave. Tente novamente mais tarde. Se o problema " "persistir, por favor relate um erro para os desenvolvedores." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Confira a escrita do nome do pacote, e se o repositĂłrio apropriado está " "ativado." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "NĂŁo há qualquer necessidade de uma atualização." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "NĂŁo há qualquer necessidade de uma instalação" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "NĂŁo há qualquer necessidade de uma remoção." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "VocĂŞ solicitou remover um pacote que Ă© uma parte essencial do seu sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "A conexĂŁo com o daemon foi perdida. Provavelmente o daemon de segundo plano " "fechou de maneira inesperada." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "A instalação ou remoção de pacote de software falhou." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "O recurso solicitado nĂŁo Ă© mais suportado" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Parece haver um erro de programação no aptdaemon, o software que permite que " "vocĂŞ instale/remova softwares e realize outras tarefas relacionadas ao " "gerenciamento de pacotes." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Este erro pode ser causado pacotes adicionais de softwares necessários que " "estĂŁo perdidos ou nĂŁo sĂŁo instaláveis. AlĂ©m disso pode haver um conflito " "entre pacotes de software que nĂŁo podem ser instalados ao mesmo tempo." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Isso exige a instalação de pacotes de fontes nĂŁo autenticadas." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "A instalação pode ter falhado por causa de um erro no pacote do software " "correspondente ou foi cancelado de forma indesejada. VocĂŞ deve reparar isso " "antes de vocĂŞ poder instalar ou remover qualquer software adicional." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Por favor, copie o arquivo para seu computador local e verificar as " "permissões do arquivo" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "A instalação de um pacote que viola as normas de qualidade nĂŁo Ă© permitido. " "Isso pode causar sĂ©rios problemas no seu computador. Entre em contato com a " "pessoa ou organização que forneceu este arquivo e inclua os detalhes abaixo." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "A chave de licença baixada, necessária para executar este programa, nĂŁo Ă© " "válida ou pode nĂŁo ter sido instalada corretamente.\n" "Veja os detalhes para mais informações." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Todas as atualizações disponĂ­veis já foram instaladas." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "A chave de licença necessária para usar este programa nĂŁo pĂ´de ser baixada. " "Por favor, cheque sua conexĂŁo com a rede." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "VocĂŞ nĂŁo obteve os privilĂ©gios necessários para realizar essa ação." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "VocĂŞ forneceu uma senha errada ou cancelou a autorização.\n" "AlĂ©m do mais, pode haver uma razĂŁo tĂ©cnina para esse error se vocĂŞ nĂŁo viu " "um diálogo de senha: seu ambiente de trabalho nĂŁo fornece um agente se " "sessĂŁo PolicyKit," #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Falha ao baixar arquivos dos pacotes" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Falha ao baixar informações do repositĂłrio" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "DependĂŞncias de pacotes nĂŁo pode ser resolvida" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "O sistema de pacotes está quebrado" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Chave nĂŁo foi instalada" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Chave nĂŁo foi removida" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Falha ao travar gerenciador de pacotes" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Falha ao carregar a lista de pacotes" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pacote nĂŁo existe" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Pacote já está atualizado" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pacote já está instalado" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pacote nĂŁo está instalado" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Falha na remoção de pacote essencial ao sistema" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Tarefa nĂŁo pode ser monitorada ou controlada" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Falha na operação do pacote" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Necessita instalação de pacotes nĂŁo confiáveis" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Instalações anteriores nĂŁo foram completadas" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "O pacote Ă© de má qualidade" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "O pacote nĂŁo pĂ´de ser aberto" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Recurso nĂŁo suportado" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Falha ao baixar a chave de licença" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Falha ao instalar a chave de licença" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "O sistema já está atualizado" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "VocĂŞ nĂŁo obteve autorização" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "VocĂŞ nĂŁo tem autorização para efetuar essa ação" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Um erro que nĂŁo pode ser tratado ocorreu" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Aguardando o serviço para iniciar" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Aguardando" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Aguardando a mĂ­dia requerida" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Aguardando por outros gerenciadores de software para sair" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Aguardando o arquivo de configuração" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Executando tarefa" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Baixando" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Consultando os canais de software" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Limpando" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ConcluĂ­do" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Cancelando" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Carregando lista de softwares" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Instalando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configurando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Removendo %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Removendo completamente %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Observando o desaparecimento de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Executando gatilho pĂłs-instalação %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Atualizando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Desempacotando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Preparando a instalação de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Preparando a configuração de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Preparando a remoção de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Preparando a remoção completa de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s instalado" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s completamente removido" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s removido" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Processando %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "ConcluĂ­do" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Falha de autenticação" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Obtendo" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Ocioso" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Rede nĂŁo está disponĂ­vel" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalhes" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Arquivo" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Baixado %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Baixado" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' Ă© necessário" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Por favor insira o CD/DVD abaixo no drive '%s' para instalar pacotes dele." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinuar" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instalar" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstalar" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Remover" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Eliminar" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Atualizar" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Desatualizar" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Pular atualização" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Por favor verifique a lista de mudanças abaixo." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Software adicional deve ser instalado" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Software adicional deve ser reinstalado" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Software adicional deve ser removido" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Software adicional será removido completamente" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Software adicional será atualizado" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Software adicional será rebaixado" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Atualizações serĂŁo evitadas" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Alterações adicionais sĂŁo necessárias" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB serĂŁo baixados no total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB de espaço em disco será liberado." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB em espaço de disco serĂŁo liberados." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Deseja substituir as suas modificações em '%s' pela versĂŁo mais nova do " "arquivo de configuração?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Se vocĂŞ nĂŁo sabe por que o arquivo já está no local, geralmente Ă© seguro " "substituĂ­-lo." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Alterações" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Manter" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "Substitui_r" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalhes" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Esperando %s para sair" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Baixando %(files)s" msgstr[1] "Baixando %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "repositĂłrio local" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Baixando de %s" msgstr[1] "Baixando de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Estrutura de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Descrição de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Descrição da assinatura de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Pacotes disponĂ­veis em %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Fontes disponĂ­veis de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Traduções disponĂ­ves de %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Traduções para %s (%s) de %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Traduções para %s de %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traduções (%s) de %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "O pacote %s nĂŁo está disponĂ­vel" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pacote %s nĂŁo está instalado" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "A versĂŁo %s de %s nĂŁo está instalada" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "O pacote %s já está instalado" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "A versĂŁo %s do %s nĂŁo está disponĂ­vel." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "A URL do servidor de chaves Ă© inválida: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Protocolo do servidor Ă© inválido: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "ID da chave Ă© inválido: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Falha ao baixar e instalar a chave %s de %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Chave do arquivo %s nĂŁo pĂ´de ser instalado: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Chaves com impressões digitais %s nĂŁo puderam ser removidas: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "O pacote %s nĂŁo pode ser removido" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "A versĂŁo %s de %s nĂŁo está instalada" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "A versĂŁo do mantenedor %s de %s já está instalada" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "A versĂŁo %s de %s já está instalado" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "A versĂŁo %s do %s nĂŁo está disponĂ­vel." #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "VocĂŞ precisa especificar uma versĂŁo de %s para rebaixar" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "A versĂŁo mais atual %s de %s já está instalada" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "O pacote %s nĂŁo está disponĂ­vel no lançamento %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "O pacote %s nĂŁo pode ser removido" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "O pacote nĂŁo prevĂŞ um campo de controle válido para o Tamanho instalado. " "Consulte a PolĂ­tica Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "A chave de licença está vazia" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "A chave de licença nĂŁo Ă© permitida por conter cĂłdigo executável." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "O caminho %s da chave de licença Ă© inválido" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "A chave de licença já existe: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "O local da chave de licença Ă© insegura se contiver links simbĂłlicos. O " "caminho %s redireciona para %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "O diretĂłrio onde a chave será instalada ainda nĂŁo existe: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Falhou ao escrever o arquivo da chave para: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Os seguintes pacotes tĂŞm dependĂŞncias nĂŁo satisfeitas:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "mas Ă© um pacote virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "mas nĂŁo está instalado" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "mas nĂŁo vai ser instalado" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "mas a %s está instalada" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "mas a %s será instalada" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Falha ao adicionar a chave Ă  lista de distribuidores confiáveis" aptdaemon-1.1.1/po/dv.po0000644000175000017500000011036112117271433015632 0ustar renaterenate00000000000000# Divehi translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-01-16 11:46+0000\n" "Last-Translator: Michael Vogt \n" "Language-Team: Divehi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Downloaded %sB of %sB at %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Downloaded %sB of %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "އެތެŢޭގައި ހިގަމުންދާ މައުލޫމާތުތައް ދައްކާ" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "އަޅާފައިŢާ ޕެކޭޖުތައް" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "އަޕްޑޭޓްކުŢެŢިފައިŢާ ކޭޗް" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "ފޮހެލެŢިފައިŢާ ޓްŢަŢްޓެޑް ކީ" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "ފޮހެލެŢިފައިŢާ ޕެކޭޖުތައް" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "އަޕްޑޭޓްކުŢެŢިފައިŢާ ޕެކޭޖުތައް" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "ތަŢައްގީކުŢެŢިފައިŢާ ނިޒާމު" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "ހުŢައެޅިފައިŢާ ބަދަލުތައް" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ŢŠŢŞŢިހަމަŢެއްޖެ" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "ބާތިލުŢެއްޖެ" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "ފޭލްŢެއްޖެ" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ފައިލު އެޅެމުންދަނީ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ޕެކޭޖުތައް އެޅެމުންދަނީ" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "ފައިލުން ކީއެއް އިތުŢުކުŢުން" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ކޭޗް އަޕްޑޭޓްŢަނީ" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "ޓްŢަŢްޓެޑް ކީ ފޮހެŢެމުންދަނީ" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "ޕެކޭޖުތައް ފޮހެŢެމުންދަނީ" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "ޕެކޭޖުތައް އަޕްޑޭޓްŢަނީ" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "ނިޒާމު ތަŢައްގީŢަމުންދަނީ" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ބަދަލުތައް ހުŢައަޅަނީ" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "އިންޓަނެޓް ކަނެކްޝަން Ţަގަޅުތޯ ބަލާ" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "މިއީ ŢŢ©ŢިއަŢް މައްŢަލައެއް. އިŢުކޮޅަކުން މަŢައްކަތްކުŢŢ­. މިމައްŢަލަ ދެން " "ދިމާŢެއްޖެނަމަ، މި އުފެއްދިފަŢާތަŢް މި މައްŢަލަ ހުŢައަޅާ." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "އެއްŢެŢް އަޕްޑޭޓެއް ބޭނުމެއްނުŢŢ­" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "އެއްŢެŢް އިންŢްޓޯލެއް ބޭނުމެއްނުŢŢ­" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "އެއްŢެŢް ފޮހެލުމެއް ބޭނުމެއްނުŢŢ­" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "ޕެކޭޖް ފައިލުތައް ޑައުންލޯޑްކުŢުން ފޭލްŢެއްޖެ" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "ŢިޕޮŢިޓޮŢŢ© މައުލޫމާތު ޑައުންލޯޑުކުŢުން ފޭލްŢެއްޖެ" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "ޕެކޭޖު ޑިޕެންޑެންŢީތައް ހައްލެއްނުކުŢެŢުނު" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "ޕެކޭޖު ނިޒާމު ހަލާކުŢެފައި" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "ކީ އެޅިފަކާއެއް ނެތް" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "ކީއެއް ނުފޮހެŢުނު" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "ޕެކޭޖު މެނޭޖާ ތަޅުލުން ފޭލްŢެއްޖެ" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "ޕެކޭޖު ލިŢްޓް ލޯޑްކުŢުން ފޭލްŢެއްޖެ" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "ޕެކޭޖެއް ނުŢŢ­" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "ޕެކޭޖު ކުŢިންŢެŢް އިންŢްޓޯލްކުŢެŢިފައި" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "ޕެކޭޖް އެޅިފަކާއެއް ނެތް" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "ފެކޭޖު ހިންގުން ފޭލްŢެއްޖެ" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "ހިދުމަތް ފެŢެންދެން މަޑުކުŢަނީ" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "ޓާŢްކް ހިނގަމުންދަނީ" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ޑައުންލޯޑް Ţަމުންދަނީ" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ŢާފުކުŢެŢެމުންދަނީ" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ނިމިއްޖެ" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "ކެންŢެލްŢަނީ" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "ŢޮފްޓްŢެއާ ލިŢްޓް ލޯޑްŢަނީ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s އެޅެމުންދަނީ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s ކޮންފިގާކުŢަނީ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s ފޮހެލަނީ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s ތަŢައްގީކުŢަނ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "ތަފްޞީލްތައް" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_ބަހައްޓާ" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_ބަދަލުކުŢŢ­ (ŢިޕްލޭŢް)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_ތަފްŢީލްތައް" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/en_GB.po0000644000175000017500000013256412117271433016204 0ustar renaterenate00000000000000# English (United Kingdom) translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-12-26 23:46+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "List keys of trusted vendors" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "To view the list of trusted keys, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Remove downloaded package files" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "To clean downloaded package files, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Change software configuration" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "To change software settings, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Change software repository" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "To change software repository settings, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Install package file" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "To install this package, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Update package information" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "To update the software catalogue, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Install or remove packages" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "To install or remove software, you need to authenticate." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Install software from a high-trust whitelisted repository." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "To install software, you need to authenticate." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Add a new repository and install packages from it" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "To install software from a new source, you need to authenticate." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Add a new repository of purchased software and install packages from it" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "To install purchased software, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Upgrade packages" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "To install updated software, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Cancel the task of another user" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "To cancel someone else's software changes, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Set a proxy for software downloads" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "To use a proxy server for downloading software, you need to authenticate." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Downloaded %sB of %sB at %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Downloaded %sB of %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROR:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "You are not allowed to perform this action." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Queuing" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Resolving dependencies" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "The following NEW package will be installed (%(count)s):" msgstr[1] "The following NEW packages will be installed (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "The following package will be upgraded (%(count)s):" msgstr[1] "The following packages will be upgraded (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "The following package will be REMOVED (%(count)s):" msgstr[1] "The following packages will be REMOVED (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "The following package will be DOWNGRADED (%(count)s):" msgstr[1] "The following packages will be DOWNGRADED (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "The following package will be reinstalled (%(count)s):" msgstr[1] "The following packages will be reinstalled (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "The following package has been kept back (%(count)s):" msgstr[1] "The following packages have been kept back (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Need to get %sB of archives." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "After this operation, %sB of additional disk space will be used." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "After this operation, %sB of additional disk space will be freed." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Do you want to continue [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Refresh the cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Try to finish a previous incompleted installation" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Install the given packages" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstall the given packages" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Remove the given packages" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Remove the given packages including configuration files" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Downgrade the given packages" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Deprecated: Please use --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Upgrade the system in a safe way" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Upgrade the system, possibly installing and removing packages" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Add the vendor to the trusted ones" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Add the vendor keyid (also needs --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Use the given keyserver for looking up keys" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Add new repository from the given deb-line" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Specify an alternative sources.list.d file to which repositories should be " "added." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "List trusted vendor keys" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Remove the trusted key of the given fingerprint" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "The minimum debconf priority of question to be displayed" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Do not attach to the apt terminal" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Allow packages from unauthenticated sources" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Show additional information about the packages. Currently only the version " "number" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Waiting for authentication" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Do not shutdown the daemon due to inactivity" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Do not load any plugins" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Show internal processing information" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Stop and replace an already running daemon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Listen on the DBus session bus (Only required for testing)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Perform operations in the given chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Store profile stats in the specified file" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Do not make any changes to the system (Only of use to developers)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Installed file" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Installed packages" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Added key from file" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Updated cache" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Search done" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Removed trusted key" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Removed packages" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Updated packages" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Upgraded system" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Applied changes" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Repaired incomplete installation" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Repaired broken dependencies" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Added software source" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Enabled component of the distribution" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Removed downloaded package files" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Reconfigured installed packages" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Successful" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Cancelled" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Failed" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installing file" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installing packages" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Adding key from file" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Updating cache" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Removing trusted key" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Removing packages" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Updating packages" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Upgrading system" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Applying changes" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Repairing incomplete installation" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Repairing installed software" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Adding software source" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Enabling component of the distribution" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Removing downloaded package files" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Reconfiguring installed packages" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Searching" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Installation of the package file failed" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Installation of software failed" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "Adding the key to the list of trusted software vendors failed" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Refreshing the software list failed" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Removing the vendor from the list of trusted ones failed" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Removing software failed" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Updating software failed" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Upgrading the system failed" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Applying software changes failed" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Repairing incomplete installation failed" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Repairing broken dependencies failed" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Adding software source failed" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Enabling component of the distribution failed" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Removing downloaded package files failed" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Search failed" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Adding license key" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Check your Internet connection." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "If you are using third party repositories then disable them, since they are " "a common source of problems.\n" "Now run the following command in a terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "The selected file may not be a GPG key file or it might be corrupt." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "There isn't any need to update." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "There isn't any need for an installation" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "There isn't any need for a removal." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "You requested to remove a package which is an essential part of your system." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "The connection to the daemon was lost. The background daemon probably " "crashed." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "The installation or removal of a software package failed." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "The requested feature is not supported." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "There seems to be a programming error in aptdaemon. This is the software " "that allows you to install/remove software and to perform other package " "management related tasks." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "This requires installing packages from unauthenticated sources." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Please copy the file to your local computer and check the file permissions." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "All available upgrades have already been installed." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "You do not have got the required privileges to perform this action." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "You either provided a wrong password or cancelled the authorisation.\n" "Furthermore there could also be a technical reason for this error if you " "have not seen a password dialogue: your desktop environment does not provide " "a PolicyKit session agent." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Failed to download package files" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Failed to download repository information" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Package dependencies cannot be resolved" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "The package system is broken" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Key was not installed" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Key was not removed" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Failed to lock the package manager" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Failed to load the package list" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Package does not exist" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Package is already up to date" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Package is already installed" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Package isn't installed" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Failed to remove essential system package" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Task cannot be monitored or controlled" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Package operation failed" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Requires installation of untrusted packages" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Previous installation hasn't been completed" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "The package is of bad quality" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Package file could not be opened" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Not supported feature" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Failed to download the license key" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Failed to install the license key" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "The system is already up to date" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "You could not be authorised" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "You are not allowed to perform this action" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "An unhandled error occured" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Waiting for service to start" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Waiting" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Waiting for required medium" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Waiting for other software managers to quit" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Waiting for configuration file prompt" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Running task" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Downloading" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Querying software sources" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Cleaning up" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Finished" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Cancelling" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Loading software list" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installing %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configuring %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Removing %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Completely removing %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Noting disappearance of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Running post-installation trigger %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Upgrading %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Unpacking %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Preparing installation of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Preparing configuration of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Preparing removal of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Preparing complete removal of %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Installed %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Completely removed %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Removed %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Processing %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Done" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Authentication failed" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Fetching" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Idle" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Network isn't available" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Details" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "File" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Downloaded %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Downloaded" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' is required" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinue" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Install" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstall" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Remove" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Purge" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Upgrade" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Downgrade" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Skip upgrade" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Please take a look at the list of changes below." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Additional software has to be installed" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Additional software has to be reinstalled" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Additional software has to be removed" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Additional software has to be purged" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Additional software has to be upgraded" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Additional software has to be downgraded" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Updates will be skipped" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Additional changes are required" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB will be downloaded in total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB of disk space will be freed." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB more disk space will be used." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Replace your changes in '%s' with a later version of the configuration file?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "If you don't know why the file is there already, it is usually safe to " "replace it." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Changes" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Keep" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Replace" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Details" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Waiting for %s to exit" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Downloading %(files)s" msgstr[1] "Downloading %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "local repository" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Downloading from %s" msgstr[1] "Downloading from %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Structure of %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Description of %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Description signature of %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Available packages from %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Available sources from %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Available translations from %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Translations for %s (%s) from %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Translations for %s from %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Translations (%s) from %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Package %s isn't available" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Package %s isn't installed" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "The version %s of %s isn't installed" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Package %s is already installed" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "The version %s of %s isn't available." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "The keyserver URL is invalid: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Invalid protocol of the server: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Invalid key id: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Failed to download and install the key %s from %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Key file %s couldn't be installed: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Key with fingerprint %s couldn't be removed: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Package %s cannot be removed." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "The version %s of %s is not installed" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "The former version %s of %s is already installed" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "The version %s of %s is already installed" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "The version %s of %s isn't available" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "You need to specify a version to downgrade %s to" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "The later version %s of %s is already installed" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "The package %s isn't available in the %s release." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Package %s cannot be removed" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "The license key is empty" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "The license key is not allowed to contain executable code." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "The license key path %s is invalid" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "The license key already exists: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "The directory where to install the key to doesn't exist yet: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Failed to write key file to: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "The following packages have unmet dependencies:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "but it is a virtual package" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "but it is not installed" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "but it is not going to be installed" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "but %s is installed" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "but %s is to be installed" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Adding the key to the list of trusted software vendors failed" aptdaemon-1.1.1/po/zh_HK.po0000644000175000017500000012570312117271433016232 0ustar renaterenate00000000000000# Chinese (Hong Kong) translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-10-28 02:37+0000\n" "Last-Translator: Walter Cheuk \n" "Language-Team: Chinese (Hong Kong) , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-09-20 00:25+0000\n" "Last-Translator: samson \n" "Language-Team: Amharic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "የá‹á¨á‹± ጥቅ፠ፋይáŽá‰˝áŠ• á›áµá‹áŚáŚ" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "የá¶áŤŤá‰µá‹Śá­ á›áŚ á«á‰€ášá‹« á›á°áŠ“áŚáŠ• ááቀየ᭠á›á¨áŚ‹áŚáŚ« á‹«áµáŤáŤáŚ‹áŤ" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "የጥቅ፠ፋይáŤáŠ• áግጠáť" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "á‹­á…ን ጥቅ፠ááግጠᝠá›á¨áŚ‹áŚáŚ« á‹«áµáŤáŤáŚ‹áŤ" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "የጥቅ፠áá¨áŚá‹Žá‰˝áŠ• á›á»á»áŤ" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ጥቅáŽá‰˝áŠ• áግጠášá‹« á‹á‹­áť á›áµá‹áŚáŚ" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "á¶áŤŤá‰µá‹Śá­áŠ• ááግጠᝠá‹á‹­áť áá›áµá‹áŚá‹µ á›á¨áŚ‹áŚáŚ« á‹«áµáŤáŤáŚ‹áŤ" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "á¶áŤŤá‰µá‹Śá­áŠ• ከáŚá‹ áťáŠ•áŚ­ ááግጠᝠá›á¨áŚ‹áŚáŚ« á‹«áµáŤáŤáŚ‹áŤ" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "የተáŚá‹› á¶áŤŤá‰µá‹Śá­áŠ• ááግጠᝠá›á¨áŚ‹áŚáŚ« á‹«áµáŤáŤáŚ‹áŤ" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ጥቅáŽá‰˝áŠ• á›á»á»áŤ" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "የተá»á»á‰ á¶áŤŤá‰µá‹Śá®á‰˝áŠ• ááግጠᝠá›á¨áŚ‹áŚáŚ« á‹«áµáŤáŤáŚ‹áŤ" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "áá°á¨á‹ť የáŚá‹ ተጠá‰ášáŠ• áµá«á‹Žá‰˝" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "የáŚá‹ ተጠá‰ášáŠ• á¶áŤŤá‰µá‹Śá­ ááá°á¨á‹ť á›á¨áŚ‹áŚáŚ« á‹«áµáŤáŤáŚ‹áŤ" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "áµá…ተት" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "á‹á­á‹·áŤ %sB of %sB at %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "á‹á­á‹·áŤ %sB of %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "áµá…ተት :" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "á‹­á…ን ተግባ᭠áááŤáŚ¸áť áŠ á‹­á‰˝á‰áť" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "áቀጠ፠ይáŤáŤáŚ‹á‰ [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "የተá°áŚ á‹ŤáŠ• ጥቅ፠áግጠášá‹«" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "የውáµáŚĄ á‚ደቱን áá¨áŚ á›áłá‹«" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "የተáŚáŚ áው ፋይáŤ" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "የተáŚáŚ á™á‰µ ጥቅáŽá‰˝" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "ከፋይ፠የተጨáᨠá‰áŤáŤŤ" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "የተá‹áŚá‹± ጥቅáŽá‰˝" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "ጥቅáŽá‰˝áŠ• á›á»á»áŤ" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "áµá­áŠ á‰±áŠ• á›á»á»áŤ" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "የተተáŚá‰ á© áውጦች" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ተáłáŠ­á‰·áŤ" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "የተá°á¨á‹" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "á‹á‹µá‰‹áŤ" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ፋይ፠በáግጠᝠá‹á‹­" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ጥቅáŽá‰˝áŠ• በáግጠᝠá‹á‹­" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "ከፋይ፠á‰áŤáŤŤ በáጨáá­ á‹á‹­" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "ጥቅáŽá‰˝áŠ• በá›áµá‹áŚá‹µ á‹á‹­" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "ጥቅáŽá‰˝áŠ• በá›á»á»áŤ á‹á‹­" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "áµá­áŠ á‰±áŠ• በá›á»á»áŤ á‹á‹­" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "áውጦችን በáተግበ᭠á‹á‹­" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "የጥቅá‰áŠ• ፋይ፠áግጠᝠአáŤá‰°áłáŠ«áť" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "á¶áŤŤá‰µá‹Śá©áŠ• áግጠᝠአáŤá‰°áłáŠ«áť" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "á¶áŤŤá‰µá‹Śá©áŠ• á›áŠá‰á‰á‰µ አáŤá‰°áłáŠ«áť" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "á¶áŤŤá‰µá‹Śá©áŠ• á›áµá‹áŚá‹µ አáŤá‰°áłáŠ«áť" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "á¶áŤŤá‰µá‹Śá©áŠ• á›á»á»áŤ አáŤá‰°áłáŠ«áť" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "áµá­áŠ á‰±áŠ• á›á»á»áŤ አáŤá‰°áłáŠ«áť" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "የá¶áŤŤá‰µá‹Śá­ áውጦቹን áተግበ᭠አáŤá‰°áłáŠ«áť" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "የኢንተá­áŠ”á‰µ ግንኙáŠá‰¶áŠ• á‹­áá­áťá©" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "የተáá¨áŚ á‹Ť ፋይ፠áťáŠ“áŤá‰Łá‰µ የጂፒጂ á‰áŤáŤŤ ፋይ፠አይደááť á‹á‹­áť የተበከá áŠá‹Ť" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "á›á»á»áŤ አይáµáŤáŤáŚŽá‰µáť" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "áግጠᝠአይáµáŤáŤáŚŽá‰µáť" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "á›áµá‹áŚá‹µ አይáµáŤáŤáŚŽá‰µáť" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "የá¶áŤŤá‰µá‹Śá­ ጥቅ፠áግጠᝠá‹á‹­áť á›áµá‹áŚá‹µ á‹á‹µá‰‹áŤ" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "የጥቅ፠ፋይáŽá‰˝áŠ• á›á‹Ťá¨á‹µ á‹á‹µá‰‹áŤ" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "የá›áµá‰€áጫ áá¨áŚ á›á‹Ťá¨á‹µ á‹á‹µá‰‹áŤ" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "á‰áŤáŤŤ አáŤá‰°áŚáŚ ááť" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "ቅáŤáŤŤ አáŤá‰°á‹áŚá‹°áť" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "የጥቅ፠አáµá‰°á‹łá‹łáŞá‹ŤáŠ• áቆáፍ á‹á‹µá‰‹áŤ" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "የጥቅ፠ዝá­á‹ťá­ áጫን á‹á‹µá‰‹áŤ" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "ጥቅበአáŤá‰°áŚáŠáť" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "ጥቅበቀደᝠብᎠተáŚáŚĄáźáŤ" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "ጥቅበአáŤá‰°áŚáŚ ááť" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "áµá«á‹Žá‰ąáŠ• áááŤáŠ¨á‰µ á‹á‹­áť áቆጣጠ᭠አáŤá‰°á‰»ááť" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "á‹«áŤá‰łáኑ ጥቅáŽá‰˝áŠ• áግጠᝠያáµáŤáŤáŚ‹áŤ" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "ግáŤáŚ‹áŽá‰±áŠ• ááጀá᭠በáጠበቅ á‹á‹­" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "áµá«á‹Žá‰˝áŠ• በá›áµáŠ¬á‹µ á‹á‹­" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "በá›á‹Ťá¨á‹µ á‹á‹­" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "በá›áŚ˝á‹łá‰µ á‹á‹­" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ጨá­á·áŤ" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "በáá°á¨á‹ť á‹á‹­" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "የá¶áŤŤá‰µá‹Śá­ ዝá­á‹ťá®á‰˝áŠ• በáጫን á‹á‹­" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "በáግጠᝠá‹á‹­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "በá›á‹‹á‰€á­ á‹á‹­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "በá›áµá‹áŚá‹µ á‹á‹­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "በá›á»á»áŤ á‹á‹­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "ዝá­á‹ťá®á‰˝" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "á˛á‹˛/ዲቪዲ '%s' á‹«áµáŤáŤáŚ‹áŤ" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_á›áµá‰€áጥ" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_áተካት" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_ዝá­á‹ťá®á‰˝" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/kn.po0000644000175000017500000010337612117271433015641 0ustar renaterenate00000000000000# Kannada translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2010-10-20 11:33+0000\n" "Last-Translator: Michael Vogt \n" "Language-Team: Kannada \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "ಬೇರೊಬ್ಬ ಬಳಕೆದಾರರ ಕಾರ್ಯವನ್ನೠತೊಡೆದೠಹಾಕŕł" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/zh_CN.po0000644000175000017500000012547612117271433016237 0ustar renaterenate00000000000000# Simplified Chinese translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # # YunQiang Su , 2012. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-10-01 12:30+0000\n" "Last-Translator: Aron Xu \n" "Language-Team: Chinese (simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" "Language: \n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "ĺ—出信任的来ćş" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "č¦ĺ—出信任的来ćşďĽŚć‚¨éś€č¦čż›čˇŚéŞŚčŻă€‚" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "ĺ é™¤ĺ·˛ä¸‹č˝˝çš„软件包" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "需č¦ćŽćťä»Ąĺ é™¤ĺ·˛ä¸‹č˝˝çš„软件包文件。" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "修改软件设置" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "需č¦ćŽćťä»Ąć›´ć”ąč˝Żä»¶č®ľç˝®ă€‚" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "修改软件ćş" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "č¦ć›´ć”ąč˝Żä»¶ćşč®ľç˝®ďĽŚć‚¨éś€č¦čż›čˇŚéŞŚčŻă€‚" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "安装软件包文件" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "č¦ĺ®‰čŁ…čż™ä¸Şč˝Żä»¶ĺŚ…ďĽŚć‚¨éś€č¦čż›čˇŚéŞŚčŻă€‚" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "更新软件包信ćŻ" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "č¦ć›´ć–°č˝Żä»¶ç›®ĺ˝•,您需č¦čż›čˇŚéŞŚčŻă€‚" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "安装ć–卸载软件包" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "č¦ĺ®‰čŁ…ć–卸载软件,您需č¦čż›čˇŚéŞŚčŻă€‚" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "从é«ĺş¦ĺŹ—äżˇçš„ç™˝ĺŤĺŤ•软件仓库中安装软件。" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "您需č¦ç»Źčż‡č®¤čŻć–ąĺŹŻĺ®‰čŁ…č˝Żä»¶ă€‚" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "添加一个新软件ćşĺą¶ä»Žä¸­ĺ®‰čŁ…č˝Żä»¶ĺŚ…" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "č¦ä»Žć–°çš„软件ćşä¸­ĺ®‰čŁ…č˝Żä»¶ďĽŚć‚¨éś€č¦čż›čˇŚéŞŚčŻă€‚" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "添加一个新的ä»č´ąč˝Żä»¶ćşĺą¶ä»Žä¸­ĺ®‰čŁ…č˝Żä»¶ĺŚ…" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "č¦ĺ®‰čŁ…ä»č´ąč˝Żä»¶ďĽŚć‚¨éś€č¦čż›čˇŚéŞŚčŻă€‚" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "升级软件包" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "č¦ĺ®‰čŁ…ć›´ć–°çš„č˝Żä»¶ďĽŚć‚¨éś€č¦čż›čˇŚéŞŚčŻă€‚" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "取ć¶ĺŹ¦ä¸€ç”¨ć·çš„任务" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "č¦ĺŹ–ć¶ĺ…¶ä»–人的软件ĺŹć›´ďĽŚć‚¨éś€č¦čż›čˇŚčş«ä»˝č®¤čŻă€‚" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "为软件下载设置代ç†ćśŤĺŠˇĺ™¨" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "č¦ä˝żç”¨ä»Łç†ćśŤĺŠˇĺ™¨ä¸‹č˝˝č˝Żä»¶ďĽŚć‚¨éś€č¦čż›čˇŚéŞŚčŻă€‚" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "错误" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "下载 %sB / %sB 速度 %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "已下载 %sB,共 %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "错误:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "不ĺ…许您执行此操作。" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "éźĺ—" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "正在解决依赖关系" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "ĺ°†č¦ĺ®‰čم䏋ĺ—新软件包 (%(count)s 个):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "ĺ°†č¦ĺŤ‡çş§ä¸‹ĺ—软件包 (%(count)s 个):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "ĺ°†č¦ĺŤ¸č˝˝ä¸‹ĺ—软件包 (%(count)s 个):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "ĺ°†č¦é™Ťçş§ä¸‹ĺ—软件包 (%(count)s 个):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "ĺ°†č¦é‡Ťć–°ĺ®‰čم䏋ĺ—软件包 (%(count)s 个):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "将不更新下ĺ—软件包 (%(count)s 个):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "需č¦čŽ·ĺŹ– %sB 文件。" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "执行此操作ĺŽďĽŚĺ°†äĽšä˝żç”¨ %sB çŁç›ç©şé—´ă€‚" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "执行此操作ĺŽďĽŚĺ°†äĽšé‡Šć”ľ %sB çŁç›ç©şé—´ă€‚" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "您ćłč¦ç»§ç»­ĺ— [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "č¦ć“Ťä˝śĺ¤šäşŽä¸€ä¸ŞĺŚ…ďĽŚĺ°†ĺŚ…çš„ĺŤç§°ç”¨ĺĽ•号括起来:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "ĺ·ć–°çĽ“ĺ­" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "尝试修复损坏的依赖关系。这可č˝ćś‰ĺŤ±é™©ďĽŚĺŹŻč˝äĽšĺ°ťčŻ•ĺŤ¸č˝˝č®¸ĺ¤šč˝Żä»¶ĺŚ…ă€‚" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "尝试完ć上次不完整的安装" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "安装给定的软件包" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "重新安装给定的软件包" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "ĺ é™¤ç»™ĺ®šçš„包" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "ĺ é™¤ç»™ĺ®šçš„包和配置文件" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "降级当前软件包" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "不推čŤďĽščŻ·ä˝żç”¨ --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "用安全的方式升级系统" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "升级系统,可č˝äĽšĺ®‰čŁ…ă€ĺŤ¸č˝˝č˝Żä»¶ĺŚ…" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "信任将该ĺ¶é€ ĺ•†" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "添加ĺ¶é€ ĺ•†ĺŻ†é’Ąć ‡čŻ† (ĺŚć—¶éś€č¦ --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "使用指定的密钥服务器来查找密钥" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "从给定的 deb 行添加软件ćş" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "指定一个附加的 sources.list.d 文件来添加软件ćşă€‚" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "ĺ—出信任的ĺ¶é€ ĺ•†ĺŻ†é’Ą" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "移除给定指纹对应的信任密钥" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "重新配置已经安装的软件包。可以指定的最低äĽĺ…级的问é˘ă€‚" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "ĺ°†ćľç¤şäş‹éˇąçš„最低 debconf äĽĺ…çş§" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "不č¦é™„ĺŠ ĺ° apt ç»ç«Ż" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "ĺ…许来自未认čŻćşçš„软件包" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "ćľç¤şčŻĄč˝Żä»¶ĺŚ…çš„é™„ĺŠ äżˇćŻă€‚当前仅ćľç¤şç‰ćś¬ĺŹ·ă€‚" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "正在等待验čŻ" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "不活动时不关闭ĺŽĺŹ°ç¨‹ĺşŹ" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "不č¦ĺŠ č˝˝ä»»ä˝•ćŹ’ä»¶" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "ćľç¤şĺ†…é¨ĺ¤„ç†äżˇćŻ" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "退出并替换当前正在čżčˇŚçš„ĺŽĺŹ°ç¨‹ĺşŹ" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "在 DBus 会话总线上监ĺ¬ďĽä»…用于测试)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "在指定的 chroot 中执行操作" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "在指定的文件里ĺ­ĺ‚¨é…Ťç˝®çжć€" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "不č¦ĺŻąçł»ç»źčż›čˇŚä»»ä˝•ć”ąĺŠ¨ (仅供发者使用)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "已安装文件" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "已安装软件包" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "已从文件添加密钥" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "已更新缓ĺ­" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "ćśç´˘ĺ®ŚćŻ•" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "已移除信任密钥" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "ĺ·˛ĺ é™¤çš„软件包" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "已更新的软件包" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "已升级的系统" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "已应用的更改" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "修复了不完整的安装" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "修复了损坏的依赖关系" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "已添加软件ćş" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "ĺŻç”¨ĺŹ‘čˇŚç‰çš„组件" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "ĺ é™¤ĺ·˛ä¸‹č˝˝çš„软件包文件" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "重新配置已安装的软件包" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ć功" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "取ć¶" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "失败" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "正在安装文件" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "正在安装软件包" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "正从文件添加密钥" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "正在更新缓ĺ­" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "正移除信任密钥" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "正在ĺ é™¤č˝Żä»¶ĺŚ…" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "正在升级软件包" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "正在升级系统" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "正在应用更改" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "正在修复不完整的安装" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "正在修复已安装的软件" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "正在添加软件ćş" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "正在ĺŻç”¨ĺŹ‘čˇŚç‰çš„组件" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "正在ĺ é™¤ĺ·˛ä¸‹č˝˝çš„软件包文件" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "正在重新配置已安装的软件包" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "正在ćśç´˘" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "包文件安装失败" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "软件安装失败" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "ĺ·ć–°č˝Żä»¶ĺ—表失败" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "一旦失败ĺ™ä»Žäżˇä»»ĺ—表中移除ćŹäľ›č€…" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "移除软件失败" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "更新软件失败" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "升级系统失败" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "应用ĺŹć›´ĺ¤±č´Ą" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "修复不完整的安装 失败" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "修复损坏的依赖关系 失败" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "添加软件ćşĺ¤±č´Ą" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "ĺŻç”¨ĺŹ‘čˇŚç‰çš„组件失败" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "ć— ćł•ĺ é™¤ĺ·˛ä¸‹č˝˝çš„软件包文件" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "ćśç´˘ĺ¤±č´Ą" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "正在添加许可密钥" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "检查您的网络连接。" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "检查您ćŻĺ¦ä˝żç”¨äş†ç¬¬ä¸‰ć–ąćşă€‚如果ćŻĺ°±ç¦ç”¨ĺ®ä»¬ďĽŚĺ®ä»¬ĺ¸¸ĺ¸¸ĺŻĽč‡´é—®é˘ă€‚\n" "ç„¶ĺŽĺś¨ç»ç«Żä¸­čżčˇŚä»Ąä¸‹ĺ‘˝ä»¤ďĽšapt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "所选文件可č˝ä¸ŤćŻ GPG 密钥文件ć–者已经损坏。" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "所选的密钥无法移除。检查您ćŹäľ›çš„指纹ćŻĺ¦ćś‰ć•。" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "检查您有没有čżčˇŚĺ…¶ä»–软件包管ç†ĺ·Ąĺ…·ďĽŚćŻ”ĺ¦‚ć–°ç«‹ĺľ—ć–者 aptitude。在ĺŚä¸€ć—¶é—´ĺŹŞćś‰ä¸€ä¸Şĺ·Ąĺ…·ĺŹŻä»Ąčż›čˇŚć›´ć”ąă€‚" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "čż™ćŻä¸Şĺľä¸Ąé‡Ťçš„é—®é˘ă€‚请稍ĺŽé‡ŤčŻ•ă€‚ĺ¦‚ćžśé—®é˘čżĺ‡şçŽ°ďĽŚčŻ·ĺ‘开发人ĺ‘报告一个错误。" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "检查包ĺŤçš„拼写ćŻĺ¦ć­Łçˇ®ďĽŚä»ĄĺŹŠćŻĺ¦ĺŻç”¨äş†ç›¸ĺş”的仓库。" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "不需č¦čż›čˇŚć›´ć–°ă€‚" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "不需č¦čż›čˇŚĺ®‰čŁ…" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "不需č¦čż›čˇŚĺŤ¸č˝˝ă€‚" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "您请求移除一个软件包,而ĺ®ćŻçł»ç»źĺż…需的组件。" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "与ĺŽĺŹ°ç¨‹ĺşŹçš„čżžćŽĄä¸˘ĺ¤±ă€‚ĺŹŻč˝ĺŽĺŹ°ç¨‹ĺşŹĺ·˛ĺ´©ćşă€‚" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "安装ć–移除软件包失败。" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "不支ćŚć‰€čŻ·ć±‚çš„ĺŠźč˝ă€‚" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "aptdaemon 中似乎有编程错误,该软件用于安装ă€ĺŤ¸č˝˝č˝Żä»¶ĺą¶ä¸”执行其他的软件包管ç†ä»»ĺŠˇă€‚" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "这个错误可č˝ćŻéś€č¦ä¸Ťĺ­ĺś¨ć–不可安装的软件包引起的。ć–者可č˝ĺś¨č˝Żä»¶ĺŚ…äą‹é—´ćś‰ĺ†˛çŞďĽŚĺ®ä»¬ä¸Ťč˝ĺŚć—¶ĺ®‰čŁ…ă€‚" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "此操作需č¦ä»ŽćśŞéŞŚčŻçš„ćşĺ®‰čŁ…č˝Żä»¶ĺŚ…ă€‚" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "安装失败可č˝ćŻĺ› ä¸şĺŻąĺş”č˝Żä»¶ĺŚ…çš„é”™čŻŻć–者被意外取ć¶ă€‚您必须修复这个问é˘ć‰Ťč˝ç»§ç»­ĺ®‰čŁ…ć–移除软件。" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "请将该文件复ĺ¶ĺ°ć‚¨çš„本地电脑中并检查文件的ćťé™ă€‚" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "安装会违反质量标准的软件包不被ĺ…许,因这可č˝ĺŻąć‚¨çš„č®ˇç®—ćśşé€ ćé—®é˘ă€‚请č”çł»ćŹäľ›ć­¤č˝Żä»¶ĺŚ…ć–‡ä»¶çš„ç»„ç»‡ć–个人,并ćŹäľ›ä»Ąä¸‹čŻ¦ç»†äżˇćŻă€‚" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "已下载的čżčˇŚčż™ć¬ľč˝Żä»¶ć‰€éś€çš„许可密钥无ć•,ć–者无法正确安装。\n" "有关更多信ćŻďĽŚčŻ·ĺŹ‚č§čŻ¦ç»†äżˇćŻă€‚" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "所有可用更新均已安装。" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "无法下载可使您使用这款软件的许可密钥。请检查您的网络连接。" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "下载软件包文件失败" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "下载软件仓库信ćŻĺ¤±č´Ą" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "无法解决软件包依赖" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "软件包系统已损坏" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "没有安装密钥" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "没有移除密钥" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "é”定软件包管ç†ĺ™¨ĺ¤±č´Ą" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "载入软件包ĺ—表失败" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "软件包不ĺ­ĺś¨" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "软件包已ćŻćś€ć–°" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "软件包已安装" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "软件包没有安装" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "移动系统必需软件包失败" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "无法监视ć–控ĺ¶ä»»ĺЎ" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "软件包操作失败" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "需č¦ĺ®‰čŁ…ä¸Ťč˝äżˇä»»çš„软件包" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "上次安装未完ć" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "该软件包质量欠佳" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "无法打开软件包文件" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "不支ćŚçš„功č˝" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "无法下载许可密钥" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "无法安装许可密钥" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "该系统已ćŻćś€ć–°" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "发生了一个无法处ç†çš„错误" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "正在等待服务ĺŻĺЍ" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "等待中" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "等待所需的媒体" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "等待其他软件管ç†ç¨‹ĺşŹé€€ĺ‡ş" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "等待配置文件呼应" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "正在čżčˇŚä»»ĺЎ" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "下载中" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "正在查询软件ćş" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "清ç†ä¸­" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "完ć" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "正在取ć¶" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "正在载入软件ĺ—表" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "正在安装 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "正在配置 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "正在卸载 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "正在完全ĺ é™¤ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "正在记录 %s çš„ć¶ĺ¤±" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "čżčˇŚĺ®‰čŁ…ĺŽçš„触发器 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "正在升级 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "正在解压缩 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "正在准备安装 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "正在准备配置 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "正在准备ĺ é™¤ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "正在准备完全ĺ é™¤ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s 已安装" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s 已完全ĺ é™¤" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s ĺ·˛ĺ é™¤" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "ć­Łĺś¨ĺ¤„ç† %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "完ć" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "认čŻĺ¤±č´Ą" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "获取中" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "空闲" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "网络不可用" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "详ć…" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "文件" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "已下载 %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "已下载" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "需č¦ĺ…‰ç›â€ś%s”" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "请将以上光ç›ćŹ’ĺ…Ąĺ…‰é©±â€ś%s”以安装光ç›ä¸­çš„软件包。" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "ç»§ç»­(_O)" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "安装" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "重新安装" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "ĺ é™¤" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "清ç†" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "升级" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "降级" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "跳过升级" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "请查看下面的修改ĺ—表。" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "需č¦ĺ®‰čŁ…é˘ťĺ¤–çš„č˝Żä»¶" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "需č¦é‡Ťć–°ĺ®‰čŁ…é˘ťĺ¤–çš„č˝Żä»¶" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "需č¦ĺ é™¤é˘ťĺ¤–的软件" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "需č¦ć¸…ç†é˘ťĺ¤–的软件" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "需č¦ĺŤ‡çş§é˘ťĺ¤–的软件" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "需č¦é™Ťçş§é˘ťĺ¤–的软件" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "将跳过更新" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "需č¦é™„加的更改" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "总共将下载 %sB。" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "将释放 %sB çŁç›ç©şé—´ă€‚" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "将多占用 %sB çš„çŁç›ç©şé—´ă€‚" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "用配置文件的更新ç‰ćś¬č¦†ç›–您在“%s”中的更改ĺ—?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "如果您不知é“此文件为什äąĺ·˛ç»Źĺ­ĺś¨ďĽŚé‚Łäąč¦†ç›–ĺ®é€šĺ¸¸ćŻĺ®‰ĺ…¨çš„。" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "ĺŹć›´(_C)" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "ç»´ćŚĺŽźçŠ¶(_K)" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "替换(_R)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "细节(_D)" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "正在等待 %s 退出" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "下载中 %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "本地软件仓库" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "正在从 %s 下载" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s 的结构" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s 的描述" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%s 的描述签ĺŤ" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "可从 %s 获得的软件包" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "可从 %s 获得的ćşç " #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "可从 %s 获得的翻译" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%s (%s)的翻译,来自 %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s 的翻译,来自 %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "%s 翻译,来自 %s 仓库。" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "软件包 %s 不可用。" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "未安装软件包 %s" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "%s ç‰ćś¬çš„ %s 未安装" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "已安装软件包 %s" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "%s ç‰ćś¬çš„ %s 不可用。" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "密钥服务器 URL ć— ć•:%s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "ć— ć•的服务器协议:%s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "ć— ć•的密钥 ID:%s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "下载并安装密钥 %s 从 %s 时失败:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "无法安装密钥文件 %s:%s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "ć— ćł•ĺ é™¤ćŚ‡çşą %s 的密钥文件:%s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "无法卸载软件包 %s" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "没有安装 %s ç‰ćś¬çš„ %s" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "已经安装更早的 %s ç‰ćś¬çš„ %s" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "已经安装 %s ç‰ćś¬çš„ %s" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "%s ç‰ćś¬çš„ %s 不可用" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "您需č¦ćŚ‡ĺ®šä¸€ä¸Şç‰ćś¬ĺŹ·ä»Ąé™Ťçş§ %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "ć›´ć–°çš„ %s ç‰ćś¬çš„ %s 已经安装" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "软件包 %s ĺś¨ĺŹ‘čˇŚç‰ %s 中不可用。" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "无法卸载软件包 %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "软件包没有ćŹäľ›ĺ法的 Installed-Size 控ĺ¶ĺ­—符串。查看 Debian Policy 5.6.20。" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "许可密钥为空" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "许可密钥不ĺ…许包ĺ«ĺŹŻć‰§čˇŚä»Łç ă€‚" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "许可密钥路径 %s ć— ć•" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "许可密钥已ĺ­ĺś¨ďĽš%s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "许可密钥的位置不安全,因为其包ĺ«ç¬¦ĺŹ·é“ľćŽĄă€‚č·Żĺľ„ %s ć ĺ°„ĺ° %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "该密钥č¦ĺ®‰čŁ…ĺ°ç›®ĺ˝•尚不ĺ­ĺś¨ďĽš%s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "无法将密钥文件写入ĺ°ďĽš%s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "下ĺ—软件包未满足的依赖关系:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "但ćŻĺ®ćŻč™šć‹źč˝Żä»¶ĺŚ…" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ä˝†ćŻ %s 没有安装" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "但ćŻć— ćł•安装 %s" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ä˝†ćŻ %s 已经安装" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "但ćŻĺ°†č¦ĺ®‰čŁ… %s" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "添加密钥ĺ°ĺŹŻäżˇä»»ç¨‹ĺşŹćŹäľ›č€…ĺ—表失败" aptdaemon-1.1.1/po/nl.po0000644000175000017500000013703612117271433015642 0ustar renaterenate00000000000000# Dutch translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-02 08:13+0000\n" "Last-Translator: Hannie Dumoleyn \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Toon sleutels van vertrouwde leveranciers" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Uw authenticatie is vereist als u de lijst met vertrouwde sleutels wilt " "inzien." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Gedownloade pakketbestanden verwijderen" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Om gedowloade pakketbestanden te verwijderen dient u te zich aan te melden." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Softwareconfiguratie wijzigen" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Om softwareinstellingen te kunnen wijzigen dient u te zich aan te melden." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Verander softwarebron" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Uw authenticatie is vereist als u softwarebronnen wilt aanpassen." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Een pakketbestand installeren" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Uw authenticatie is vereist als u dit pakket wilt installeren." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Pakketinformatie bijwerken" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Uw authenticatie is vereist om de software-catalogus te vernieuwen." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Pakketten installeren of verwijderen" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Uw authenticatie is vereist als u software wilt verwijderen of installeren." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Installeer programmatuur vanuit een zeer vertrouwde en uitdrukkelijk " "goedgekeurde pakketbron." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Om programmatuur te installeren, dient u zich te authenticeren." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Een nieuwe softwarebron toevoegen en daaruit pakketten installeren" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Authenticatie is vereist om software van een nieuwe bron te installeren." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Een nieuwe softwarebron voor gekochte software toevoegen en daaruit " "pakketten installeren" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Authenticatie is vereist om gekochte software te installeren." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Pakketten upgraden" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Uw authenticatie is vereist als u updates wilt installeren." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "De taak van een andere gebruiker beĂ«indigen" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Uw authenticatie is vereist als u de wijzigingen van een andere gebruiker " "ongedaan wilt maken." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Een proxy instellen voor softwaredownloads" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Uw authenticatie is vereist als u een proxy-server wilt gebruiken voor het " "downloaden van software." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "FOUT" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB van %sB gedownload met %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%sB van %sB gedownload" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "FOUT:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "U mag deze bewerking niet uitvoeren." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "In wachtrij" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Afhankelijkheden oplossen" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Het volgende NIEUWE pakket zal geĂŻnstalleerd worden (%(count)s):" msgstr[1] "" "De volgende NIEUWE pakketten zullen geĂŻnstalleerd worden (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Het volgende pakket zal worden bijgewerkt (%(count)s):" msgstr[1] "De volgende pakketten zullen worden bijgewerkt (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Het volgende pakket zal worden verwijderd (%(count)s):" msgstr[1] "De volgende pakketten zullen worden verwijderd (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" "Van het volgende pakket zal de VORIGE VERSIE worden gebruikt (%(count)s):" msgstr[1] "" "Van de volgende pakketten zullen de VORIGE VERSIES worden gebruikt " "(%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Het volgende pakket zal opnieuw worden geĂŻnstalleerd (%(count)s):" msgstr[1] "" "De volgende pakketten zullen opnieuw worden geĂŻnstalleerd (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Het volgende pakket is achtergehouden (%(count)s):" msgstr[1] "De volgende pakketten zijn achtergehouden (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Moet %sB aan archieven ophalen." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Na deze operatie zal %sB extra schijfruimte gebruikt worden." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Na deze operatie zal %sB schijfruimte vrijkomen." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Wilt u doorgaan[J/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Om een operatie op meer dan een pakket uit te voeren plaatst u de " "pakketnamen tussen aanhalingstekens:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Vernieuw de cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Probeer gebroken afhankelijkheden op te lossen. Dit kan gevaarlijk zijn, " "aangezien deze actie mogelijk veel pakketten zal proberen te verwijderen." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Probeer een eerder niet-voltooide installatie af te ronden" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Installeer de opgegeven pakketten" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Herinstalleer de opgegeven pakketten" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Verwijder de opgegeven pakketten" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Verwijder de opgegeven pakketten, inclusief configuratiebestanden" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Van gegeven pakketten vorige versie gebruiken" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Verouderd: Gebruik --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Upgrade het systeem op een veilige manier" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Upgrade het systeem, waarbij mogelijk pakketten geĂŻnstalleerd of verwijderd " "worden" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Voeg de leverancier aan de lijst met vertrouwde toe" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Voeg de keyid van de leverancier toe (heeft ook --keyserver nodig)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Gebruik de opgegeven keyserver om sleutels op te zoeken" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Voeg softwarebron uit de opgegeven deb-line toe" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Geef een alternatief sources.list.d-bestand op waaraan de softwarebronnen " "toegevoegd moeten worden." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Toon sleutels van vertrouwde leveranciers" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Verwijder de vertrouwde sleutel met de opgegeven sleutel-id" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "GeĂŻnstalleerde pakketten herconfigureren. Optioneel kan de minimale " "prioriteit van vragen worden opgegeven" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "De minimale vragenprioriteit van debconf die moet worden weergegeven" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Verbind niet met de apt-terminal" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Sta pakketten uit niet-geauthenticeerde bronnen toe" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Aanvullende informatie over de pakketten tonen. Momenteel alleen het " "versienummer" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Wachten op authenticatie" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "De daemon niet afsluiten wegens inactiviteit" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Geen plug-ins laden" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Interne verwerkingsinformatie weergeven" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Afsluiten en een reeds draaiende daemon vervangen" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Luisteren op de DBus-sessiebus (Alleen vereist voor testen)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Acties uitvoeren in de gegeven chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Profielstatistieken opslaan in het opgegeven bestand" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Geen wijzigingen in het systeem aanbrengen (Alleen bruikbaar voor " "ontwikkelaars)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "GeĂŻnstalleerd bestand" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "GeĂŻnstalleerde pakketten" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Sleutel uit bestand toegevoegd" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Cache bijgewerkt" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Doorzoeken voltooid" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Vertrouwde sleutel verwijderd" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Pakketten verwijderd" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Pakketten bijgewerkt" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Systeem opgewaardeerd" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Toegepaste wijzigingen" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Incomplete installatie gerepareerd" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Gebroken afhankelijkheden hersteld" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Toegevoegde softwarebron" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Ingeschakeld onderdeel van de distributie" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Gedownloade pakketbestanden die zijn verwijderd" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "GeĂŻnstalleerde pakketten die zijn geherconfigureerd" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Geslaagd" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Geannuleerd" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Mislukt" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Bestand installeren" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Pakketten installeren" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Sleutel uit bestand toevoegen" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Cache bijwerken" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Vertrouwde sleutel verwijderen" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Pakketten verwijderen" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Pakketten bijwerken" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Systeem upgraden" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Wijzigingen worden doorgevoerd" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Incomplete installatie herstellen" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "GeĂŻnstalleerde software wordt gerepareerd" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Softwarebron wordt toegevoegd" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Inschakelen van een onderdeel van de distributie" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Gedownloade pakketbestanden verwijderen" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "GeĂŻnstalleerde pakketten herconfigureren" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Bezig met zoeken" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Installatie van het pakket-bestand is mislukt" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Installatie van de software is mislukt" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Het toevoegen van de sleutel aan de lijst met vertrouwde " "softwareleveranciers is mislukt" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Het vernieuwen van de softwarelijst is mislukt" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Het verwijderen van de software-leverancier van de vertrouwde lijst is " "mislukt" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Het verwijderen van de software is mislukt" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Het bijwerken van de software is mislukt" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Het upgraden van het systeem is mislukt" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Het aanpassen van de software is mislukt" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Herstellen van incomplete installatie mislukt" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Herstellen van gebroken afhankelijkheden mislukt" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Het toevoegen van de softwarebron is mislukt" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Inschakelen van het onderdeel van de distributie is mislukt" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Het verwijderen van gedownloade pakketgestanden is mislukt" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Zoeken mislukt" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Licentiesleutel wordt toegevoegd" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Controleer uw internetverbinding." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Controleer of u softwarebronnen van een derde partij gebruikt. Als dat zo " "is, schakel ze dan uit, omdat ze een veelvoorkomende bron van problemen " "zijn.\n" "Voer ook de volgende opdracht uit in een Terminalvenster: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Het geselecteerde bestand is misschien geen GPG-sleutel, of het kan " "beschadigd zijn." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "De geselecteerde sleutel kon niet verwijderd worden. Controleer of u een " "geldige sleutel-id hebt opgegeven." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Controleer of er momenteel andere pakketbeheersystemen actief zijn, zoals " "Synaptic of aptitude. Er kan slechts een pakketbeheerder tegelijk " "aanpassingen doen." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Dit is een ernstig probleem. Probeer het later opnieuw. Als dit probleem " "nogmaals optreedt, meld dan een fout aan de ontwikkelaars." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Controleer of de pakketnaam juist gespeld is en of de juiste softwarebronnen " "geactiveerd zijn." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Bijwerken is niet nodig." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Het is niet nodig om te installeren" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Het is niet nodig om te verwijderen." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "U wilt een pakket verwijderen dat een essentieel onderdeel is van uw systeem." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "De verbinding met de daemon is verloren. Waarschijnlijk is de achtergrond-" "daemon vastgelopen." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "De installatie of verwijdering van een softwarepakket is mislukt." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "De gevraagde functie wordt niet ondersteund." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Het lijkt er op dat er een fout in het programma aptdaemon aanwezig is, het " "programma waarmee u software kunt installeren/verwijderen en andere pakket-" "gerelateerde taken kunt uitvoeren." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Mogelijk zijn vereiste, extra softwarepakketten niet beschikbaar of niet " "installeerbaar. Verder kan er een conflict zijn opgetreden tussen " "softwarepakketten die niet tegelijkertijd geĂŻnstalleerd kunnen zijn." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Dit vereist het installeren van pakketten uit niet-geauthenticeerde bronnen." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "De installatie kan mislukt zijn door een fout in het betreffende " "softwarepakket, of doordat het installatieproces op een onjuiste wijze werd " "afgebroken. Deze fout dient hersteld te worden alvorens u andere software " "kunt installeren of verwijderen." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Kopieer het bastand naar uw lokale computer en controleer de " "bestandstoegangsrechten" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Het installeren van een pakket dat de kwaliteitsnormen geweld aandoet is " "niet toegestaan. Dit zou ernstige problemen op uw computer kunnen " "veroorzaken. Neem contact op met de persoon of organisatie die dit " "pakketbestand geleverd heeft en sluit onderstaande details in." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "De gedownloade licentiesleutel die vereist is om deze software te draaien is " "ongeldig of kon niet juist worden geĂŻnstalleerd.\n" "Zie de details voor meer informatie." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Alle beschikbare upgrades zijn reeds geĂŻnstalleerd." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "De licentiesleutel waarmee u deze software kunt gebruiken kon niet worden " "gedownload. Controleer uw netwerkverbinding." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "U heeft niet de vereiste bevoegdheden om deze actie uit te voeren." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "U heeft of een verkeerd wachtwoord opgegeven, of de autorisatie " "geannuleerd.\n" "Verder zou er ook een technische reden kunnen zijn voor deze fout als u geen " "wachtwoorddialoogvenster heeft gezien: uw bureaubladomgeving heeft geen " "PolicyKit-sessieagent." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Pakketbestanden downloaden is mislukt" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Softwarebron-informatie downloaden is mislukt" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Pakketafhankelijkheden kunnen niet opgelost worden" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Het pakketsysteem is gebroken" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Sleutel is niet geĂŻnstalleerd" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Sleutel is niet verwijderd" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Kon de pakketbeheerder niet vergrendelen" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Kon de pakkettenlijst niet vergrendelen" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakket bestaat niet" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Pakket is al bijgewerkt" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakket is al geĂŻnstalleerd" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakket is niet geĂŻnstalleerd" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Kon essentieel systeempakket niet verwijderen" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Taak kan niet bijgehouden of bestuurd worden." #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Pakkethandeling is mislukt" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Vereist installatie van onvertrouwde pakketten" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Vorige installatie is niet voltooid" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Het pakket is van slechte kwaliteit" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Pakketbestand kon niet worden geopend" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Niet-ondersteunde functie" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Het downloaden van de licentiesleutel is mislukt" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Het installeren van de licentiesleutel is mislukt" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Het systeem is al bijgewerkt" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "U kon niet worden geautoriseerd" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "U mag deze actie niet uitvoeren" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Er is een onhandelbare fout opgetreden" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Wachten op het starten van de dienst" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Wachten" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Wachten op vereist medium" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Wachten totdat andere softwarebeheerders zijn afgesloten" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Wachten op het venster van het configuratiebestand" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Actieve taak" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Downloaden" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Softwarebronnen doorzoeken" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Opruimen" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Gereed" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Annuleren" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Softwarelijst laden" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s installeren" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s configureren" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s verwijderen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s wordt volledig verwijderd" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "De verdwijning van %s wordt genoteerd" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Post-installatiehandeling %s uitvoeren" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s upgraden" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s wordt uitgepakt" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Installatie van %s wordt voorbereid" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Configuratie van %s wordt voorbereid" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Verwijdering van %s wordt voorbereid" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Het volledig verwijderen van %s wordt voorbereid" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s is geĂŻnstalleerd" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s is volledig verwijderd" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s is verwijderd" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Bezig met het verwerken van %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Gereed" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Authenticatie mislukt" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Ophalen" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inactief" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Er is geen netwerkverbinding" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Details" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Bestand" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sB gedownload" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Gedownload" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Cd/dvd '%s' is nodig" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Plaats de bovenstaand cd/dvd in drive '%s\" om hiervan softwarepakketten te " "installeren." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "D_oorgaan" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Installeren" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Herinstalleren" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Verwijderen" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Volledig verwijderen" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Upgraden" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Vorige versie gebruiken" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Upgraden overslaan" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Bekijk de onderstaande lijst van wijzigingen." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Er dient extra software geĂŻnstalleerd te worden" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Er dient extra software opnieuw geĂŻnstalleerd te worden" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Er dient extra software verwijderd te worden" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Er dient extra software volledig verwijderd te worden" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Er dient extra software opgewaardeerd te worden" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Er dient de vorige versie van extra software gebruikt te worden" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Updates zullen worden overgeslagen" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Er moeten extra wijzigingen worden aangebracht" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Er zal in totaal %sB gedownload worden." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Er zal %sB aan schijfruimte vrijkomen." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Er zal %sB extra schijfruimte gebruikt worden." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Uw aanpassingen in '%s' met een latere versie van het configuratiebestand " "overschrijven?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Als u niet weet waarom het bestand al bestaat is het meestal veilig om het " "te vervangen." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Veranderingen" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Behouden" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "Ve_rvangen" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Details" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Wacht tot %s wordt afgesloten" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "%(files)s wordt gedownload" msgstr[1] "%(files)s worden gedownload" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "lokale softwarebron" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Bezig met het downloaden van %s" msgstr[1] "Bezig met het downloaden van %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Structuur van %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Beschrijving van %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Beschrijving handtekening van %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Beschikbare pakketten van %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Beschikbare bronnen van %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Beschikbare vertalingen van %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Vertalingen voor %s (%s) van %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Vertalingen voor %s van %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Vertalingen (%s) van %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Pakket %s is niet beschikbaar" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pakket %s is niet geĂŻnstalleerd" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versie %s van %s is niet geĂŻnstalleerd" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Pakket %s is al geĂŻnstalleerd" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "De versie %s van %s is niet beschikbaar." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Het webadres van de sleutelserver is ongeldig: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Ongeldig protocol van de server: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Ongeldige identificatie van sleutel: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Het downloaden en installeren van de sleutel %s van %s is mislukt:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Sleutelbestand %s kon niet worden geĂŻnstalleerd: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Sleutel met vingerafdruk %s kon niet worden verwijderd: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Pakket %s kan niet worden verwijderd." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versie %s van %s is niet geĂŻnstalleerd" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "De vorige versie %s van %s is al geĂŻnstalleerd" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Versie %s van %s is al geĂŻnstalleerd" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "De versie %s van %s is niet beschikbaar" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "U dient op te geven naar welke versie %s moet worden teruggebracht" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "De latere versie %s van %s is al geĂŻnstalleerd" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Het pakket %s is niet beschikbaar in de uitgave %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Pakket %s kan niet worden verwijderd" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Bij dit pakket bevat geen geldig â€Installed-Size control field’. Zie Debian " "Policy, artikel 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "De licentiesleutel is leeg" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "De licentiesleutel mag geen uitvoerbare code bevatten." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Het licentiesleutelpad %s is ongeldig" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "De licentiesleutel bestaat reeds: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "De locatie van de licentiesleutel is onbeveiligd omdat het symbolische " "verwijzingen bevat. Pad %s wijst naar %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" "De map waar de sleutel geĂŻnstalleerd moet worden bestaat nog niet: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Schrijven van sleutelbestand naar %s mislukt" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" "De afhankelijkheden van de volgende pakketten konden niet geĂŻnstalleerd " "worden:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "maar het is een virtueel pakket" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "maar het is niet geĂŻnstalleerd" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "maar het zal niet worden geĂŻnstalleerd" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "maar %s is geĂŻnstalleerd" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "maar %s zal worden geĂŻnstalleerd" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Het toevoegen van een sleutel aan de lijst van vertrouwde software-" #~ "leveranciers is mislukt" aptdaemon-1.1.1/po/nb.po0000644000175000017500000012766112117271433015633 0ustar renaterenate00000000000000# Norwegian Bokmal translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-02-26 20:26+0000\n" "Last-Translator: Mathias Bynke \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Vis godkjente utgivere" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Du mĂĄ autentisere deg for ĂĄ vise godkjente nøkler." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Fjern nedlastede pakkefiler" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Du mĂĄ autentisere deg for ĂĄ rydde opp i nedlastede pakkefiler." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Endre programvareoppsett" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Du mĂĄ autentisere deg for ĂĄ endre programvareinnstillinger." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Endre programvarearkiv" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Du mĂĄ autentisere deg for ĂĄ endre innstillinger for programvarearkiver." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Installer pakkefil" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "For ĂĄ installere denne pakken mĂĄ du autentisere deg." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Oppdater pakkeinformasjon" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Du mĂĄ autentisere deg for ĂĄ oppdatere programvarekatalogen." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Installer eller fjern pakker" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "For ĂĄ installere eller fjerne programvare mĂĄ du autentisere deg." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Legg til et nytt pakkearkiv og installer pakker fra det" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Du mĂĄ autentisere deg for ĂĄ installere fra en ny kilde." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Legg til et nytt pakkearkiv for kjøpt programvare og installer pakker fra det" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Du mĂĄ autentisere deg for ĂĄ installere kjøpt programvare." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Oppgrader pakker" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Du mĂĄ autentisere deg for ĂĄ installere den oppdaterte programvaren" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Avbryte en annen brukers oppgaver" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "Du mĂĄ autentisere deg for ĂĄ avbryte andres programvareendringer." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Velg en proxy-tjener til programvarenedlastinger" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "For ĂĄ bruke en proxytjener til ĂĄ laste ned programvare mĂĄ du autentisere deg." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "FEIL" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Lastet ned %sB av %sB fra %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Lastet ned %sB av %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "FEIL:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Du har ikke tilgang til ĂĄ utføre denne handlingen." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Legger i kø" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Løser avhengigheter" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Følgende NY pakke vil installeres (%(count)s):" msgstr[1] "Følgende NYE pakker vil installeres (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Følgende pakke vil oppgraderes (%(count)s):" msgstr[1] "Følgende pakker vil oppgraderes (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Følgende pakke vil FJERNES (%(count)s):" msgstr[1] "Følgende pakker vil FJERNES (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Følgende pakke vil NEDGRADERES (%(count)s):" msgstr[1] "Følgende pakker vil NEDGRADERES (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Følgende pakke vil bli installert pĂĄ nytt (%(count)s):" msgstr[1] "Følgende pakker vil bli installert pĂĄ nytt (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Følgende pakke holdes tilbake (%(count)s):" msgstr[1] "Følgende pakker holdes tilbake (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "MĂĄ hente %sB arkiver." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Etter denne operasjonen vil %sB ekstra diskplass brukes." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Etter denne operasjonen vil %sB ekstra diskplass bli frigjort." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Ănsker du ĂĄ fortsette [J/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Sett pakkenavn i anførselstegn for ĂĄ betjene mer enn Ă©n pakke:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Oppdater bufferen" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Forsøk ĂĄ løse problemer med ødelagte avhengigheter. Dette er en potensielt " "skadelig operasjon da den kan forsøke ĂĄ fjerne mange pakker." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Forsøker ĂĄ fullføre en tidligere ufullstendig installasjon" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Installer de angitte pakkene" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Installer de angitte pakkene pĂĄ nytt" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Fjern angitte pakker" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Fjern angitte pakker og tilhørende oppsettsfiler" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Nedgrader angitte pakker" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "UtgĂĄtt: vennlist bruk --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Oppgrader systemet pĂĄ en trygg mĂĄte" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Oppgrader systemet, installasjon og fjerning av pakker vil sannsynligvis " "forekomme" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Legg leverandøren til godkjente" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Legg til leverandørens nøkkel-id (behøver ogsĂĄ --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Bruk gitt nøkkeltjener til ĂĄ lete opp nøkler" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Legg til ny pakkearkiv fra den gitt deb-linjen" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Angi en alternativ sources.list.d-fil hvor pakkearkeivene skal legges til." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Vise godkjente utgivernøkler" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Fjern fingeravtrykkets godkjente nøkkel" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Sett opp installerte pakker pĂĄ nytt. Alternativt kan et minimum av spørsmĂĄl " "angis" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Ikke inkluder apt-terminalen" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Tillat pakker fra uautentiserte kilder" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Vis detaljert informasjon om pakkene. For øyeblikket kun versjonsnummer" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Venter pĂĄ autentisering" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Ikke avslutt daemon ved inaktivitet" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Ikke last noen programtillegg" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Vis informasjon om interne prosesser" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Avslutt og erstatt en kjørende daemon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Utfør operasjoner i angitt chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Lagre profilstatistikk i angitt fil" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Ikke gjør noen endringer pĂĄ systemet (til bruk for utviklere)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Installert fil" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Installerte pakker" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "La til nøkkel fra fil" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Mellomlager oppdatert" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Søket er utført" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Fjernet sikker nøkkel" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Fjernede pakker" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Oppdaterte pakker" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Oppgradert system" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Endringer utført" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Reparer ufullstendige installasjoner" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Reparer ødelagte avhengigheter" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "La til programvarekilde" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Aktivert distribusjonskomponent" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Fjernet nedlastede pakkefiler" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Satt opp installerte pakker pĂĄ nytt" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Vellykket" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Avbrutt" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Mislyktes" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installerer fil" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installerer pakker" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Legger til nøkkel fra fil" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Oppdaterer mellomlager" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Fjerner sikker nøkkel" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Fjerner pakker" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Oppdaterer pakker" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Oppgraderer system" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Utfører endringer" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Reparerer ufullstendig installasjon" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Reparerer installert programvare" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Legge til programvarekilde" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Aktiverer distribusjonskomponent" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Fjerner nedlastede pakkefiler" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Setter opp installerte pakker pĂĄ nytt" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Søker" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Installasjon av pakkefil mislyktes" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Installasjon av programvare mislyktes" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Mislyktes oppdatering av programvarelisten" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Mislyktes fjerning av klarert leverandør fra listen" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Fjerning av programvare mislyktes" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Oppdatering av programvare mislyktes" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Oppgradering av systemet mislyktes" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Bruk av programvareendringer mislyktes" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Mislyktes reparerering av ufullstendig installasjon" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Mislyktes reparerering av manglende avhengigheter" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Mislyktes ĂĄ legge til programvarekilde" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Mislyktes ĂĄ aktivere distribusjonskomponent" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Fjerning av nedlastede pakkefiler mislyktes" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Søk feilet" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Legger til lisensnøkkel" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Undersøk internettforbindelsen din." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Undersøk om du benytter noen tredjeparts pakkearkiver. Disse er ofte en " "kilde til problemer - og du mĂĄ kanskje deaktivere dem.\n" "I tillegg bør du kjøre følgende kommando i terminalen: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Den valgte filen er ikke en GPG-fil, eller er skadet." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Den valgte nøkkelen kan ikke fjernes. Kontroller at du oppgir et gyldig " "fingeravtrykk." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Kontroller om du kjører et annet programvareverktøy, som Synaptic eller " "aptitude. Kun ett verktøy kan gjøre endringer om gangen." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Dette er et alvorlig problem. Prøv igjen senere. Om problemet vedvarer, " "vennligst send feilmelding til utviklerene." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Kontroller staving av pakkenavnet og at det riktige programvarearkivet er " "aktivert." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Det behøves ingen oppdatering." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Det behøves ingen installasjon" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Ingen fjerning behøves." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "Du har bedt om fjerning av en pakke som er viktig for systemet." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Mistet forbindelsen til daemon. Sannsynligvis kræsjet bakgrunns-daemonen." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Installasjon/fjerning av programvarepakke mislyktes." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Den etterspurte funksjonen er ikke støttet." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Denne feilen kan skyldes tilleggsprogramvare som mangler eller ikke kan " "installeres. Den kan ogsĂĄ være en konflikt mellom programvarepakker som ikke " "kan være installert samtidig." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Installasjonen kan ha mislyktes pĂĄ grunn av en feil i den tilsvarende " "programvarepakken, eller at den ble avbrutt pĂĄ en brutal mĂĄte. Du mĂĄ fikse " "dette før du kan installere eller fjerne flere programmer." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Vennligst kopier filen til datamaskinen og kontroller filrettighetene." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Det er ikke tillatt ĂĄ installere en pakke som bryter med " "kvalitetsstandardene. Dette kan føre til alvorlige problemer pĂĄ " "datamaskinen. Vennligst ta kontakt med de som har gitt ut denne pakkefilen, " "og legg ved detaljene under." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Alle tilgjengelige oppgraderinger har allerede blitt installert." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Klarte ikke laste ned lisensnøkkelen som lar deg bruke dette programmet. " "Kontroller nettverkstilkoblingen din." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Nedlasting av pakkefiler mislyktes" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Nedlasting av pakkearkiv-informasjon mislyktes" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Pakkeavhengigheter kunne ikke løses" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Pakkesystemet er ødelagt" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Nøkkel ble ikke installert" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Nøkkel ble ikke fjernet" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "LĂĄsing av pakkebehandleren mislyktes" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Lasting av pakkelisten mislyktes" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakken eksisterer ikke" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Pakken er allerede oppdatert." #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakken er allerede installert" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakken er ikke installert" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Fjerning av betydningsfull systempakke mislyktes" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Oppgaven kan ikke overvĂĄkes eller kontrolleres" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Pakkeoperasjon mislyktes" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Krever installasjon av usikre pakker" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Tidligere installasjon har ikke blitt fullført" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Pakken er i dĂĄrlig forfatning" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Pakkefilen kunne ikke ĂĄpnes" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Klarte ikke laste ned lisensnøkkelen" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Klarte ikke installere lisensnøkkelen" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Systemet er allerede oppdatert" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "En uhĂĄndterbar feil oppsto" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Venter pĂĄ at tjeneste skal starte" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Venter" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Venter pĂĄ pĂĄkrevd medie" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Venter pĂĄ at annen programvarebehandler skal avsluttes" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Venter pĂĄ dialog for oppsettsfil" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Kjører oppgave" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Laster ned" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Spør programvarekilder" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Rydder opp" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Fullført" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Avbryter" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Laster pakkeliste" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installerer %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Setter opp %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Fjerner %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Fjerner %s fullstendig" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Legger merke til at %s forsvinner" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Kjører etter-installasjonsutløser %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Oppgraderer %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Pakker ut %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Forbereder installasjonen av %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Forbereder konfigureringen av %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Forbereder fjerning av %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s har blitt installert" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s er fullstendig fjernet" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Fjernet %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Behandler %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Fullført" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Autentisering mislyktes" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Henter" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Klar" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Nettverk ikke tilgjengelig" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detaljer" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fil" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Lastet ned %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Lastet ned" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Behøver CD/DVD '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Vennligst sett inn angitt CD/DVD i '%s' for ĂĄ installere programvare fra den." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "F_ortsett" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Installer" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Installer pĂĄ nytt" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Fjern" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Slett" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Oppgrader" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Nedgrader" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Hopp over oppgradering" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Vennligst se over listen over endringer nedenfor." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Andre programvarer mĂĄ installeres i tillegg" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Tilleggsprogramvare mĂĄ installeres pĂĄ nytt" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Tilleggsprogramvare mĂĄ fjernes" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Tilleggsprogramvare mĂĄ fjernes" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Tilleggsprogramvare mĂĄ oppgraderes" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Tilleggsprogramvare mĂĄ nedgraderes" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Hopper over oppdateringer" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Det mĂĄ gjøres andre endringer i tillegg" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB vil lastes ned totalt." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB diskplass vil bli frigjort." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB mer diskplass vil brukes." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Erstatt endringene i '%s' med en senere versjon av konfigurasjonsfilen?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Det gĂĄr vanligvis fint ĂĄ erstatte den hvis du ikke helt vet hvorfor filen i " "utgangspunktet er der." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Endringer" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Behold" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Erstatt" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detaljer" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Venter pĂĄ at %s avslutter" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Laster ned %(files)s" msgstr[1] "Laster ned %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Laster ned fra %s" msgstr[1] "Laster ned fra %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Beskrivelse av %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Tilgjengelige pakker fra %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Tilgjengelige kilder fra %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Tilgjengelige oversettelser fra %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Oversettelser pĂĄ %s (%s) fra %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Oversettelser pĂĄ %s fra %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Oversettelser (%s) fra %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Pakke %s er ikke tilgjengelig" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pakke %s er ikke installert" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versjon %s av %s er ikke installert" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Pakke %s er allerede installert" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Versjon %s av %s er ikke tilgjengelig." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Mislyktes nedlasting og installasjon av nøkkel %s fra %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Nøkkelfil %s kunne ikke installeres: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Nøkkel med fingeravtrykk %s kunne ikke fjernes: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Pakken %s kan ikke fjernes." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versjon %s av %s er ikke installert" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Tidligere versjon %s av %s er allerede installert" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Versjon %s av %s er allerede installert" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Versjon %s av %s er ikke tilgjengelig" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Du mĂĄ angi en versjon som %s skal nedgraderes til" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Den nyere versjonen %s av %s er allerede installert" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Pakken %s er ikke tilgjengelig i %s-utgivelsen." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Pakke %s kan ikke fjernes" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Lisensnøkkelen er tom" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Lisenskoden kan ikke inneholde kjørbar kode." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Lisensnøkkelens sti %s er ugyldig" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Lisensnøkkelen eksisterer allerede: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Følgende pakker har krav som ikke er oppfylt:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "men er en virtuell pakke" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "men er ikke installert" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "men vil ikke bli installert" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "men %s er installert" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "men %s skal installeres" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Klarte ikke ĂĄ legge til nøkkelen i listen over betrodde programvareutgivere" aptdaemon-1.1.1/po/th.po0000644000175000017500000015777012117271433015653 0ustar renaterenate00000000000000# Thai translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-09-11 01:49+0000\n" "Last-Translator: Manop Pornpeanvichanon(มานพ พรเพียรวิชานนท์) \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "รายŕ¸ŕ¸˛ŕ¸Łŕ¸„ีย์ของผู้ตัวŕąŕ¸—นทีŕąŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸–ือได้" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸”ูรายŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸—ีŕąŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸–ือได้" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "เอาŕąŕ¸źŕą‰ŕ¸ˇŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸•ŕąŕ¸˛ŕ¸‡ ๆ ทีŕąŕ¸”าว์โหลดมาŕąŕ¸Ąŕą‰ŕ¸§ŕ¸­ŕ¸­ŕ¸" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸Ąŕą‰ŕ¸˛ŕ¸‡ŕąŕ¸źŕą‰ŕ¸ˇŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸•ŕąŕ¸˛ŕ¸‡ ๆ" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸˛ŕ¸Łŕ¸•ั้งคŕąŕ¸˛ŕ¸‹ŕ¸­ŕ¸źŕ¸•์ŕąŕ¸§ŕ¸ŁŕąŚ" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕ¸ŕ¸˛ŕ¸Łŕ¸•ั้งคŕąŕ¸˛ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "เปลีŕąŕ¸˘ŕ¸™ŕ¸„ลังŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸‚องโปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸—ำŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕ¸ŕ¸˛ŕ¸Łŕ¸•ั้งคŕąŕ¸˛ŕ¸„ลังŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸‚องโปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ติดตั้งŕąŕ¸źŕą‰ŕ¸ˇŕ¸‚องŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸•ิดตั้งŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸™ŕ¸µŕą‰" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ปรับข้อมูลŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸›ŕ¸Łŕ¸¸ŕ¸‡ŕ¸«ŕ¸ˇŕ¸§ŕ¸”หมูŕąŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ติดตั้งŕąŕ¸Ąŕ¸°ŕ¸–อดถอนŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸•ิดตังหรือถอดถอนโปรŕąŕ¸ŕ¸Łŕ¸ˇ" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "เพิŕąŕ¸ˇŕ¸„ลังŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸­ŕ¸±ŕ¸™ŕąŕ¸«ŕ¸ˇŕąŕąŕ¸Ąŕ¸°ŕ¸—ำŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸•ŕąŕ¸˛ŕ¸‡ ๆ ŕ¸ŕ¸˛ŕ¸ŕ¸„ลังนี้" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸•ิดตั้งŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸ŕ¸˛ŕ¸ŕąŕ¸«ŕ¸Ąŕąŕ¸‡ŕąŕ¸«ŕ¸ˇŕą" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "เพิŕąŕ¸ˇŕ¸„ลังเŕ¸ŕą‡ŕ¸šŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸—ีŕąŕ¸‹ŕ¸·ŕą‰ŕ¸­ŕ¸ˇŕ¸˛ŕąŕ¸Ąŕą‰ŕ¸§ŕąŕ¸Ąŕ¸°ŕąŕ¸Šŕą‰ŕ¸•ิดตั้งโปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸•ิดตั้งโปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸—ีŕąŕ¸‹ŕ¸·ŕą‰ŕ¸­ŕ¸ˇŕ¸˛" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ปรับรุŕąŕ¸™ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸•ิดตั้งŕ¸ŕ¸˛ŕ¸Łŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸›ŕ¸Łŕ¸¸ŕ¸‡ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "ยŕ¸ŕą€ŕ¸Ąŕ¸´ŕ¸ŕ¸‡ŕ¸˛ŕ¸™ŕ¸‚องผู้ŕąŕ¸Šŕą‰ŕ¸­ŕ¸·ŕąŕ¸™" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "คุณต้องยืนยันตัวเพืŕąŕ¸­ŕ¸˘ŕ¸ŕą€ŕ¸Ąŕ¸´ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕąŕ¸ŕą‰ŕą„ขโปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸‚องคนอืŕąŕ¸™" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "ตั้งพร็อŕ¸ŕ¸‹ŕ¸µŕ¸Şŕ¸łŕ¸«ŕ¸Łŕ¸±ŕ¸šŕ¸”ึงโปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "คุณต้องยืนยันตัวŕąŕ¸™ŕ¸ŕ¸˛ŕ¸Łŕąŕ¸Šŕą‰ŕ¸žŕ¸Łŕą‡ŕ¸­ŕ¸ŕ¸‹ŕ¸µŕ¸—ำŕ¸ŕ¸˛ŕ¸Łŕ¸”าวน์โหลดโปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ผิดพลาด" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "ดาวน์โหลด %sB ŕąŕ¸Ąŕą‰ŕ¸§ŕ¸ŕ¸˛ŕ¸ %sB ทีŕąŕ¸„วามเร็ว %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "ดาวน์โหลด %sB ŕąŕ¸Ąŕą‰ŕ¸§ŕ¸ŕ¸˛ŕ¸ %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ผิดพลาด:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "ไมŕąŕ¸„ุณไมŕąŕą„ด้รับอนุญาติŕąŕ¸«ŕą‰ŕ¸ŕ¸Łŕ¸°ŕ¸—ำŕ¸ŕ¸˛ŕ¸Łŕ¸™ŕ¸µŕą‰" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕą€ŕ¸‚้าคิว" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕąŕ¸ŕą‰ŕ¸›ŕ¸±ŕ¸Ťŕ¸«ŕ¸˛ŕ¸ŕ¸˛ŕ¸Łŕ¸‚ึ้นตŕąŕ¸­ŕ¸ŕ¸±ŕ¸™" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕąŕ¸«ŕ¸ˇŕąŕ¸•ามนี้ŕ¸ŕ¸°ŕ¸–ูŕ¸ŕ¸•ิดตั้ง (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸•ามนี้ŕ¸ŕ¸°ŕ¸–ูŕ¸ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™ŕ¸‚ึ้น (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸•ามนี้ŕ¸ŕ¸°ŕ¸–ูŕ¸ŕą€ŕ¸­ŕ¸˛ŕ¸­ŕ¸­ŕ¸ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ (%(count)s) อันŕ¸ŕ¸°ŕ¸–ูŕ¸ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™ŕ¸Ąŕ¸‡:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą€ŕ¸«ŕ¸Ąŕąŕ¸˛ŕ¸™ŕ¸µŕą‰ŕ¸ŕ¸°ŕ¸–ูŕ¸ŕ¸•ิดตั้งŕąŕ¸«ŕ¸ˇŕą (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸žŕ¸§ŕ¸ŕ¸™ŕ¸µŕą‰ŕ¸–ูŕ¸ŕą€ŕ¸ŕą‡ŕ¸šŕąŕ¸Ąŕą‰ŕ¸§ (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "ต้องŕąŕ¸Šŕą‰ŕ¸­ŕ¸µŕ¸ %sB ŕ¸ŕ¸˛ŕ¸ŕą€ŕ¸›ŕą‰ŕ¸˛ŕ¸«ŕ¸ˇŕ¸˛ŕ¸˘" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "พื้นทีŕąŕ¸§ŕąŕ¸˛ŕ¸‡ŕ¸šŕ¸™ŕąŕ¸śŕąŕ¸™ŕ¸ŕ¸°ŕ¸–ูŕ¸ŕąŕ¸Šŕą‰ %sB หลังŕ¸ŕ¸˛ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸—ำงานนี้" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "ŕ¸ŕ¸°ŕ¸ˇŕ¸µŕ¸žŕ¸·ŕą‰ŕ¸™ŕ¸—ีŕąŕ¸§ŕąŕ¸˛ŕ¸‡ %sB หลังŕ¸ŕ¸˛ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸—ำงานนี้" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "ต้องŕ¸ŕ¸˛ŕ¸Łŕ¸—ำตŕąŕ¸­ [Y/n]" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "ŕąŕ¸«ŕą‰ŕąŕ¸Şŕąŕą€ŕ¸„รืŕąŕ¸­ŕ¸‡ŕ¸«ŕ¸ˇŕ¸˛ŕ¸˘ŕ¸„ำพูดครอบชืŕąŕ¸­ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą€ŕ¸žŕ¸·ŕąŕ¸­ŕ¸—ำงานพร้อมŕ¸ŕ¸±ŕ¸™ŕ¸«ŕ¸Ąŕ¸˛ŕ¸˘ ๆ ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "เรียŕ¸ŕ¸‚้อมูลชัŕąŕ¸§ŕ¸„ราวŕąŕ¸«ŕ¸ˇŕą" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "ลองซŕąŕ¸­ŕ¸ˇŕ¸ŕ¸˛ŕ¸Łŕ¸‚ึ้นŕ¸ŕ¸±ŕ¸™ŕ¸—ีŕąŕ¸ˇŕ¸µŕ¸›ŕ¸±ŕ¸Ťŕ¸«ŕ¸˛ŕ¸”ู ŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸Łŕ¸°ŕ¸—ำนี้ควรระวังเพราะŕ¸ŕ¸°ŕ¸ˇŕ¸µŕ¸ŕ¸˛ŕ¸Łŕ¸Ąŕ¸šŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸ŕ¸łŕ¸™ŕ¸§ŕ¸™ŕ¸ˇŕ¸˛ŕ¸" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ลองทำงานติดตั้งทีŕąŕ¸˘ŕ¸±ŕ¸‡ŕ¸„้างอยูŕąŕąŕ¸«ŕą‰ŕą€ŕ¸Şŕ¸Łŕą‡ŕ¸" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ติดตั้งŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸ŕ¸±ŕ¸”ŕąŕ¸«ŕą‰" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ติดตั้งŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸ŕ¸±ŕ¸”ŕąŕ¸«ŕą‰ŕąŕ¸«ŕ¸ˇŕą" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "เอาŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸Łŕ¸°ŕ¸šŕ¸¸ŕ¸­ŕ¸­ŕ¸" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "เอาŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸žŕ¸Łŕą‰ŕ¸­ŕ¸ˇŕ¸—ั้งŕąŕ¸źŕą‰ŕ¸ˇŕ¸•ั้งคŕąŕ¸˛ŕ¸—ีŕąŕ¸Łŕ¸°ŕ¸šŕ¸¸ŕ¸­ŕ¸­ŕ¸" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "ปรับรุŕąŕ¸™ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą€ŕ¸«ŕ¸Ąŕąŕ¸˛ŕ¸™ŕ¸µŕą‰ŕ¸Ąŕ¸‡" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "ล้าสมัยŕąŕ¸Ąŕą‰ŕ¸§: โปรดŕąŕ¸Šŕą‰ --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "ปรับรุŕąŕ¸™ŕ¸Łŕ¸°ŕ¸šŕ¸šŕ¸”้วยวิŕ¸ŕ¸µŕ¸—ีŕąŕ¸›ŕ¸Ąŕ¸­ŕ¸”ภัย" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "ปรับรุŕąŕ¸™ŕ¸Łŕ¸°ŕ¸šŕ¸šŕ¸”้วยด้วยŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งŕąŕ¸Ąŕ¸°ŕ¸–อดถอนŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą€ŕ¸žŕ¸´ŕąŕ¸ˇ" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "เพิŕąŕ¸ˇŕ¸śŕ¸ąŕą‰ŕ¸ŕ¸łŕ¸«ŕ¸™ŕąŕ¸˛ŕ¸˘ŕ¸—ีŕąŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸–ือได้" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "เพิŕąŕ¸ˇŕ¸śŕ¸ąŕą‰ŕ¸ŕ¸łŕ¸«ŕ¸™ŕąŕ¸˛ŕ¸˘ keyid (อาŕ¸ŕ¸ŕ¸°ŕ¸•้องŕ¸ŕ¸˛ŕ¸Ł --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "มองหาŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸ŕ¸˛ŕ¸ŕąŕ¸ˇŕąŕ¸‚ŕąŕ¸˛ŕ¸˘ŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸—ีŕąŕ¸ŕ¸±ŕ¸”ŕąŕ¸«ŕą‰" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "เพิŕąŕ¸ˇŕ¸„ลังŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕąŕ¸«ŕ¸ˇŕąŕ¸ŕ¸˛ŕ¸ deb-line" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "ระบบŕąŕ¸źŕą‰ŕ¸™ sources.list.d อันอืŕąŕ¸™ŕą€ŕ¸žŕ¸·ŕąŕ¸­ŕ¸”ูคลังโปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸—ีŕąŕ¸­ŕ¸˛ŕ¸ŕ¸–ูŕ¸ŕą€ŕ¸žŕ¸´ŕąŕ¸ˇ" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "รายŕ¸ŕ¸˛ŕ¸Łŕ¸śŕ¸ąŕą‰ŕąŕ¸ŕ¸ŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸—ีŕąŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸–ือได้" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "เอาŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸—ีŕąŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸–ือได้ออŕ¸ŕ¸•ามลายนิวมือทีŕąŕ¸ŕ¸±ŕ¸”ŕąŕ¸«ŕą€ŕą‰" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "ตั้งคŕąŕ¸˛ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸–ูŕ¸ŕ¸•ิดตั้งŕąŕ¸Ąŕą‰ŕ¸§ŕąŕ¸«ŕ¸ˇŕą " "ทางเลือŕ¸ŕ¸™ŕ¸µŕą‰ŕ¸ŕ¸°ŕ¸ˇŕ¸µŕ¸„ำถามทีŕąŕą€ŕ¸ŕ¸µŕąŕ¸˘ŕ¸§ŕ¸ŕ¸±ŕ¸šŕ¸Ąŕ¸łŕ¸”ับความสำคัญน้อยทีŕąŕ¸Şŕ¸¸ŕ¸”" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "ลำดับ defconf คำถามทีŕąŕ¸–ูŕ¸ŕąŕ¸Şŕ¸”งน้ŕąŕ¸­ŕ¸˘ŕ¸—ีŕąŕ¸Şŕ¸¸ŕ¸”" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "ไมŕąŕ¸•้องตŕąŕ¸­ŕą€ŕ¸‚้าŕ¸ŕ¸±ŕ¸šŕą€ŕ¸—อร์มินัลของ apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "อณุญาติŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕą„มŕąŕ¸Łŕ¸°ŕ¸šŕ¸¸ŕ¸—ีŕąŕ¸ˇŕ¸˛" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "ŕąŕ¸Şŕ¸”งขŕąŕ¸˛ŕ¸§ŕ¸Şŕ¸˛ŕ¸Łŕą€ŕ¸žŕ¸´ŕąŕ¸ˇŕą€ŕ¸•ิŕąŕ¸ˇŕą€ŕ¸ŕ¸µŕąŕ¸˘ŕ¸§ŕ¸ŕ¸±ŕ¸šŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸•ัวนี้ เฉพาะ้เลขรุŕąŕ¸™ŕ¸™ŕ¸µŕą‰ŕą€ŕ¸—ŕąŕ¸˛ŕ¸™ŕ¸±ŕą‰ŕ¸™" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸Łŕ¸­ŕ¸ŕ¸˛ŕ¸Łŕ¸˘ŕ¸·ŕ¸™ŕ¸˘ŕ¸±ŕ¸™" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "ห้ามปิดดีมอนเพียงเพราะวŕąŕ¸˛ŕ¸ˇŕ¸±ŕ¸™ŕą„มŕąŕą„ด้ทำงาน" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "ŕąŕ¸Şŕ¸”งข้อมูลŕ¸ŕ¸˛ŕ¸Łŕ¸›ŕ¸Łŕ¸°ŕ¸ˇŕ¸§ŕ¸Ąŕ¸śŕ¸Ąŕ¸ ŕ¸˛ŕ¸˘ŕąŕ¸™" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "ออŕ¸ŕąŕ¸Ąŕ¸°ŕąŕ¸—นทีŕąŕ¸”ีมอนทีŕąŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸—ำงานอยูŕą" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "ฟังทีŕąŕ¸§ŕ¸˛ŕ¸Łŕ¸°ŕ¸‚อง DBUS(เฉพาะทดสอบเทŕąŕ¸˛ŕ¸™ŕ¸±ŕą‰ŕ¸™)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "ŕąŕ¸«ŕą‰ŕ¸ŕ¸Łŕ¸°ŕ¸—ำŕąŕ¸™ chroot ทีŕąŕ¸ŕ¸±ŕ¸”ŕąŕ¸«ŕą‰" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "เŕ¸ŕą‡ŕ¸šŕ¸Şŕ¸–ิติโพรไฟล์ลงŕąŕ¸™ŕąŕ¸źŕą‰ŕ¸ˇŕ¸—ีŕąŕ¸Łŕ¸°ŕ¸šŕ¸¸ŕą„ว้" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "ห้ามทำŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕąŕ¸›ŕ¸Ąŕ¸‡ŕ¸Łŕ¸°ŕ¸šŕ¸š (ŕąŕ¸Šŕą‰ŕą€ŕ¸‰ŕ¸žŕ¸˛ŕ¸°ŕ¸™ŕ¸±ŕ¸ŕ¸žŕ¸±ŕ¸’นาเทŕąŕ¸˛ŕ¸™ŕ¸±ŕą‰ŕ¸™)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "ŕąŕ¸źŕą‰ŕ¸ˇŕ¸—ีŕąŕ¸–ูŕ¸ŕ¸•ิดตั้งŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸–ูŕ¸ŕ¸•ิดตั้งŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "เพิŕąŕ¸ˇŕ¸„ีย์ŕ¸ŕ¸˛ŕ¸ŕąŕ¸źŕą‰ŕ¸ˇŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "ปรับปรุงŕąŕ¸„ช" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "ŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸„วามเชืŕąŕ¸­ŕ¸–ือถอดถอนŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "เŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸–อดถอนŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸›ŕ¸Łŕ¸¸ŕ¸‡ŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "ระบบทีŕąŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™ŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "ปรับŕąŕ¸Šŕą‰ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕąŕ¸›ŕ¸Ąŕ¸‡" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "ซŕąŕ¸­ŕ¸ˇŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งทีŕąŕ¸˘ŕ¸±ŕ¸‡ŕą„มŕąŕą€ŕ¸Łŕ¸µŕ¸˘ŕ¸šŕ¸Łŕą‰ŕ¸­ŕ¸˘ŕą€ŕ¸Şŕ¸Łŕą‡ŕ¸ŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "ซŕąŕ¸­ŕ¸ˇŕąŕ¸‹ŕ¸ˇŕ¸ŕ¸˛ŕ¸Łŕ¸‚ึ้นตŕąŕ¸­ŕ¸ŕ¸±ŕ¸™ŕ¸—ีŕąŕą€ŕ¸Şŕ¸µŕ¸˘ŕ¸«ŕ¸˛ŕ¸˘" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "เพิŕąŕ¸ˇŕąŕ¸«ŕ¸Ąŕąŕ¸‡ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "ŕąŕ¸«ŕą‰ŕ¸­ŕ¸‡ŕ¸„์ประŕ¸ŕ¸­ŕ¸šŕ¸—ำงานŕąŕ¸šŕ¸šŕ¸ŕ¸Łŕ¸°ŕ¸ŕąŕ¸˛ŕ¸˘ŕą„ด้" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "เอาŕąŕ¸źŕą‰ŕ¸ˇŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸”ูดมาออŕ¸" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "ปรับŕąŕ¸•ŕąŕ¸‡ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸–ูŕ¸ŕ¸•ิดตั้งŕąŕ¸Ąŕą‰ŕ¸§ŕąŕ¸«ŕ¸ˇŕą" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "สำเร็ŕ¸" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "ยŕ¸ŕą€ŕ¸Ąŕ¸´ŕ¸ŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "ล้มเหลว" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸•ิดตั้งŕąŕ¸źŕą‰ŕ¸ˇ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸•ิดตั้งŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕą€ŕ¸žŕ¸´ŕąŕ¸ˇŕ¸„ีย์ŕ¸ŕ¸˛ŕ¸ŕąŕ¸źŕą‰ŕ¸ˇ" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸›ŕ¸Łŕ¸¸ŕ¸‡ŕąŕ¸„ช" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸–อดถอนคีย์ทีŕąŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸–ือ" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸–อดถอนŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸›ŕ¸Łŕ¸¸ŕ¸‡ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™ŕ¸Łŕ¸°ŕ¸šŕ¸š" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕąŕ¸Šŕą‰ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕąŕ¸›ŕ¸Ąŕ¸‡" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "ซŕąŕ¸­ŕ¸ˇŕąŕ¸‹ŕ¸ˇŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งทีŕąŕą„มŕąŕą€ŕ¸Şŕ¸Łŕą‡ŕ¸" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕą€ŕ¸žŕ¸´ŕąŕ¸ˇŕąŕ¸«ŕ¸Ąŕąŕ¸‡ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "เปิดŕ¸ŕ¸˛ŕ¸Łŕ¸—ำงานองค์ประŕ¸ŕ¸­ŕ¸šŕąŕ¸šŕ¸šŕ¸ŕ¸Łŕ¸°ŕ¸ŕąŕ¸˛ŕ¸˘" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕą€ŕ¸­ŕ¸˛ŕąŕ¸źŕą‰ŕ¸ˇŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸”ูดมาออŕ¸" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕąŕ¸•ŕąŕ¸‡ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸–ูŕ¸ŕ¸•ิดตั้งŕąŕ¸Ąŕą‰ŕ¸§ŕąŕ¸«ŕ¸ˇŕą" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งŕąŕ¸źŕą‰ŕ¸ˇŕ¸ŕ¸˛ŕ¸ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งซอฟต์ŕąŕ¸§ŕ¸ŁŕąŚŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸›ŕ¸Łŕ¸¸ŕ¸‡ŕ¸Łŕ¸˛ŕ¸˘ŕ¸ŕ¸˛ŕ¸Łŕ¸‹ŕ¸­ŕ¸źŕ¸•์ŕąŕ¸§ŕ¸ŁŕąŚŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸­ŕ¸˛ŕ¸śŕ¸ąŕą‰ŕ¸ŕ¸łŕ¸«ŕ¸™ŕąŕ¸˛ŕ¸˘ŕ¸­ŕ¸­ŕ¸ŕ¸ŕ¸˛ŕ¸ŕ¸Łŕ¸˛ŕ¸˘ŕ¸ŕ¸˛ŕ¸Łŕ¸—ีŕąŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸–ือได้ล้มเหลว" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸–อดถอนซอฟต์ŕąŕ¸§ŕ¸ŁŕąŚŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸›ŕ¸Łŕ¸¸ŕ¸‡ŕ¸‹ŕ¸­ŕ¸źŕ¸•์ŕąŕ¸§ŕ¸ŁŕąŚŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™ŕ¸Łŕ¸°ŕ¸šŕ¸šŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸›ŕ¸Łŕ¸±ŕ¸šŕąŕ¸Šŕą‰ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕąŕ¸›ŕ¸Ąŕ¸‡ŕ¸‹ŕ¸­ŕ¸źŕ¸•์ŕąŕ¸§ŕ¸ŁŕąŚŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸‹ŕąŕ¸­ŕ¸ˇŕąŕ¸‹ŕ¸ˇŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งทีŕąŕ¸˘ŕ¸±ŕ¸‡ŕą„มŕąŕą€ŕ¸Şŕ¸Łŕą‡ŕ¸ŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸‹ŕąŕ¸­ŕ¸ˇŕąŕ¸‹ŕ¸ˇŕ¸„วามขึ้นตŕąŕ¸­ŕ¸ŕ¸±ŕ¸™ŕ¸—ีŕąŕą€ŕ¸Şŕ¸µŕ¸˘ŕ¸«ŕ¸˛ŕ¸˘ ล้มเหลว" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸žŕ¸´ŕą‰ŕ¸ˇŕąŕ¸«ŕ¸Ąŕąŕ¸‡ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸´ŕ¸”ŕąŕ¸Šŕą‰ŕ¸‡ŕ¸˛ŕ¸™ŕ¸­ŕ¸‡ŕ¸„์ประŕ¸ŕ¸­ŕ¸šŕ¸—ำงานŕąŕ¸šŕ¸šŕ¸ŕ¸Łŕ¸°ŕ¸ŕ¸˛ŕ¸˘ŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§ŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸­ŕ¸˛ŕąŕ¸źŕą‰ŕ¸ˇŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸”ูดมาออŕ¸ŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "โปรดตรวŕ¸ŕ¸Şŕ¸­ŕ¸šŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸ˇŕ¸•ŕąŕ¸­ŕ¸­ŕ¸´ŕ¸™ŕą€ŕ¸—อร์เน็ตของคุณ" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "ตรวŕ¸ŕ¸”ูวŕąŕ¸˛ŕąŕ¸Šŕą‰ŕ¸„ลังŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸‚องเŕ¸ŕą‰ŕ¸˛ŕ¸­ŕ¸·ŕąŕ¸™ŕ¸«ŕ¸Łŕ¸·ŕ¸­ŕą€ŕ¸›ŕ¸Ąŕąŕ¸˛ ถ้าปิดŕ¸ŕ¸˛ŕ¸Łŕ¸—ำงานคลังนั้น ๆ " "เนือŕ¸ŕ¸ŕ¸˛ŕ¸ŕ¸›ŕ¸±ŕ¸Ťŕ¸«ŕ¸˛ŕ¸ŕ¸˛ŕ¸ŕąŕ¸«ŕ¸Ąŕąŕ¸‡ŕ¸—ีŕąŕ¸ˇŕ¸˛\n" "ŕąŕ¸«ŕą‰ŕ¸Ąŕ¸­ŕ¸‡ŕą€ŕ¸Łŕ¸µŕ¸˘ŕ¸ŕ¸„ำสŕąŕ¸‡ŕąŕ¸™ŕą€ŕ¸—อร์มินัล: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "ŕąŕ¸źŕą‰ŕ¸ˇŕ¸—ีŕąŕą€ŕ¸Ąŕ¸·ŕ¸­ŕ¸ŕą„ว้อาŕ¸ŕą„มŕąŕąŕ¸Šŕąŕąŕ¸źŕą‰ŕ¸ˇŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ GPG หรือมันอาŕ¸ŕą€ŕ¸Şŕ¸µŕ¸˘ŕ¸«ŕ¸˛ŕ¸˘" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "ŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸—ีŕąŕą€ŕ¸Ąŕ¸·ŕ¸­ŕ¸ŕą„ว้ไมŕąŕ¸Şŕ¸˛ŕ¸ˇŕ¸˛ŕ¸Łŕ¸–ถอดถอนได้ " "ŕąŕ¸«ŕą‰ŕ¸•รวŕ¸ŕ¸”ูวŕąŕ¸˛ŕ¸Ąŕ¸˛ŕ¸˘ŕ¸™ŕ¸´ŕ¸§ŕ¸ˇŕ¸·ŕ¸­ŕ¸—ีŕąŕ¸„ุณŕąŕ¸«ŕą‰ŕą„ว้ถูŕ¸ŕ¸•้องหรือไมŕą" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "ตรวŕ¸ŕ¸”ูวŕąŕ¸˛ŕ¸„ุณŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸—ำงานŕ¸ŕ¸±ŕ¸šŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸ŕ¸±ŕ¸”ŕ¸ŕ¸˛ŕ¸Łŕ¸•ัวอืŕąŕ¸™ ๆ อยูŕąŕ¸«ŕ¸Łŕ¸·ŕ¸­ŕą€ŕ¸›ŕ¸Ąŕąŕ¸˛ เชŕąŕ¸™ Synaptic " "หรือ aptitude " "อณุญาตŕąŕ¸„ŕąŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇŕą€ŕ¸”ียวเทŕąŕ¸˛ŕ¸™ŕ¸±ŕą‰ŕ¸™ŕ¸—ีŕąŕ¸Şŕ¸˛ŕ¸ˇŕ¸˛ŕ¸Łŕ¸–ทำŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕąŕ¸›ŕ¸Ąŕ¸‡ŕąŕ¸™ŕą€ŕ¸§ŕ¸Ąŕ¸˛ŕą€ŕ¸”ียวŕ¸ŕ¸±ŕ¸™ŕą„ด้" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "นี้เป็นปัญหาร้ายŕąŕ¸Łŕ¸‡ โปรดลองŕąŕ¸«ŕ¸ˇŕąŕ¸ ŕ¸˛ŕ¸˘ŕ¸«ŕ¸Ąŕ¸±ŕ¸‡ ถ้ายังพบปัญหานี้อีภ" "โปรดรายงานข้อผิดพลาดไปทีŕąŕ¸™ŕ¸±ŕ¸ŕ¸žŕ¸±ŕ¸’นา" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "ตรวŕ¸ŕ¸”ูวŕąŕ¸˛ŕ¸Şŕ¸°ŕ¸ŕ¸”ชืŕąŕ¸­ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸–ูŕ¸ŕ¸«ŕ¸Łŕ¸·ŕ¸­ŕą€ŕ¸›ŕ¸Ąŕąŕ¸˛ ŕąŕ¸Ąŕ¸° คลังŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸–ูŕ¸ŕ¸•้องถูŕ¸ŕą€ŕ¸›ŕ¸´ŕ¸”ŕąŕ¸Šŕą‰ŕ¸‡ŕ¸˛ŕ¸™ŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "ไมŕąŕ¸ˇŕ¸µŕ¸„วามต้องŕ¸ŕ¸˛ŕ¸Łŕąŕ¸” ๆ ทีŕąŕ¸ŕ¸°ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸›ŕ¸Łŕ¸¸ŕ¸‡" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "นัŕąŕ¸™ŕą„มŕąŕ¸ˇŕ¸µŕ¸„วามŕ¸ŕ¸łŕą€ŕ¸›ŕą‡ŕ¸™ŕ¸•้องติดตั้ง" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "นัŕąŕ¸™ŕą„มŕąŕ¸ˇŕ¸µŕ¸„วามŕ¸ŕ¸łŕą€ŕ¸›ŕą‡ŕ¸™ŕ¸•้องถอดถอน" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "คุณได้ร้องขอŕąŕ¸«ŕą‰ŕ¸–อดถอนŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸‹ŕ¸¶ŕąŕ¸‡ŕą€ŕ¸›ŕą‡ŕ¸™ŕ¸Şŕąŕ¸§ŕ¸™ŕ¸Şŕ¸łŕ¸„ัญของระบบของคุณ" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸ˇŕ¸•ŕąŕ¸­ŕą„ปทีŕąŕ¸”ีมอนหลุดŕąŕ¸Ąŕą‰ŕ¸§ ดูเหมือนŕ¸ŕ¸±ŕ¸šŕ¸§ŕąŕ¸˛ŕ¸”ีมอนทีŕąŕ¸—ำงานอยูŕąŕ¸‰ŕ¸˛ŕ¸ŕ¸«ŕ¸Ąŕ¸±ŕ¸‡ŕ¸‚ัดข้อง" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งหรือถอดถอนŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸‚องซอฟต์ŕąŕ¸§ŕ¸ŁŕąŚŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "นŕąŕ¸˛ŕ¸ŕ¸°ŕą€ŕ¸›ŕą‡ŕ¸™ŕ¸‚้อผิดพลาดŕ¸ŕ¸˛ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸‚ียนโปรŕąŕ¸ŕ¸Łŕ¸ˇŕąŕ¸™ aptdaemon " "โปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸™ŕ¸µŕą‰ŕ¸—ำŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้ง/ถอดถอนโปรŕąŕ¸ŕ¸Łŕ¸ˇŕąŕ¸Ąŕ¸°ŕ¸ŕ¸±ŕ¸”ŕ¸ŕ¸˛ŕ¸Łŕ¸”้านŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸«ŕ¸Łŕ¸·ŕ¸­ŕ¸‡ŕ¸˛ŕ¸™ŕ¸•ŕąŕ¸˛ŕ¸‡ ๆ " "ทีŕąŕą€ŕ¸ŕ¸µŕ¸˘ŕ¸§ŕ¸‚้อง" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "ข้อผิดพลาดนี้สาเหตุมาŕ¸ŕ¸˛ŕ¸ŕą„มŕąŕ¸žŕ¸šŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇŕą€ŕ¸žŕ¸´ŕąŕ¸ˇŕą€ŕ¸•ิมทีŕąŕ¸•้องŕ¸ŕ¸˛ŕ¸Ł " "หรือไมŕąŕ¸ŕą‡ŕą€ŕ¸ŕ¸´ŕ¸”ŕ¸ŕ¸˛ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸‚ัดŕ¸ŕ¸±ŕ¸™ŕ¸‚องŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸—ีŕąŕą„มŕąŕ¸­ŕ¸™ŕ¸¸ŕ¸Ťŕ¸˛ŕ¸•ิŕąŕ¸«ŕą‰ŕ¸•ิดตั้งพร้อมŕ¸ŕ¸±ŕ¸™" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "ŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งนี้ล้มเหลวเพราะวŕąŕ¸˛ŕ¸ˇŕ¸µŕ¸‚้อผิดพลาดŕ¸ŕ¸˛ŕ¸”ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇ หรือ " "ถูŕ¸ŕ¸˘ŕ¸ŕą€ŕ¸Ąŕ¸´ŕ¸ŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งŕąŕ¸™ŕ¸—างทีŕąŕą„มŕąŕ¸›ŕ¸ŕ¸•ิ " "คุณควรซŕąŕ¸­ŕ¸ˇŕąŕ¸‹ŕ¸ˇŕą€ŕ¸Łŕ¸·ŕąŕ¸­ŕ¸‡ŕ¸™ŕ¸µŕą‰ŕ¸ŕąŕ¸­ŕ¸™ŕ¸—ีŕąŕ¸ŕ¸°ŕ¸•ิดตั้งหรือถอดถอดโปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸­ŕ¸·ŕąŕ¸™ ๆ เพิŕąŕ¸ˇ" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "โปรดคัดลอŕ¸ŕąŕ¸źŕą‰ŕ¸ˇŕą„ปทีŕąŕą€ŕ¸„รืŕąŕ¸­ŕ¸‡ŕ¸‚องคุณŕąŕ¸Ąŕą‰ŕ¸§ŕ¸•รวŕ¸ŕ¸”ูสิทŕ¸ŕ¸´ŕąŚŕ¸—ีŕąŕ¸­ŕ¸™ŕ¸¸ŕ¸Ťŕ¸˛ŕ¸•ของŕąŕ¸źŕą‰ŕ¸ˇ" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "ไมŕąŕ¸­ŕ¸™ŕ¸¸ŕ¸Ťŕ¸˛ŕ¸•ิŕąŕ¸«ŕą‰ŕ¸—ำŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸ˇŕ¸µŕ¸„ุณภาพตŕąŕ¸łŕ¸ŕ¸§ŕąŕ¸˛ŕ¸ˇŕ¸˛ŕ¸•ราŕ¸ŕ¸˛ŕ¸™ " "เรืŕąŕ¸­ŕ¸‡ŕ¸™ŕ¸µŕą‰ŕ¸­ŕ¸˛ŕ¸ŕ¸—ำŕąŕ¸«ŕą‰ŕą€ŕ¸ŕ¸´ŕ¸”ปัญหาร้ายŕąŕ¸Łŕ¸‡ŕ¸ˇŕ¸˛ŕ¸ŕ¸ŕ¸±ŕ¸šŕą€ŕ¸„รืŕąŕ¸­ŕ¸‡ŕ¸„อมพิวเตอร์ของคุณ " "โปรดติดตั้งคนหรือองค์ŕ¸ŕ¸Łŕ¸“์ทีŕąŕ¸—ำŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸łŕ¸«ŕ¸™ŕąŕ¸˛ŕ¸˘ŕąŕ¸źŕą‰ŕ¸ˇŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸™ŕ¸µŕą‰ŕ¸Łŕ¸§ŕ¸ˇŕ¸–ึงรายละเอียดอืŕąŕ¸™ ๆ " "ด้วย" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸”าวน์โหลดŕąŕ¸źŕą‰ŕ¸ˇŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸”าวน์โหลดŕąŕ¸źŕą‰ŕ¸ˇŕ¸‚้อมูลคลังล้มเหลว" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "ไมŕąŕ¸Şŕ¸˛ŕ¸ˇŕ¸˛ŕ¸Łŕ¸–ŕąŕ¸ŕą‰ŕ¸›ŕ¸±ŕ¸Ťŕ¸«ŕ¸˛ŕ¸ŕ¸˛ŕ¸Łŕ¸‚ึ้นตŕąŕ¸­ŕ¸ŕ¸±ŕ¸™ŕ¸‚องŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą„ด้" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸‚องระบบพัง" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "ŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸˘ŕ¸±ŕ¸‡ŕą„มŕąŕ¸–ูŕ¸ŕ¸•ิดตั้ง" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "ŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸˘ŕ¸±ŕ¸‡ŕą„มŕąŕ¸–ูŕ¸ŕ¸–อดถอน" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸Ąŕą‡ŕ¸­ŕ¸„โปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸ŕ¸±ŕ¸”ŕ¸ŕ¸˛ŕ¸Łŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕą‚หลดรายชืŕąŕ¸­ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "ไมŕąŕ¸žŕ¸šŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸–ูŕ¸ŕ¸•ิดตั้งŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸˘ŕ¸±ŕ¸‡ŕą„มŕąŕ¸–ูŕ¸ŕ¸•ิดตั้ง" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸–อดถอนŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸Şŕ¸łŕ¸„ัญของระบบล้มเหลว" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "ไมŕąŕ¸Şŕ¸˛ŕ¸ˇŕ¸˛ŕ¸Łŕ¸–ตามดูหรือควบคุมงานได้" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸”ำเนินŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸ŕ¸µŕąŕ¸˘ŕ¸§ŕ¸ŕ¸±ŕ¸šŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "ต้องŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸˘ŕ¸±ŕ¸‡ŕą„มŕąŕą„ด้รับความเชืŕąŕ¸­ŕ¸–ือ" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งครั้งŕ¸ŕąŕ¸­ŕ¸™ŕ¸˘ŕ¸±ŕ¸‡ŕą„มŕąŕ¸Şŕ¸ˇŕ¸šŕ¸ąŕ¸Łŕ¸“์" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "คุณภาพŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕąŕ¸˘ŕąŕ¸ˇŕ¸˛ŕ¸" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "ŕąŕ¸źŕą‰ŕ¸ˇŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą€ŕ¸›ŕ¸´ŕ¸”ไมŕąŕą„ด้" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "มีปัญหาทีŕąŕ¸ŕ¸±ŕ¸”ŕ¸ŕ¸˛ŕ¸Łŕą„มŕąŕą„ด้เŕ¸ŕ¸´ŕ¸”ขึ้น" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸Łŕ¸­ŕą€ŕ¸‹ŕ¸­ŕ¸ŁŕąŚŕ¸§ŕ¸´ŕ¸Şŕą€ŕ¸Łŕ¸´ŕąŕ¸ˇŕ¸—ำงาน" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸Łŕ¸­" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸Łŕ¸­ŕ¸„วามต้องŕ¸ŕ¸˛ŕ¸Łŕ¸Łŕ¸°ŕ¸”ับŕ¸ŕ¸Ąŕ¸˛ŕ¸‡" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸Łŕ¸­ŕąŕ¸«ŕą‰ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇŕ¸ŕ¸±ŕ¸”ŕ¸ŕ¸˛ŕ¸Łŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸­ŕ¸·ŕąŕ¸™ ๆ ปิด" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸Łŕ¸­ŕ¸ŕ¸˛ŕ¸Łŕ¸•ั้งคŕąŕ¸˛ŕąŕ¸źŕą‰ŕ¸ˇŕ¸žŕ¸Łŕ¸­ŕ¸ˇŕ¸•์" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "งานทีŕąŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸—ำงาน" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸”าวน์โหลด" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕą€ŕ¸ŕą‡ŕ¸šŕ¸ŕ¸§ŕ¸˛ŕ¸”" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "เสร็ŕ¸ŕ¸Şŕ¸´ŕą‰ŕ¸™" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸˘ŕ¸ŕą€ŕ¸Ąŕ¸´ŕ¸" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕą‚หลดรายชืŕąŕ¸­ŕ¸‹ŕ¸­ŕ¸źŕ¸•์ŕąŕ¸§ŕ¸ŁŕąŚ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸•ิดตั้ง %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸•ั้งคŕąŕ¸˛ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸–อดถอน %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸—ำงาน %s หลังŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้ง" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "เรียบร้อย" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸˘ŕ¸·ŕ¸™ŕ¸˘ŕ¸±ŕ¸™ŕ¸Ąŕą‰ŕ¸ˇŕą€ŕ¸«ŕ¸Ąŕ¸§" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸”ึงข้อมูล" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "วŕąŕ¸˛ŕ¸‡" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "ไมŕąŕ¸ˇŕ¸µŕą€ŕ¸„รืŕąŕ¸­ŕ¸‚ŕąŕ¸˛ŕ¸˘" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "รายละเอียด" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "ŕąŕ¸źŕą‰ŕ¸ˇ" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "ดาว์โหลดŕąŕ¸Ąŕą‰ŕ¸§ %s ไบต์" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "ดาวน์โหลดŕąŕ¸Ąŕą‰ŕ¸§" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "ต้องมีซีดี/ดีวีดี '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "โปรดŕąŕ¸Şŕąŕąŕ¸śŕąŕ¸™ CD/DVD ข้างต้นไปทีŕąŕą„ดรว์ '%s' เพืŕąŕ¸­ŕ¸•ิดตั้งŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą‚ปรŕąŕ¸ŕ¸Łŕ¸ˇ" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_ตŕąŕ¸­ŕą„ป" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ติดตั้ง" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ติดตั้งŕąŕ¸«ŕ¸ˇŕą" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "เอาออŕ¸" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "ŕ¸ŕ¸łŕ¸ŕ¸±ŕ¸”" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "ปรับรุŕąŕ¸™" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "ลดรุŕąŕ¸™" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ข้ามŕ¸ŕ¸˛ŕ¸Łŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "โปรดดูทีŕąŕ¸Łŕ¸˛ŕ¸˘ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕąŕ¸›ŕ¸Ąŕ¸‡ŕ¸‚้างลŕąŕ¸˛ŕ¸‡" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "โปรŕąŕ¸ŕ¸Łŕ¸ˇŕą€ŕ¸Şŕ¸Łŕ¸´ŕ¸ˇŕ¸–ูŕ¸ŕ¸•ิดตั้งŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "โปรŕąŕ¸ŕ¸Łŕ¸ˇŕą€ŕ¸Şŕ¸Łŕ¸´ŕ¸ˇŕ¸–ูŕ¸ŕ¸•ิดตั้งŕąŕ¸«ŕ¸ˇŕąŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "โปรŕąŕ¸ŕ¸Łŕ¸ˇŕą€ŕ¸Şŕ¸Łŕ¸´ŕ¸ˇŕ¸–ูŕ¸ŕ¸–อดถอนŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "โปรŕąŕ¸ŕ¸Łŕ¸ˇŕą€ŕ¸Şŕ¸Łŕ¸´ŕ¸ˇŕ¸–ูŕ¸ŕ¸—ำŕąŕ¸«ŕą‰ŕ¸«ŕ¸˘ŕ¸¸ŕ¸”ทำงาน" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "โปรŕąŕ¸ŕ¸Łŕ¸ˇŕą€ŕ¸Şŕ¸Łŕ¸´ŕ¸ˇŕ¸–ูŕ¸ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™ŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "โปรŕąŕ¸ŕ¸Łŕ¸ˇŕą€ŕ¸Şŕ¸Łŕ¸´ŕ¸ˇŕ¸–ูŕ¸ŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™ŕ¸Ąŕ¸‡ŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "ŕ¸ŕ¸˛ŕ¸Łŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸›ŕ¸Łŕ¸¸ŕ¸‡ŕ¸ŕ¸°ŕ¸–ูŕ¸ŕ¸‚้ามไป" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "ต้องŕ¸ŕ¸˛ŕ¸Łŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕąŕ¸›ŕ¸Ąŕ¸‡ŕą€ŕ¸žŕ¸´ŕąŕ¸ˇŕą€ŕ¸•ิม" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sไบต์ถูŕ¸ŕ¸”าว์โหลดŕ¸ŕ¸˛ŕ¸ŕ¸—ั้งหมด" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "ŕ¸ŕ¸°ŕ¸—ำŕąŕ¸«ŕą‰ŕ¸ˇŕ¸µ %s ไบต์ของพื้นทีŕąŕ¸§ŕąŕ¸˛ŕ¸‡ŕ¸‚องดิสŕ¸ŕąŚ" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "ŕ¸ŕ¸°ŕąŕ¸Šŕą‰ŕ¸žŕ¸·ŕą‰ŕ¸™ŕ¸—ีŕąŕ¸šŕ¸™ŕ¸”ิสŕ¸ŕąŚŕ¸­ŕ¸µŕ¸ %s ไบต์" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "ŕąŕ¸—นทีŕąŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸›ŕ¸Ąŕ¸µŕąŕ¸˘ŕ¸™ŕąŕ¸›ŕ¸Ąŕ¸‡ŕ¸‚องคุณ '%s' ด้วยŕąŕ¸źŕą‰ŕ¸ˇŕ¸ŕ¸˛ŕ¸Łŕ¸•ั้งคŕąŕ¸˛ŕ¸Ąŕąŕ¸˛ŕ¸Şŕ¸¸ŕ¸”หรือไมŕą" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "ถ้าคุณไมŕąŕ¸Łŕ¸ąŕą‰ŕ¸§ŕąŕ¸˛ŕ¸—ำไมŕąŕ¸źŕą‰ŕ¸ˇŕ¸ˇŕ¸˛ŕ¸­ŕ¸˘ŕ¸ąŕąŕ¸—ีŕąŕ¸™ŕ¸µŕą‰ ŕ¸ˇŕ¸±ŕ¸ŕ¸›ŕ¸Ąŕ¸­ŕ¸”ภัยทีŕąŕ¸ŕ¸°ŕąŕ¸—นทีŕąŕąŕ¸źŕą‰ŕ¸ˇŕ¸™ŕ¸±ŕą‰ŕ¸™" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "เ_ปลีŕąŕ¸˘ŕ¸™ŕąŕ¸›ŕ¸Ąŕ¸‡" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "เ_ŕ¸ŕą‡ŕ¸šŕą„ว้" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "ŕą_ทนทีŕą" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_รายละเอียด" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸Łŕ¸­ %s เพืŕąŕ¸­ŕ¸­ŕ¸­ŕ¸" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸”าว์โหลด %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "ไมŕąŕ¸ˇŕ¸µŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ %s" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ %s ไมŕąŕą„ด้ถูŕ¸ŕ¸•ิดตั้ง" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "รุŕąŕ¸™ %s ของ %s ไมŕąŕą„ด้ถูŕ¸ŕ¸•ิดตั้ง" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ %s ถูŕ¸ŕ¸•ิดตั้งอยูŕąŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "รุŕąŕ¸™ %s ของ %s ยังไมŕąŕą„ด้ถูŕ¸ŕ¸•ิดตั้ง" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "ล้มเหลวทีŕąŕ¸ŕ¸°ŕ¸”าว์โหลดŕąŕ¸Ąŕ¸°ŕ¸•ิดตั้งŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ %s ŕ¸ŕ¸˛ŕ¸ %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "ŕąŕ¸źŕą‰ŕ¸ˇŕ¸„ีย์ %s ติดตั้งไมŕąŕą„ด้: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "ŕ¸ŕ¸¸ŕ¸Ťŕąŕ¸ŕ¸ŕ¸±ŕ¸šŕ¸Ąŕ¸˛ŕ¸˘ŕ¸™ŕ¸´ŕ¸§ŕ¸ˇŕ¸·ŕ¸­ %s ไมŕąŕ¸Şŕ¸˛ŕ¸ˇŕ¸˛ŕ¸Łŕ¸–ถอดถอนได้: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "ถอดถอนŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ %s ไมŕąŕą„ด้" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "รุŕąŕ¸™ %s ของ %s ยังไมŕąŕ¸–ูŕ¸ŕ¸•ิดตั้ง" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "รุŕąŕ¸™ %s of %s ถูŕ¸ŕ¸•ิดตั้งไว้อยูŕąŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "รุŕąŕ¸™ %s ของ %s ถูŕ¸ŕ¸•ิดตั้งŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "รุŕąŕ¸™ %s ของ %s ไมŕąŕ¸ˇŕ¸µ" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "คุณต้องระบุรุŕąŕ¸™ŕ¸‚อง %s ทีŕąŕ¸›ŕ¸Łŕ¸±ŕ¸šŕ¸Łŕ¸¸ŕąŕ¸™ŕ¸Ąŕ¸‡" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "รุŕąŕ¸™ŕ¸Ąŕąŕ¸˛ŕ¸Şŕ¸¸ŕ¸” %s ของ %s ถูŕ¸ŕ¸•ิดตั้งอยูŕąŕąŕ¸Ąŕą‰ŕ¸§" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ %s ยังไมŕąŕ¸ˇŕ¸µŕąŕ¸™ŕ¸Łŕ¸¸ŕąŕ¸™ %s" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "เอาŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ %s ออŕ¸ŕą„มŕąŕą„ด้" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸™ŕ¸µŕą‰ŕ¸ˇŕ¸µŕ¸‚้อมูลขนาดŕ¸ŕ¸˛ŕ¸Łŕ¸•ิดตั้งทีŕąŕą„มŕąŕ¸–ูŕ¸ŕ¸•้อง ดูรายละเอียดŕąŕ¸™ŕ¸™ŕą‚ยบาย Debian " "5.6.20" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸•ŕąŕ¸­ŕą„ปนี้ขาดŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸—ีŕąŕ¸•้องŕąŕ¸Šŕą‰:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "ŕąŕ¸•ŕąŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸™ŕ¸µŕą‰ŕą€ŕ¸›ŕą‡ŕ¸™ŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕą€ŕ¸Şŕ¸ˇŕ¸·ŕ¸­ŕ¸™" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ŕąŕ¸•ŕąŕ¸ˇŕ¸±ŕ¸™ŕ¸˘ŕ¸±ŕ¸‡ŕą„มŕąŕą„ด้ถูŕ¸ŕ¸•ิดตั้ง" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ŕąŕ¸•ŕąŕąŕ¸žŕ¸ŕą€ŕ¸ŕ¸ŕ¸™ŕ¸µŕą‰ŕ¸ŕ¸°ŕą„มŕąŕ¸–ูŕ¸ŕ¸•ิดตั้ง" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ŕąŕ¸•ŕą %s ถูŕ¸ŕ¸•ิดตั้งŕąŕ¸Ąŕą‰ŕ¸§" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ŕąŕ¸•ŕą %s ŕ¸ŕ¸łŕ¸Ąŕ¸±ŕ¸‡ŕ¸ŕ¸°ŕ¸–ูŕ¸ŕ¸•ิดตั้ง" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "ŕ¸ŕ¸˛ŕ¸Łŕą€ŕ¸žŕ¸´ŕąŕ¸ˇŕ¸„ีย์ไปทีŕąŕ¸Łŕ¸˛ŕ¸˘ŕ¸ŕ¸˛ŕ¸Łŕ¸śŕ¸ąŕą‰ŕ¸ŕ¸łŕ¸«ŕ¸™ŕąŕ¸˛ŕ¸˘ŕ¸‹ŕ¸­ŕ¸źŕ¸•์ŕąŕ¸§ŕ¸ŁŕąŚŕ¸—ีŕąŕą€ŕ¸Šŕ¸·ŕąŕ¸­ŕ¸–ือได้ล้มเหลว" aptdaemon-1.1.1/po/br.po0000644000175000017500000011266012117271433015630 0ustar renaterenate00000000000000# Breton translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-01-16 11:43+0000\n" "Last-Translator: Michael Vogt \n" "Language-Team: Breton \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Staliañ restr ar pakad" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Hizivaat stlennoĂą ar pakadoĂą" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Hizivaat ar pakadoĂą" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Dilezel trevell un arveriad all" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Pellgarget ez eus bet %sB eus %sB da %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Pellgarget ez eus bet %sB eus %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "O tiskoulmañ an amzalc'hoĂą" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Arabat lazhañ an daemon en abeg d'an diweredegezh" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Diskouez an titouroĂą a-zivout ar c'heweriañ diabarzh" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Kuitaat hag amsaviñ un daemon o labourat endeo" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Kadaviñ stadegoĂą an aelad er restr erspizet" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Arabat seveniñ kemmoĂą er reizhiad (evit an diorreourien nemetken)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Restr staliet" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "PakadoĂą bet staliet" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Alc'hwez ouzhpennet diouzh ur restr" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Krubuilh hizivaet" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Alc'hwez hoc'h eus fiziañs enni dilamet" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "PakadoĂą dilamet" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "PakadoĂą hizivaet" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Reizhiad hizivaet" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "KemmoĂą sevenet" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Staliadu diglok ratreet" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Amzalc'hioĂą torr bet ratreet" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Gant berzh" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Dilezet" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "C'hwitet" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Staliadur ar restr" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Staliadur ar pakadoĂą" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Ouzhpennadur un alc'hwez diouzh ur restr" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Hizivadur ar grubuilh" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Dilamadur un alc'hwez hoc'h eus fiziañs enni" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Dilamadur ar pakadoĂą" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Hizivadur ar pakadoĂą" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Hizivadur ar reizhiad" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "O seveniñ ar c'hemmoĂą" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Ratreadur ur staliadur diglok" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "C'hwitadenn war staliañ restr ar pakad" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "C'hwitadenn war staliañ ar meziant" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "C'hwitadenn war azbevaat roll ar meziantoĂą" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "C'hwitadenn war dilemel ar gwerzher diwar roll ar re hoc'h eus fiziañs enno" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "C'hwitadenn war dilemel ar meziant" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "C'hwitadenn war hizivaat ar meziant" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "C'hwitadenn war hizivaat ar reizhiad" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "C'hwitadenn war seveniñ kemmoĂą ar meziant" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "C'hwitadenn war ratreañ ar staliadur diglok" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "C'hwitadenn war ratreañ an amzalc'hioĂą torr" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Gwiriañ ho kennask ouzh internet" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Gwiriañ hag emaoc'h oc'h ober gant mirlec'hioĂą un trede den. Mard eo evel-" "se, diweredekait i, rak drezo e teu kudennoĂą alies.\n" "Ha c'hoazh, lañsit an arc'had da heul en un dermenell : apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Ar restr dibabet n'eo ket ur restr alc'hwez GPG moarvat, pe neuze eo " "kontronet." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Ur gudenn sirius eo homañ. Klaskit diwezhatoc'h. Mar tegouezho ar gudenn en-" "dro, gwell e vo sevel un danevell a-fet fazi evit an diorreourien." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "N'eus ket ezhomm eus un hizivadur." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "N'eus ket ezhomm eus ur staliadur." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "N'eus ket ezhomm dilemel." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Azgoulennet hoc'h eus da zilemel ur pakad a zo ul lod pouezus eus ho " "reizhiad." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Kollet eo bet ar c'hennask ouzh an daemon. Morvat eo sac'het drekva an " "daemon." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "C'hwitadenn war staliañ pe zistaliañ pakad ur meziant." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Marteze ez eo c'hwitet ar staliañ en abeg d'ur fazi e pakad ar meziant o " "klotañ gantañ pe rak dilezet eo bet gant un doare direizh. Ret eo vo deoc'h " "ratreañ an dra-se kent ma o trodeoc'h staliañ pe zilemel ur meziant bennak." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "C'hwitadenn war pellgargañ restroĂą ar pakad" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "C'hwitadenn war pellgargañ stlennoĂą ar mirlec'hioĂą" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Amzalc'hoĂą ar pakadoĂą n'hallont ket bezañ diskoulmet." #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Torret eo reizhiad ar pakadoĂą" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Ne oa ket staliet an alc'hwez" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Ne oa ket dilamet an alc'hwez" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "C'hwitadenn war prennañ merer ar pakadoĂą" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "C'hwitadenn war kargañ roll ar pakadoĂą" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Ar pakad n'eus ket anezhañ" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Staliet eo ar pakad endeo" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "N'eo ket staliet ar pakad" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "C'hwitadenn war dilemel pakadoĂą pennañ ar reizhiad" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "N'haller ket evezhiañ pe wiriañ an drevell" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "C'hwitadenn war gwezhiadur evit ar pakad" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Azgoulenn a ra ma vo staliet pakadoĂą disfiziañs enno" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Ar staliadur kent n'eo ket bet echuet" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "O c'hortoz ma loc'ho ar gwezerezh" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "O c'hortoz" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "O c'hortoz ar media goulennet" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "O c'hortoz ma kuitao an ardoerioĂą meziantoĂą all" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "O c'hortoz kemenn ar restr kefluniañ" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Trevell o vont war-raok" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "O pellgargañ" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Naetadur" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Echu" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "O tilezel" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Kargadur roll ar meziantoĂą" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "O staliañ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "O kefluniañ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "O tilemel %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Goudestaliadur trigger %s o vont war-raok" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Oc'h hizivaat %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "MunudoĂą" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Azgoulennet eo CD/DVD '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "K_enderc'hel" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Amsaviñ ho kemmoĂą e '%s' gant un handelv nevesoc'h eus ar restr kefluniañ ?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Ma n'ouzit ket perak emañ ar restr amañ endeo ez eo gwell amsaviñ ar restr-" "mañ." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "K_emmoĂą" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Mirout" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "Am_saviñ" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "Munu_doĂą" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "C'hwitadenn war ouzhpennañ an alc'hwez war roll gwezherion veziantoĂą hoc'h " #~ "eus fiziañs enno" aptdaemon-1.1.1/po/de.po0000644000175000017500000014227712117271433015624 0ustar renaterenate00000000000000# German translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-12-30 21:13+0000\n" "Last-Translator: Hendrik Knackstedt \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "SchlĂĽssel vertrauenswĂĽrdiger Anbieter anzeigen" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um die SchlĂĽssel der vertrauenswĂĽrdigen " "Anbieter anzuzeigen." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Heruntergeladene Paketdateien entfernen" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um heruntergeladene Paketdateien zu " "entfernen." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Software-Konfiguration ändern" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um Software-Einstellungen zu ändern." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Software-Paketquelle ändern" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um Einstellungen der Software-Paketquellen " "zu ändern." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Paketdatei installieren" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Sie mĂĽssen Ihr Passwort eingeben, um dieses Paket zu installieren." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Paketinformationen aktualisieren" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um die Paketinformationen zu aktualisieren." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Pakete installieren oder entfernen" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um Software zu installieren oder zu " "entfernen." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Anwendungen aus einer sehr vertrauenswĂĽrdigen Quelle installieren." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Um Anwendungen zu installieren, mĂĽssen Sie sich legitimieren." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" "Eine neue Software-Paketquelle hinzufĂĽgen und Pakete daraus installieren" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um Software aus einer neuen Software-" "Paketquelle zu installieren." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Eine neue Paketquelle fĂĽr erworbene Software hinzufĂĽgen und Pakete daraus " "installieren" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um erworbene Software zu installieren." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Pakete aktualisieren" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um Aktualisierungen zu installieren." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Prozess eines anderen Benutzers abbrechen" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um Ă„nderungen anderer Benutzer an Software " "zu widerrufen." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Einen Proxy-Server fĂĽr Software-Downloads benutzen" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Sie mĂĽssen Ihr Passwort eingeben, um einen Proxy-Server zum Herunterladen " "von Software einzurichten." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "FEHLER" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB von %sB heruntergeladen mit %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%sB von %sB heruntergeladen" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "FEHLER:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Sie dĂĽrfen diese Aktion nicht ausfĂĽhren." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Wird in Warteschlange gestellt" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Abhängigkeiten werden aufgelöst" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Das folgende NEUE Paket wird installiert (%(count)s):" msgstr[1] "Die folgenden NEUEN Pakete werden installiert (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Das folgende Paket wird aktualisiert (%(count)s):" msgstr[1] "Die folgenden Pakete werden aktualisiert (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Das folgende Paket wird ENTFERNT (%(count)s):" msgstr[1] "Die folgenden Pakete werden ENTFERNT (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" "Das folgende Paket wird DURCH EINE Ă„LTERE VERSION ERSETZT (%(count)s):" msgstr[1] "" "Die folgenden Pakete werden DURCH EINE Ă„LTERE VERSION ERSETZT (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Das folgende Paket wird neu installiert (%(count)s):" msgstr[1] "Die folgenden Pakete werden neu installiert (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Das folgende Paket wurde zurĂĽckgehalten (%(count)s):" msgstr[1] "Die folgenden Pakete wurden zurĂĽckgehalten (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Es mĂĽssen %sB an Paketen heruntergeladen werden." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "Nach Abschluss dieses Vorgangs werden %sB Festplattenspeicher zusätzlich " "belegt sein." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" "Nach Abschluss dieses Vorgangs werden %sB Festplattenspeicher zusätzlich " "frei sein." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Möchten Sie fortfahren [J/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Verwenden Sie AnfĂĽhrungszeichen, um den Befehl auf mehrere Pakete " "anzuwenden:\n" "aptdcon --install \"Paket1 Paket2\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Die Paketinformationen neu laden" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Nicht erfĂĽllte Abhängigkeiten nach Möglichkeit reparieren. Dies ist " "potentiell gefährlich, weil »aptdcon« evtl. versuchen wird, viele Pakete zu " "entfernen." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Abgebrochene Installation nach Möglichkeit fortsetzen" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Die angegebenen Pakete installieren" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Die angegebenen Pakete erneut installieren" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Die angegebenen Pakete entfernen" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "Die angegebenen Pakete mit den dazugehörigen Konfigurationsdateien entfernen" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Eine ältere Version der angegebenen Pakete installieren" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Veraltet – bitte verwenden Sie: --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Das System auf eine sichere Weise aktualisieren" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Das System aktualisieren – dabei werden eventuell Pakete automatisch " "installiert und entfernt" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Den Software-Anbieter als vertrauenswĂĽrdig einstufen" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "Den SchlĂĽssel des Software-Anbieters hinzufĂĽgen (erfordert auch die Angabe " "von --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" "Den angegebenen SchlĂĽssel-Server bei der Suche nach SchlĂĽsseln verwenden" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" "Die Software-Paketquelle aus der angegebenen APT-Zeile (deb-line) hinzufĂĽgen" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Eine alternative sources.list.d-Datei festlegen, zu welcher Software-" "Paketquellen hinzugefĂĽgt werden sollen." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "SchlĂĽssel vertrauenswĂĽrdiger Software-Anbieter zeigen" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" "Den vertrauenswĂĽrdigen SchlĂĽssel mit dem angegebenen Fingerabdruck entfernen" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Installierte Pakete neu konfigurieren; die minimale Priorität der Fragen " "kann optional angegeben werden" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" "Die minimale debconf-Priorität der Fragen, welche angezeigt werden sollen" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Keine Ausgabe an das APT-Terminal senden" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Pakete aus nicht vertrauenswĂĽrdigen Quellen erlauben" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Zusätzliche Informationen zu Paketen anzeigen; aktuell ist das nur die " "Versionsnummer" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Es wird auf die Legitimation gewartet" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Den Dienst nicht aufgrund von Inaktivität beenden" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Keine Erweiterungen laden" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Interne Verarbeitungsinformationen anzeigen" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Einen bereits laufenden Dienst beenden und ersetzen" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Verbindung vom Sitzungs-D-Bus annehmen (Nur zum Testen nĂĽtzlich)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Vorgänge in der angegebenen chroot-Umgebung ausfĂĽhren" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Profilstatistiken in der angegebenen Datei speichern" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Keine Ă„nderungen am System vornehmen (Nur fĂĽr Entwickler nĂĽtzlich)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Datei installiert" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Pakete installiert" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "SchlĂĽssel aus Datei hinzugefĂĽgt" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Zwischenspeicher aktualisiert" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Suche abgeschlossen" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "VertrauenswĂĽrdigen SchlĂĽssel entfernt" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Pakete entfernt" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Pakete aktualisiert" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "System aktualisiert" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Ă„nderungen angewendet" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Unvollständige Installation repariert" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Nicht erfĂĽllte Abhängigkeiten wurden repariert" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Software-Paketquelle hinzugefĂĽgt" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Distributionskomponente wurde aktiviert" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Heruntergeladene Paketdateien entfernt" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Installierte Pakete neu konfiguriert" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Erfolgreich" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Abgebrochen" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Gescheitert" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Datei wird installiert" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Pakete werden installiert" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "SchlĂĽssel aus Datei wird hinzugefĂĽgt" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Zwischenspeicher wird aktualisiert" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "VertrauenswĂĽrdiger SchlĂĽssel wird entfernt" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Pakete werden entfernt" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Pakete werden aktualisiert" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "System wird aktualisiert" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Ă„nderungen werden angewendet" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Unvollständige Installation wird repariert" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Installierte Anwendungen werden repariert" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Software-Paketquelle wird hinzugefĂĽgt" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Distributionskomponente wird aktiviert" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Heruntergeladene Paketdateien werden entfernt" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Installierte Pakete werden neu konfiguriert" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Suche läuft" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Die Installation der Paketdatei ist gescheitert" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Die Installation der Software ist gescheitert" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Das HinzufĂĽgen des SchlĂĽssels zur Liste vertrauenswĂĽrdiger Software-Anbieter " "ist gescheitert" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Das Aktualisieren der Software-Liste ist gescheitert" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Das Entfernen des Software-Anbieters aus der Liste der vertrauenswĂĽrdigen " "ist gescheitert" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Das Entfernen der Software ist gescheitert" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Das Aktualisieren der Software ist gescheitert" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Das Aktualisieren des Systems ist gescheitert" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Das Anwenden der Software-Ă„nderungen ist gescheitert" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Das Reparieren der unvollständigen Installation ist gescheitert" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Das Reparieren nicht erfĂĽllter Abhängigkeiten ist gescheitert" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Das HinzufĂĽgen der Software-Paketquelle ist gescheitert" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Das Aktivieren der Distributionskomponente ist gescheitert" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Das Entfernen von heruntergeladenen Paketdateien ist gescheitert" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Suche fehlgeschlagen" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "LizenzschlĂĽssel wird hinzugefĂĽgt" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "ĂśberprĂĽfen Sie Ihre Internetverbindung." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "ĂśberprĂĽfen Sie, ob Sie Software-Paketquellen von Drittanbietern nutzen. Wenn " "dies der Fall ist, so deaktivieren Sie diese, da sie häufig eine " "Fehlerquelle sind.\n" "FĂĽhren Sie auĂźerdem in einem Terminal den folgenden Befehl aus: apt-get " "install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Die ausgewählte Datei ist möglicherweise keine GPG-SchlĂĽsseldatei oder sie " "ist beschädigt." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Der angegebene SchlĂĽssel konnte nicht entfernt werden. ĂśberprĂĽfen Sie, ob " "Sie den richtigen Fingerabdruck angegeben haben." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Bitte ĂĽberprĂĽfen Sie, ob gerade die Aktualisierungsverwaltung oder eine " "andere Software-Paketverwaltung läuft, z.B. Synaptic oder aptitude. Es kann " "immer nur eine Anwendung gleichzeitig Ă„nderungen vornehmen." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Dies ist ein schwerwiegendes Problem. Versuchen Sie es später noch einmal. " "Falls das Problem erneut auftritt, melden Sie einen Fehler an die Entwickler." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Bitte ĂĽberprĂĽfen Sie die exakte Schreibweise des Paketnamens und stellen Sie " "sicher, dass die zugehörige Software-Paketquelle aktiviert ist." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Eine Aktualisierung ist unnötig." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Eine Installation ist unnötig." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Eine Deinstallation ist unnötig." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Sie versuchen ein Paket zu entfernen, das einen essenziellen Teil Ihres " "Systems darstellt." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Die Verbindung zum Hintergrunddienst wurde unterbrochen. " "Höchstwahrscheinlich ist der Dienst abgestĂĽrzt." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" "Das Installieren oder Entfernen eines Software-Pakets ist gescheitert." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Die angefordertete Funktion wird nicht unterstĂĽtzt." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Anscheinend gibt es einen Programmfehler in aptdaemon, der Anwendung, die " "Ihnen das Installieren/Entfernen von Anwendungen und das AusfĂĽhren weiterer " "Paketverwaltungsaufgaben ermöglicht." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Dieser Fehler könnte durch weitere erforderliche Software-Pakete, die jedoch " "fehlen oder nicht installiert werden können, verursacht worden sein. " "AuĂźerdem könnte es einen Konflikt zwischen Paketen geben, die nicht zur " "selben Zeit installiert sein dĂĽrfen." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Dieser Vorgang erfordert die Installation von Paketen aus nicht signierten " "Quellen." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Die Installation könnte aufgrund eines Fehlers im betreffenden Software-" "Paket gescheitert sein oder weil sie nicht ordnungsgemäß abgebrochen wurde. " "Dieser Zustand muss behoben werden, bevor weitere Software installiert oder " "entfernt werden kann." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Bitte Datei auf den lokalen Rechner kopieren und Zugriffsrechte ĂĽberprĂĽfen." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Die Installation eines Pakets, das gegen die Qualitätsstandards verstößt, " "ist nicht erlaubt. Dies könnte zu ernsthaften Problemen im System fĂĽhren. " "Bitte kontaktieren Sie den Herausgeber der Paketdatei und melden Sie diesem " "die folgenden Angaben." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Der heruntergeladene LizenzschlĂĽssel, der zum AusfĂĽhren dieser Anwendung " "benötigt wird, ist ungĂĽltig oder konnte nicht installiert werden.\n" "FĂĽr weitere Informationen werfen Sie einen Blick in die Details." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Alle verfĂĽgbaren Aktualisierungen wurden bereits installiert." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Der LizenzschlĂĽssel, der Ihnen die Verwendung dieser Anwendung ermöglicht, " "konnte nicht heruntergeladen werden. Bitte ĂĽberprĂĽfen Sie Ihre " "Internetverbindung." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Sie besitzen fĂĽr diese Aktion keine ausreichenden Berechtigungen." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Sie haben entweder ein falsches Passwort eingegeben oder die Legitimation " "abgebrochen.\n" "DarĂĽber hinaus kann es auch eine technische Ursache fĂĽr diesen Fehler geben, " "falls kein Passwort-Dialog angezeigt wurde: Ihre Arbeitsumgebung stellt " "keinen PolicyKit-Sitzungsagent bereit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Das Herunterladen der Paketdateien ist gescheitert" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" "Das Herunterladen von Informationen zu Software-Paketquellen ist gescheitert" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Die Paketabhängigkeiten können nicht aufgelöst werden" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Das Paketsystem ist beschädigt" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Der SchlĂĽssel wurde nicht installiert" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Der SchlĂĽssel wurde nicht entfernt" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Das Sperren der Paketverwaltung ist gescheitert" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Das Laden der Paketliste ist gescheitert" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paket existiert nicht" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Paket ist bereits auf dem neuesten Stand" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Paket ist bereits installiert" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Paket ist nicht installiert" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Das Entfernen eines grundlegenden Systempakets ist gescheitert" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Der Vorgang kann nicht ĂĽberwacht oder gesteuert werden" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Die Paketoperation ist gescheitert" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" "Installation von Paketen erforderlich, denen nicht vertraut werden kann" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Der letzte Installationsvorgang wurde nicht erfolgreich beendet" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Dieses Paket ist von schlechter Qualität" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Paketdatei konnte nicht geöffnet werden" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Nicht unterstĂĽtzte Funktion" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Herunterladen des LizenzschlĂĽssels fehlgeschlagen" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Installation des LizenzschlĂĽssels fehlgeschlagen" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "System ist bereits auf dem neuesten Stand" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Sie konnten nicht legitimiert werden" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Es ist Ihnen nicht gestattet diese Aktion durchzufĂĽhren" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Ein unvorhergesehener Fehler ist aufgetreten" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Auf den Start des Dienstes wird gewartet" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Warten" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Auf das benötigte Medium wird gewartet" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Auf das Beenden anderer Software-Paketverwaltungen wird gewartet" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Auf den Auswahldialog fĂĽr die Konfigurationsdatei wird gewartet" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Vorgang läuft" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Herunterladen" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Software-Paketquellen werden abgerufen" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Aufräumen" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Beendet" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Es wird abgebrochen" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Software-Liste wird geladen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s wird installiert" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s wird konfiguriert" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s wird entfernt" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s wird vollständig entfernt" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Verschwinden von %s festgestellt" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Nach-Installations-Trigger %s wird aufgerufen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s wird aktualisiert" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s wird entpackt" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Installation von %s wird vorbereitet" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Konfiguration von %s wird vorbereitet" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Entfernen von %s wird vorbereitet" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Vollständiges Entfernen von %s wird vorbereitet" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s wurde installiert" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s wurde vollständig entfernt" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s wurde entfernt" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "%s wird verarbeitet" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Fertig" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Legitimierung gescheitert" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Es wird heruntergeladen" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Untätig" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Netzwerkverbindung nicht verfĂĽgbar" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Details" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Datei" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sB heruntergeladen" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Heruntergeladen" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD »%s« wird benötigt" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Bitte legen Sie die oben angegebene CD-ROM/DVD in das Laufwerk »%s« ein, um " "davon Software-Pakete zu installieren." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_Fortfahren" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Installieren" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Erneut installieren" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Entfernen" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Vollständig entfernen" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Aktualisieren" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Durch ältere Version ersetzen" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Aktualisierung ĂĽberspringen" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Bitte beachten Sie unten stehende(s) Ă„nderungsprotokoll(e)." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Zusätzliche Software muss installiert werden" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Zusätzliche Software muss erneut installiert werden" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Zusätzliche Software muss entfernt werden" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Zusätzliche Software muss vollständig entfernt werden" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Zusätzliche Software muss aktualisiert werden" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Zusätzliche Software muss durch eine ältere Version ersetzt werden" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Aktualisierungen werden ĂĽbersprungen" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Zusätzliche Ă„nderungen sind erforderlich" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB wird insgesamt heruntergeladen werden." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB Speicherplatz wird frei werden." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB mehr Speicherplatz wird belegt werden." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Ihre Ă„nderungen in »%s« mit einer neueren Version der Konfigurationsdatei " "ersetzen?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Falls Sie nicht wissen, warum die Datei bereits vorhanden ist, kann die " "Datei normalerweise problemlos ersetzt werden." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "Ă„_nderungen" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Beibehalten" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Ersetzen" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Details" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Warten auf Beenden von %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "%(files)s wird heruntergeladen" msgstr[1] "%(files)s werden heruntergeladen" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "Lokale Paketquelle" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Herunterladen von %s" msgstr[1] "Herunterladen von %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Struktur von %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Beschreibung von %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Beschreibungssignatur von %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "VerfĂĽgbare Pakete von %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "VerfĂĽgbare Quelltexte von %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "VerfĂĽgbare Ăśbersetzungen von %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Ăśbersetzungen fĂĽr %s (%s) von %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Ăśbersetzungen fĂĽr %s von %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Ăśbersetzungen (%s) von %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Paket %s ist nicht verfĂĽgbar" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Paket %s ist nicht installiert" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Die Version %s von %s ist nicht installiert" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Paket %s ist bereits installiert" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Die Version %s von %s ist nicht verfĂĽgbar." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Die SchĂĽsselserver-Adresse ist ungĂĽltig: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "UngĂĽltiges Protokol des Servers: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "UngĂĽltige SchlĂĽsselkennung: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Das Herunterladen und Installieren des SchlĂĽssels %s von %s ist " "gescheitert:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "SchlĂĽsseldatei %s konnte nicht installiert werden: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "SchlĂĽssel mit Fingerabdruck %s konnte nicht entfernt werden: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Paket %s kann nicht entfernt werden" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Die Version %s von %s ist nicht installiert" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Die frĂĽhere Version %s von %s ist bereits installiert" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Die Version %s von %s ist bereits installiert" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Die Version %s von %s ist nicht verfĂĽgbar" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" "Sie mĂĽssen eine Version auswählen, auf die %s zurĂĽckgesetzt werden soll" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Die neuere Version %s von %s ist bereits installiert" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Das Paket %s ist in der Ubuntu-Version %s nicht verfĂĽgbar." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Paket %s kann nicht entfernt werden" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Das Paket enthält kein gĂĽltiges Kontrollfeld fĂĽr die Installationsgröße. " "Siehe Debian-Richtlinie (Debian Policy) 5.6.20" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Der LizenzschlĂĽssel ist leer" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Der LizenzschlĂĽssel darf keinen ausfĂĽhrbaren Quelltext enthalten." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Der Pfad %s zum LizenzschlĂĽssel ist ungĂĽltig" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Der LizenzschlĂĽssel existiert bereits: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Der Speicherort des LizenzschlĂĽssels ist unsicher, da er symbolische " "VerknĂĽpfungen enthält. Der Pfad %s verweist auf %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" "Das Verzeichnis, in welches der SchlĂĽssel installiert werden soll, existiert " "noch nicht: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Schreiben des LizenzschlĂĽssel nach %s fehlgeschlagen" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Die folgenden Pakete haben nicht erfĂĽllte Abhängigkeiten:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "es ist jedoch ein virtuelles Paket" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "aber es ist nicht installiert" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "aber es soll nicht installiert werden" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "aber %s ist bereits installiert" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "aber %s soll installiert werden" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Das HinzufĂĽgen des SchlĂĽssels zur Liste der vertrauenswĂĽrdigen Software-" #~ "Anbieter ist gescheitert" aptdaemon-1.1.1/po/ast.po0000644000175000017500000013436112117271433016016 0ustar renaterenate00000000000000# Asturian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-02-02 12:54+0000\n" "Last-Translator: ivarela \n" "Language-Team: Asturian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Llistar les claves de vendedores de confianza" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Pa ver la llista de claves de confianza, tienes d'autentificate." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Desaniciar los ficheros de paquete descargaos" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Pa llimpiar los ficheros de paquetes descargaos, necesites autenticate." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Camudar la configuraciĂłn del software" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Pa camudar la configuraciĂłn del software, necesites autenticate." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Camudar repositoriu de software" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Pa camudar les preferencies de los repositorios de software, tienes " "d'autentificate." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instalar ficheru de paquete" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Pa instalar esti paquete, necesites autenticate" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Anovar informaciĂłn de paquetes" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Pa instalar el catálogu de software, necesites autenticate" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instalar o desaniciar paquetes" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Pa instalar o desaniciar software, necesites autenticate" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Instalar software dende un repositoriu de llista blanca altamente confiable." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Pa instalar software, necesites autenticate." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Amestar un repositoriu nuevu ya instalar paquetes d'Ă©l" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Pa instalar software d'un orixen nuevu, necesites identificate." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Amestar un repositoriu nuevu de software mercáu ya instalar paquetes d'Ă©l" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Pa instalar software mercáu, necesites identificate." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Anovar paquetes" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Pa instalar software anováu, necesites autenticate" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Encaboxar la xera d'otru usuariu" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "Pa encaboxar los cambeos de software, necesites autenticate." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Afitar un proxy pa descargues de software" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "Pa usar un sirvidor proxy y baxar software, necesites autenticate" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "FALLU" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Descargando %sB de %sB a %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Descargando %sB de %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "FALLU:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Nun tienes permisos pa facer esta aiciĂłn." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Encolar" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Iguando dependencies" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Va instalase'l siguiente paquete NUEVU (%(count)s):" msgstr[1] "Van instalase los siguientes paquetes NUEVOS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Va anovase'l siguiente paquete (%(count)s):" msgstr[1] "Van anovase los siguientes paquetes (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "El siguiente paquete va DESANICIASE (%(count)s):" msgstr[1] "Los siguientes paquetes van DESANICIASE (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "El siguiente paquete va DESANOVASE (%(count)s):" msgstr[1] "Los siguientes paquetes van DESANOVASE (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Va reinstalase'l siguiente paquete (%(count)s):" msgstr[1] "Van reinstalase los siguientes paquetes (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "RetĂşvose'l siguiente paquete (%(count)s):" msgstr[1] "RetuviĂ©ronse los siguientes paquetes (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "NecesĂ­tase descargar %sB d'archivos." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "DempuĂ©s d'esta operaciĂłn, van usase %sB d'espaciu adicional nel discu." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "DempuĂ©s d'esta operaciĂłn, van lliberase %sB d'espaciu nel discu." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "ÂżQuies siguir [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Pa operar con más d'un paquete tienes d'allugar los nomes de los paquetes " "ente comines:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Refrescar la cachĂ©" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Intentar iguar dependencies frañaes. OperaciĂłn potencialmente peligrosa, " "porque podrĂ­a intentar desaniciar munchos paquetes." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Intentar finar una instalaciĂłn previa incompleta" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instalar los paquetes proporcionaos" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstalar los paquetes proporcionaos" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Desaniciar los paquetes proporcionaos" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "Desaniciar los paquetes proporcionaos incluyendo los ficheros de " "configuraciĂłn" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Desanovar los paquetes daos" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Obsoletu: Por favor usa --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Anovar el sistema en mou seguru" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Anovar el sistema, dablemente instalando y desaniciando paquetes" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Amestar al fabricante como confiable" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Amestar el keyid del fornidor (tamiĂ©n necesita --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Usa'l sirvidor de claves dau pa guetar les claves" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Amestar repositoriu nuevu dende'l deb-line proporcionáu" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Especifica un ficheru sources.list.d alternativu al que tendrĂ­en d'amestase " "los repositorios." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Llista de claves de fornidores de confianza" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Desaniciar la clave autenticada de la buelga proporcionada" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigurar paquetes instalaos. Opcionalmente pue especificase la prioridá " "mĂ­nima de les entrugues" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "La prioridá mĂ­nima d'entruga de debconf que va amosase" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Nun axuntar a la terminal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Permitir paquetes dende fontes ensin autentificar" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Amosar informaciĂłn adicional tocante a los paquetes. Anguaño, namái el " "nĂşmberu de versiĂłn" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Esperando por autentificaciĂłn" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Nun parar el degorriu en casu d'inactividá" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Nun cargar complementos" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Amosar informaciĂłn del procesamientu internu" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Salir y camudar un degorriu que yá tea executándose" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Escuchar nel bus de sesiĂłn de DBus (necesariu namái pa pruebes" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Fai operaciones nel chroot dau" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Guardar estadĂ­stiques de perfil nel ficheru especificáu" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Nun facer cambeos al sistema (Namái pa usu de desendolcadores)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Ficheru instaláu" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paquetes instalaos" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Clave amestada dende ficheru" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "CachĂ© anovada" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Gueta fecha" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Clave de confianza desaniciada" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Paquetes desaniciaos" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Paquetes anovaos" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistema anováu" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Cambeos aplicaos" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "InstalaciĂłn incompleta iguada" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Dependencies frañaes iguaes" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Orixen de software amestáu" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Componente de la distribuciĂłn activáu" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Desaniciáronse los paquetes descargaos" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Reconfiguráronse los paquetes instalaos" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Completáu" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Encaboxáu" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "FallĂł" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Instalando ficheru" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Instalando paquetes" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Amestando clave dende ficheru" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Anovando cachĂ©" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Desaniciando clave de confianza" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Desaniciando paquetes" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Anovando paquetes" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Anovando sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Aplicando cambeos" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Iguando instalaciĂłn incompleta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Iguando software instaláu" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Amestando orixen de software" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Activando componente de la distribuciĂłn" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Desaniciando los ficheros de paquetes descargaos" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Reconfigurando paquetes instalaos" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Guetando" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "FallĂł la instalaciĂłn del ficheru de paquete" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "FallĂł la instalaciĂłn de software" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Fallu al amestar la clave a la llista de fornidores de software de confianza" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "FallĂł l'anovamientu de la llista de software" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Hebo un fallu al desaniciar el fornidor de la llista de confianza" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "FallĂł'l desaniciu de software" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "FallĂł l'anovamientu de software" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "FallĂł l'anovamientu del sistema" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "FallĂł l'aplicaciĂłn de cambeos de software" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "FallĂł la igua de la instalaciĂłn incompleta" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "FallĂł la igua de les dependencies frañaes" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "FallĂł amestar orixen de software" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "FallĂł activar componente de la distribuciĂłn" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "FallĂł'l desaniciu de ficheros de paquetes descargaos" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "FallĂł la gueta" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Amestando clave de llicencia" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Compruebe la so conexĂłn a Internet." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Mira a ver si tas usando repositorios de terceros. Nesi casu, desactĂ­valos, " "porque son fonte de problemes.\n" "DarrĂ©u, executa'l siguiente comandu nuna terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "El ficheru esbilláu puede que nun seya una clave de ficheru GPG o puede que " "tea frañáu." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "La clave esbillada nun puede desaniciase. Comprueba que disti una buelga " "válida." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Comprueba si tas executando anguaño otra ferramientas de xestiĂłn de " "software, por exemplu Synaptic o aptitude. Namái puede usase una ferramienta " "cada vegada." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Esti ye un problema seriu. IntĂ©ntalo otra vegada más sero. Si'l problema " "sigui apareciendo, informa del fallu a los desendolcadores." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Verifica'l nome del paquete, y que'l repositoriu apropiáu ta activáu." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Nun fai falta dengĂşn anovamientu." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Nun hai necesidá d'anovar" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Nun hai necesidá d'una desinstalaciĂłn." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Solicitasti desinstalar un paquete que ye parte esencial del sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "PerdiĂłse la conexĂłn col degorriu. Dablemente'l degorriu de segundu planu " "dexĂł de furrular." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "FallĂł al instalar o desinstalar un paquete de software." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "La carauterĂ­stica solicitada nun ta permitida." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Paez que hai un fallu de programaciĂłn en aptdaemon, el software que permite " "instalar o desaniciar software y facer otres xeres de xestiĂłn de paquetes " "rellacionaes." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Esti fallu podrĂ­a debese a que se necesiten paquetes de software adicionales " "que falten o que nun son instalables. TamiĂ©n podrĂ­a ser un conflictu ente " "paquetes de software que nun pueden instalase xuntos." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Los paquetes a instalar necesarios de fontes non autenticaes." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "La instalaciĂłn pudo tener fallao por un fallu nos paquetes correspondientes " "de software o encaboxĂłse d'un mou incorreutu. Tienes d'iguar esto enantes de " "poder instalar o desaniciar cualesquier otru software." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "Copia'l ficheru al to equipu llocal y comprueba los servicios." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Nun se permite la instalaciĂłn de cualquier paquete que viole los estándares " "de calidá. Eso podrĂ­a causar problemes serios nel equipu. Contauta cola " "persona u organizaciĂłn que t'apurriĂł esti ficheru de paquete ya inclĂşi los " "detalles a continuaciĂłn." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "La clave de la llicencia descargada requerida pa executar esti software nun " "ye válida o nun pudo instalase correcho.\n" "Llei los detalles pa tener más informaciĂłn." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Tolos anovamientos disponibles yá foron instalaos." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Nun pudo descargase la clave de llicencia que permite l'usu d'esti software. " "Comprueba la to conexĂłn de rede." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Nun tienes los privilexos necesarios pa facer esta aiciĂłn." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "O bien disti una contraseña incorreuta o encaboxasti l'autorizaciĂłn.\n" "Pue ser qu'heba una razĂłn tĂ©unica pa esti fallu si nun visti un diálogu pa " "la contraseña: el to entornu d'escritoriu nun proporciona un axente de " "sesiĂłn de PolicyKit" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "FallĂł al descargar los ficheros de paquetes" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "FallĂł al descargar la informaciĂłn del repositoriu" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Les dependencies del paquete nun pudieron iguase" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "El paquete de sistema ta frañáu" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "La clave nun s'instalĂł" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "La clave nun se desaniciĂł" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "FallĂł al bloquiar el xestor de paquetes" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "FallĂł al cargar la llista de paquetes" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "El paquete nun existe" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "El paquete yá ta anováu a la data" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "El paquete yá ta instaláu" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "El paquete nun s'instalĂł" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "FallĂł al desinstalar un paquete esencial del sistema" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "La xera nun pudo monitorizase o controlase" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "FallĂł la operaciĂłn col paquete" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Requierse la instalaciĂłn de paquetes non confiables" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Una instalaciĂłn previa nun se completĂł" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "El paquete ye de mala calidá" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "El ficheru de paquete nun pue abrise" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "CarauterĂ­stica non permitida" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "FallĂł la descarga de la clave de llicencia" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Fallu na instalaciĂłn de la clave de llicencia" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "El sistema yá ta anováu" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Nun se te pudo autorizar" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Nun se te permite facer esta aiciĂłn" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Hebo un fallu que nun puede remanase." #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Esperando l'aniciu del serviciu" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Aguardando" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Esperando'l soporte requerĂ­u" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Esperando que los demás xestores de paquetes se zarren" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Esperando la solicitĂş del ficheru de configuraciĂłn" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Executando xera" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Baxando" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Consultando los orĂ­xenes del software" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Llimpiando" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Fináu" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Encaboxando" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Cargando la llista de software" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Instalando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configurando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Desaniciando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Desaniciando dafechu %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Anotando desaniciáu de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Executando activador de post-instalaciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Anovando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Desempaquetando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Preparando la instalaciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Preparando la configuraciĂłn %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Preparando'l desaniciu de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Preparando pa desaniciar %s dafechu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s instaláu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s desinstalĂłse dafechu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s desinstaláu" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Procesando %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Fecho" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "FallĂł l'autenticaciĂłn" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Descargando" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inactivu" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "La rede nun ta disponible" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalles" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Ficheru" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Descargáu %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Descargáu" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "NecesĂ­tase'l CD/DVD «%s»" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Inxerta' CD/DVD na unidá '%s' pa instalar los paquetes de software dende Ă©l." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_Continuar" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instalar" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstalar" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Desaniciar" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Purgar" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Anovar" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Desanovar" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Omitir anovamientu" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Écha-y un gĂĽeyu a la llista de cambeos." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Hai d'instalar software adicional" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Hai de reinstalar software adicional" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Hai de desinstalar software adicional" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Hai de desaniciar ensembre software adicional" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Hai d'anovar software adicional" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Hai de desanovar software adicional" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Van omitise los anovamientos" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "NecesĂ­tense cambeos adicionales" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Van descargase %sB en total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Va lliberase %sB d'espaciu en discu." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Van usase %sB más d'espaciu en discu" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "ÂżTrocar los tos cambeos en «%s» cola cabera versiĂłn del ficheru de " "configuraciĂłn?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Si nun sabes por quĂ©'l ficheru yá ta ellĂ­, xeneralmente ye seguro trocalu." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Cambeos" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Caltener" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Trocar" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalles" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Esperando a %s pa colar" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Descargando %(files)s" msgstr[1] "Descargando %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "repositoriu llocal" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Descargando de %s" msgstr[1] "Descargando de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Estructura de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "DescripciĂłn de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Robla de descripciĂłn de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Paquetes disponibles de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "OrĂ­xenes disponibles de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Tornes disponibles de %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Tornes pa %s (%s) de %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Tornes pa %s de %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traducciones (%s) de %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "El paquete %s nun ta disponible" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "El paquete %s nun ta instaláu" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "La versiĂłn %s de %s nun ta instalada" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "El paquete %s yá ta instaláu" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "La versiĂłn %s de %s nun ta disponible." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "El URL del sirvidor de claves nun ye válidu: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "El protocolu del sirvidor nun ye válidu: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Id de clave inválidu: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "FallĂł al descargar ya instalar la clave %s de %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "El ficheru clave file %s nun pue instalase: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "La clave cola buelga %s nun pue desaniciase: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "El paquete %s nun pue desaniciase." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "La versiĂłn %s de %s nun ta instalada" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "L'antigua versiĂłn %s de %s yá ta instalada" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "La versiĂłn %s de %s yá ta instalada" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "La versiĂłn %s de %s nun ta disponible" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Necesites especificar una versiĂłn a la que desanovar %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "La cabera versiĂłn %s de %s yá ta instalada" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "El paquete %s nun ta disponible na distribuciĂłn %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "El paquete %s nun pue desaniciase" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "El paquete nun proporciona un campu de control del tamañu d'instalaciĂłn " "válidu. Llei la polĂ­tica de Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "La clave de la llicencia ta balera." #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "La clave de la llicencia nun pue contener cĂłdigu executable." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "La ruta %s de la clave de llicencia ye invalida" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "La clave de llicencia yá esiste: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "L'allugamientu de la clave de llicencia nun ye seguru, yá que contiĂ©n " "enllaces simbĂłlicos. La ruta %s asigna a %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "El direutoriu pa instalar la clave aĂ­nda nun esiste: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Fallu al escribir el ficheru de clave a: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Los siguientes paquetes tienen dependencies ensin cubrir:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "pero ye un paquete virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "pero nun ta instaláu" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "pero nun va instalase" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "pero %s ta instaláu" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "pero %s nun ta instaláu" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Hebo un fallu al amestar la clave a la llista de fornidores de software de " #~ "confianza" aptdaemon-1.1.1/po/fo.po0000644000175000017500000010336512117271433015633 0ustar renaterenate00000000000000# Faroese translation for aptdaemon # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-05-07 14:53+0000\n" "Last-Translator: Angutivik Casper RĂşnur Tausen Hansen \n" "Language-Team: Faroese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Broyt ritbĂşnað samanseting" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "BREK" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Niðurtikið %sB av %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "BREK:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Vil tĂş halda áfram [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/hu.po0000644000175000017500000013532612117271433015645 0ustar renaterenate00000000000000# Hungarian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-09-29 17:25+0000\n" "Last-Translator: PĂ©ter MĂTĂ“ \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "MegbĂ­zhatĂł szállĂ­tĂłk kulcsainak felsorolása" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "HitelesĂ­tĂ©s szĂĽksĂ©ges a megbĂ­zhatĂł kulcsok listájának megjelenĂ­tĂ©sĂ©hez." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Letöltött csomagok eltávolĂ­tása" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "A letöltött csomagok törlĂ©sĂ©hez hitelesĂ­tĂ©sre van szĂĽksĂ©g." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "SzoftverbeállĂ­tások megváltoztatása" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "A szoftverbeállĂ­tások megváltoztatásához hitelesĂ­tĂ©sre van szĂĽksĂ©g." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "SzoftvertárolĂł mĂłdosĂ­tása" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "HitelesĂ­tĂ©s szĂĽksĂ©ges a szoftvertárolĂł-beállĂ­tások mĂłdosĂ­tásához." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Csomagfájl telepĂ­tĂ©se" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "A csomag telepĂ­tĂ©sĂ©hez hitelesĂ­tĂ©s szĂĽksĂ©ges." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "CsomaginformáciĂłk frissĂ­tĂ©se" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "A szoftverkatalĂłgus frissĂ­tĂ©sĂ©hez hitelesĂ­tĂ©s szĂĽksĂ©ges." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Csomagok telepĂ­tĂ©se vagy eltávolĂ­tása" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "HitelesĂ­tĂ©s szĂĽksĂ©ges szoftver telepĂ­tĂ©sĂ©hez vagy eltávolĂ­tásához." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Szoftver telepĂ­tĂ©se megbĂ­zhatĂł, fehĂ©rlistán szereplĹ‘ tárolĂłbĂłl." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "A szoftver telepĂ­tĂ©sĂ©hez hitelesĂ­tĂ©s szĂĽksĂ©ges." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Ăšj tárolĂł hozzáadása, Ă©s abbĂłl csomagok telepĂ­tĂ©se" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "HitelesĂ­tĂ©s szĂĽksĂ©ges a szoftverek Ăşj forrásbĂłl valĂł telepĂ­tĂ©sĂ©hez." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Ăšj, megvásárolt csomagokat tartalmazĂł tárolĂł hozzáadása, Ă©s abbĂłl csomagok " "telepĂ­tĂ©se" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "HitelesĂ­tĂ©s szĂĽksĂ©ges a megvásárolt szoftverek telepĂ­tĂ©sĂ©hez." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Csomagok frissĂ­tĂ©se" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "FrissĂ­tett szoftver telepĂ­tĂ©sĂ©hez hitelesĂ­tĂ©s szĂĽksĂ©ges." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Másik felhasználĂł feladatának megszakĂ­tása" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "HitelesĂ­tĂ©s szĂĽksĂ©ges másik felhasználĂł szoftvermĂłdosĂ­tásainak " "megszakĂ­tásához." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Proxy beállĂ­tása szoftverletöltĂ©sekhez" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "A szoftver letöltĂ©sĂ©hez proxy kiszolgálĂł használatához hitelesĂ­tĂ©s szĂĽksĂ©ges." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "HIBA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Letöltve: %sB/%sB, sebessĂ©g: %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Letöltve: %sB/%sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "HIBA:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Ezt a műveletet nem hajthatja vĂ©gre." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Sorba állĂ­tás" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "FĂĽggĹ‘sĂ©gek feloldása" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "A következĹ‘ Ăşj csomag kerĂĽl telepĂ­tĂ©sre (%(count)s):" msgstr[1] "A következĹ‘ Ăşj csomagok kerĂĽlnek telepĂ­tĂ©sre (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "A következĹ‘ csomag kerĂĽl frissĂ­tĂ©sre (%(count)s):" msgstr[1] "A következĹ‘ csomagok kerĂĽlnek frissĂ­tĂ©sre (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "A következĹ‘ csomag kerĂĽl eltávolĂ­tásra (%(count)s):" msgstr[1] "A következĹ‘ csomagok kerĂĽlnek eltávolĂ­tásra (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "A következĹ‘ csomag kerĂĽl visszafejlesztĂ©sre (%(count)s):" msgstr[1] "A következĹ‘ csomagok kerĂĽlnek visszaminĹ‘sĂ­tĂ©sre (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "A következĹ‘ csomag kerĂĽl ĂşjratelepĂ­tĂ©sre (%(count)s):" msgstr[1] "A következĹ‘ csomagok kerĂĽlnek ĂşjratelepĂ­tĂ©sre (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "A következĹ‘ csomag lett visszatartva (%(count)s):" msgstr[1] "A következĹ‘ csomagok lettek visszatartva (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "%sB töltendĹ‘ le az archĂ­vumokbĂłl." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "A művelet után %sB további lemezhely kerĂĽl felhasználásra." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "A művelet után %sB további lemezhely kerĂĽl felszabadĂ­tásra." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "KĂ­vánja folytatni [I/N]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Több csomagon valĂł munkához tegye a csomagneveket idĂ©zĹ‘jelek közĂ©:\n" "aptdcon --install \"izĂ© bigyĂł\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "GyorsĂ­tĂłtár frissĂ­tĂ©se" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "KĂ­sĂ©rlet törött fĂĽggĹ‘sĂ©gek feloldására. VeszĂ©lyes művelet lehet, mivel sok " "csomag eltávolĂ­tására tehet kĂ­sĂ©rletet." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "KĂ­sĂ©rlet korábban be nem fejezett telepĂ­tĂ©s befejezĂ©sĂ©re" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "A megadott csomagok telepĂ­tĂ©se" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "A megadott csomagok ĂşjratelepĂ­tĂ©se" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "A megadott csomagok eltávolĂ­tása" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "A megadott csomagok eltávolĂ­tása a beállĂ­tĂłfájlokkal egyĂĽtt" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Az adott csomagok visszafejlesztĂ©se" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Elavult: használja a --safe-upgrade kapcsolĂłt" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "A rendszer biztonságos frissĂ­tĂ©se" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "A rendszer frissĂ­tĂ©se, csomagok esetleges telepĂ­tĂ©sĂ©vel Ă©s eltávolĂ­tásával" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "A szállĂ­tĂł hozzáadása a megbĂ­zhatĂłkhoz" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "A szállĂ­tĂł kulcsazonosĂ­tĂłjának hozzáadása (a --keyserver is szĂĽksĂ©ges)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "A megadott kulcskiszolgálĂł használata kulcsok kikeresĂ©sĂ©re" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Ăšj tárolĂł felvĂ©tele a megadott deb sorbĂłl" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "AlternatĂ­v sources.list.d fájl megadása, amelyhez a tárolĂłk hozzáadandĂłk." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "MegbĂ­zhatĂł szállĂ­tĂłi kulcsok felsorolása" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "A megadott ujjlenyomatok megbĂ­zhatĂł kulcsának eltávolĂ­tása" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "A telepĂ­tett csomagok Ăşjrakonfigurálása. Opcionálisan a minimális " "kĂ©rdĂ©sfontosság meghatározhatĂł" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "A megjelenĂ­tendĹ‘ legkisebb debconf kĂ©rdĂ©sfontosság" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Ne csatlakozzon az apt terminálhoz" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Csomagok engedĂ©lyezĂ©se nem hitelesĂ­tett forrásokbĂłl" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "További informáciĂłk megjelenĂ­tĂ©se a csomagokrĂłl. Jelenleg csak a verziĂłszám" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Várakozás hitelesĂ­tĂ©sre" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Ne álljon le a dĂ©mon inaktivitás miatt" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Ne töltsön be semmilyen bĹ‘vĂ­tmĂ©nyt" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "BelsĹ‘ feldolgozási informáciĂłk megjelenĂ­tĂ©se" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "KilĂ©pĂ©s Ă©s meglĂ©vĹ‘ dĂ©mon cserĂ©je" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "A D-Bus munkamenetbusz figyelĂ©se (csak tesztelĂ©shez)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Műveletek vĂ©grehajtása a megadott „chroot”-on belĂĽl" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Profilstatisztikák tárolása a megadott fájlban" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Ne változtasson meg semmit a rendszeren (csak fejlesztĹ‘knek)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Fájl telepĂ­tve" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Csomagok telepĂ­tve" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Kulcs felvĂ©ve a fájlbĂłl" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "GyorsĂ­tĂłtár frissĂ­tve" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "KeresĂ©s kĂ©sz" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "MegbĂ­zhatĂł kulcs eltávolĂ­tva" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Csomagok eltávolĂ­tva" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Csomagok frissĂ­tve" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Rendszer frissĂ­tve" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Változtatások alkalmazva" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Befejezetlen telepĂ­tĂ©sek javĂ­tva" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Törött fĂĽggĹ‘sĂ©gek javĂ­tva" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Szoftverforrás hozzáadva" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "A disztribĂşciĂł összetevĹ‘je engedĂ©lyezve" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "EltávolĂ­tott letöltött csomagfájlok" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Ăšjrakonfigurált telepĂ­tett csomagok" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Sikeres" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "MegszakĂ­tva" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Sikertelen" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Fájl telepĂ­tĂ©se" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Csomagok telepĂ­tĂ©se" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Kulcs hozzáadása fájlbĂłl" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "GyorsĂ­tĂłtár frissĂ­tĂ©se" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "MegbĂ­zhatĂł kulcs eltávolĂ­tása" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Csomagok eltávolĂ­tása" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Csomagok frissĂ­tĂ©se" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Rendszer frissĂ­tĂ©se" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "MĂłdosĂ­tások alkalmazása" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Befejezetlen telepĂ­tĂ©sek javĂ­tása" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "TelepĂ­tett szoftverek javĂ­tása" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Szoftverforrás engedĂ©lyezĂ©se" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "A disztribĂşciĂł összetevĹ‘jĂ©nek engedĂ©lyezĂ©se" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Letöltött csomagfájlok eltávolĂ­tása" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "TelepĂ­tett csomagok Ăşjrakonfigurálása" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "KeresĂ©s" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "A csomagfájl telepĂ­tĂ©se meghiĂşsult" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "A szoftver telepĂ­tĂ©se meghiĂşsult" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "A csomaglisták frissĂ­tĂ©se meghiĂşsult" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "A gyártĂł eltávolĂ­tása a megbĂ­zhatĂł gyártĂłk listájárĂłl meghiĂşsult" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "A szoftver eltávolĂ­tása meghiĂşsult" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "A csomag frissĂ­tĂ©se meghiĂşsult" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "A rendszer frissĂ­tĂ©se meghiĂşsult" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "A csomagok változásainak jĂłváhagyása meghiĂşsult" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "A befejezetlen telepĂ­tĂ©sek javĂ­tása meghiĂşsult" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "A törött fĂĽggĹ‘sĂ©gek javĂ­tása meghiĂşsult" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "A szoftverforrás hozzáadása meghiĂşsult" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "A disztribĂşciĂł összetevĹ‘jĂ©nek engedĂ©lyezĂ©se meghiĂşsult" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Letöltött csomagfájlok eltávolĂ­tása sikertelen" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "A keresĂ©s sikertelen" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Licenc-kulcs hozzáadása" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "EllenĹ‘rizze internetkapcsolatát." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "EllenĹ‘rizze, használ-e harmadik fĂ©ltĹ‘l származĂł tárolĂłkat. Ha van ilyen, " "tiltsa le ezeket, mivel gyakran problĂ©mák forrásai.\n" "Ezen kĂ­vĂĽl futtassa a „sudo apt-get install -f” parancsot terminálban." #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "A kiválasztott fájl nem GPG kulcsfájl, vagy sĂ©rĂĽlt." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "A kiválasztott kulcs nem távolĂ­thatĂł el. EllenĹ‘rizze, hogy Ă©rvĂ©nyes " "ujjlenyomatot adott-e meg." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "EllenĹ‘rizze, hogy nem fut-e jelenleg másik szoftverkezelĹ‘ eszköz, pĂ©ldául a " "Synaptic vagy az aptitude. Egyszerre csak egy eszköz vĂ©gezhet mĂłdosĂ­tásokat." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Ez egy komoly problĂ©ma. PrĂłbálja Ăşjra kĂ©sĹ‘bb. Ha ez a problĂ©ma Ăşjra előáll, " "jelentse be hibakĂ©nt a fejlesztĹ‘knek." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "EllenĹ‘rizze a csomagnĂ©v helyesĂ­rását, Ă©s hogy a megfelelĹ‘ tárolĂł " "engedĂ©lyezve van-e." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Nincs szĂĽksĂ©g frissĂ­tĂ©sre." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Nincs szĂĽksĂ©g telepĂ­tĂ©sre." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Nincs szĂĽksĂ©g eltávolĂ­tásra." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "A rendszer alapvetĹ‘ rĂ©szĂ©t kĂ©pezĹ‘ csomag eltávolĂ­tását kĂ©rte." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "A kapcsolat elveszett a dĂ©monnal. ValĂłszĂ­nűleg összeomlott a háttĂ©rdĂ©mon." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Egy szoftvercsomag telepĂ­tĂ©se vagy eltávolĂ­tása meghiĂşsult." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "A kĂ©rt funkciĂł nem támogatott." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Ăšgy tűnik, programhiba van az aptdaemonban, a szoftverek telepĂ­tĂ©sĂ©t Ă©s " "eltávolĂ­tását, valamint más csomagkezelĂ©si műveletek vĂ©grehajtását lehetĹ‘vĂ© " "tevĹ‘ szoftverben." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Ezt a hibát további szĂĽksĂ©ges, de hiányzĂł vagy nem telepĂ­thetĹ‘ " "szoftvercsomagok okozhatják. Továbbá ĂĽtközĂ©s lehet olyan szoftvercsomagok " "között, amelyek egyszerre nem lehetnek telepĂ­tve." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Ez megbĂ­zhatatlan forrásbĂłl származĂł csomagok telepĂ­tĂ©sĂ©t igĂ©nyli." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "A telepĂ­tĂ©s megszakadását az adott szoftvercsomag hibája okozhatta, vagy " "barátságtalan mĂłdon megszakĂ­tották. Ezt ki kell javĂ­tania, mielĹ‘tt további " "szoftvereket telepĂ­tene vagy eltávolĂ­tana." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "KĂ©rjĂĽk másolja át a fájlt a helyi gĂ©pĂ©re Ă©s ellenĹ‘rizze a " "fájljogosultságokat." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "A csomagnak, ami megsĂ©rti a minĹ‘sĂ©gi szabványokat a telepĂ­tĂ©se nem " "engedĂ©lyezett. Ez sĂşlyos kárt tehet a gĂ©pĂ©ben. KĂ©rjĂĽk lĂ©pjen kapcsolatba " "azzal a szemĂ©llyel vagy szervezettel akitĹ‘l a csomagfájl származik, Ă©s " "mellĂ©kelje a rĂ©szleteit." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "A szoftver használatát lehetĹ‘vĂ© tevĹ‘ licenckulcs nem Ă©rvĂ©nyes vagy nem " "telepĂ­thetĹ‘ megfelelĹ‘en.\n" "További informáciĂłkĂ©rt nĂ©zze meg a rĂ©szleteket." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Az összes elĂ©rhetĹ‘ frissĂ­tĂ©s már telepĂ­tve van." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "A szoftver használatát lehetĹ‘vĂ© tevĹ‘ licenckulcs nem tölthetĹ‘ le. " "EllenĹ‘rizze a hálĂłzati kapcsolatot." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "A csomagfájlok letöltĂ©se meghiĂşsult" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "A tárolĂłinformáciĂłk letöltĂ©se meghiĂşsult" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "A csomagfĂĽggĹ‘sĂ©gek nem oldhatĂłk fel" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "A csomagrendszer sĂ©rĂĽlt" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Nincs telepĂ­tve a kulcs" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "A kulcs nem kerĂĽlt eltávolĂ­tásra" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "A csomagkezelĹ‘ zárolása meghiĂşsult" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "A csomaglista betöltĂ©se meghiĂşsult" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "A csomag nem lĂ©tezik" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "A csomag már a legfrissebb verziĂłjĂş" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "A csomag már telepĂ­tve van" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "A csomag nincs telepĂ­tve" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Az alapvetĹ‘ rendszercsomag eltávolĂ­tása meghiĂşsult" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "A feladat nem figyelhetĹ‘ meg vagy nem irányĂ­thatĂł" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "A csomagművelet meghiĂşsult" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Nem megbĂ­zhatĂł csomagok telepĂ­tĂ©sĂ©t igĂ©nyli" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Egy korábbi telepĂ­tĂ©s nem fejezĹ‘dött be" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "A csomag rossz minĹ‘sĂ©gű" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "A csomagfájl nem nyithatĂł meg" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Nem támogatott funkciĂł" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "A licenc-kulcs letöltĂ©se nem sikerĂĽlt" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "A licenc-kulcs telepĂ­tĂ©se sikertelen" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "A rendszer már naprakĂ©sz" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Nem kezelhetĹ‘ hiba törtĂ©nt" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Várakozás a szolgáltatás elindulására" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Várakozás" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Várakozás a szĂĽksĂ©ges adathordozĂłra" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Várakozás más szoftverkezelĹ‘k kilĂ©pĂ©sĂ©re" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Várakozás a beállĂ­tĂłfájl parancssorára" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Feladat futtatása" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "LetöltĂ©s" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Szoftverforrások lekĂ©rdezĂ©se" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "FrissĂ­tĂ©s befejezĂ©se" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Befejezve" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "MegszakĂ­tás" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Szoftverlista betöltĂ©se" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s telepĂ­tĂ©se" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s konfigurálása" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s eltávolĂ­tása" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s teljes eltávolĂ­tása" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "„%s” eltűnĂ©se feljegyezve" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "A(z) %s telepĂ­tĂ©s utáni trigger futtatása" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s frissĂ­tĂ©se" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s kicsomagolása" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "%s telepĂ­tĂ©sĂ©nek elĹ‘kĂ©szĂ­tĂ©se" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "%s beállĂ­tásának elĹ‘kĂ©szĂ­tĂ©se" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "%s eltávolĂ­tásának elĹ‘kĂ©szĂ­tĂ©se" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "%s teljes eltávolĂ­tásának elĹ‘kĂ©szĂ­tĂ©se" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s telepĂ­tve" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s teljesen eltávolĂ­tva" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s eltávolĂ­tva" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "%s feldolgozása" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "KĂ©sz" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Sikertelen hitelesĂ­tĂ©s" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "LetöltĂ©s" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Ăśresjárat" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "A hálĂłzat nem Ă©rhetĹ‘ el" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "RĂ©szletek" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fájl" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sB letöltve" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Letöltve" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "„%s” CD/DVD szĂĽksĂ©ges" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Helyezze be a fenti CD-t/DVD-t a(z) „%s” meghajtĂłba a rajta lĂ©vĹ‘ " "szoftvercsomagok telepĂ­tĂ©sĂ©hez." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_Folytatás" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "TelepĂ­tĂ©s" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ĂšjratelepĂ­tĂ©s" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "EltávolĂ­tás" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "TörlĂ©s" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "FrissĂ­tĂ©s" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "VisszafejlesztĂ©s" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "FrissĂ­tĂ©s kihagyása" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "NĂ©zze meg a változtatások alábbi listáját." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "További szoftvereket kell telepĂ­teni" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "További szoftvereket kell ĂşjratelepĂ­teni" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "További szoftvereket kell eltávolĂ­tani" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "További szoftvereket kell törölni" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "További szoftvereket kell frissĂ­teni" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "További szoftvereket kell visszafejleszteni" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "A frissĂ­tĂ©sek kihagyásra kerĂĽlnek" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "További változtatások szĂĽksĂ©gesek" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Ă–sszesen %sB kerĂĽl letöltĂ©sre." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%s B lemezhely szabadul fel." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "MĂ©g %sB lemezhely kerĂĽl felhasználásra." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "LecserĂ©li a változtatásait a(z) „%s” fájlban a beállĂ­tĂłfájl egy Ăşjabb " "verziĂłjával?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Ha nem tudja, miĂ©rt lĂ©tezik már a fájl, általában nyugodtan lecserĂ©lheti." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Változtatások" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Megtartás" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Csere" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_RĂ©szletek" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Várakozás %s kilĂ©pĂ©sĂ©re" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "%(files)s letöltĂ©se" msgstr[1] "%(files)s letöltĂ©se" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "helyi tárolĂł" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "LetöltĂ©s innen: %s" msgstr[1] "LetöltĂ©s innen: %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s szerkezete" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s leĂ­rása" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%s leĂ­rĂł aláírása" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "ElĂ©rhetĹ‘ csomagok innen: %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "ElĂ©rhetĹ‘ források innen: %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "ElĂ©rhetĹ‘ fordĂ­tások innen: %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%s nyelv (%s) fordĂ­tásai innen: %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s nyelv fordĂ­tásai innen: %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "FordĂ­tások (%s) innen: %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "A(z) %s csomag nem elĂ©rhetĹ‘" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "A(z) %s csomag nincs telepĂ­tve" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "%s csomag %s verziĂłja nincs telepĂ­tve" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "%s csomag már telepĂ­tve van" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "%s csomag %s verziĂłja nem Ă©rhetĹ‘ el." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "A kulcskiszolgálĂł URL-je Ă©rvĂ©nytelen: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "A kiszolgálĂłprotokoll Ă©rvĂ©nytelen: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "ÉrvĂ©nytelen kulcsazonosĂ­tĂł: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Nem sikerĂĽlt letölteni a(z) %s kulcsfájlt, a következĹ‘ helyrĹ‘l: %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "%s kulcsfájl nem telepĂ­thetĹ‘: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "%s ujjlenyomatĂş kulcs nem távolĂ­thatĂł el: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "A(z) %s csomag nem távolĂ­thatĂł el." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "A(z) %s verziĂłjĂş %s nincs telepĂ­tve" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "A(z) %s korábbi verziĂłjĂş %s már telepĂ­tve van" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "A(z) %s verziĂłjĂş %s már telepĂ­tve van" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "A(z) %s verziĂłjĂş %s nem Ă©rhetĹ‘ el" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Meg kell határoznia, hogy %s milyen verziĂłra legyen visszafejlesztve" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "A(z) %s Ăşjabb verziĂłjĂş %s már telepĂ­tve van" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "%s csomag nem Ă©rhetĹ‘ el a(z) %s kiadásban." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "A(z) %s csomag nem eltávolĂ­thatĂł." #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "A csomag nem ad Ă©rvĂ©nyes Installed-Size vezĂ©rlĹ‘mezĹ‘-Ă©rtĂ©ket. RĂ©szletekĂ©rt " "tekintse át a Debian Policy 5.6.20. fejezetĂ©t." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "A licenckulcs ĂĽres" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "A licenckulcs nem tartalmazhat vĂ©grehajthatĂł kĂłdot." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "A(z) %s licenckulcsĂştvonal Ă©rvĂ©nytelen" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "A licenckulcs már lĂ©tezik: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "A licenckulcs helye nem biztonságos, mivel szimbolikus linkeket tartalmaz. " "A(z) %s Ăştvonal ennek felel meg: %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "A kulcsfájl telepĂ­tĂ©sĂ©hez használandĂł könyvtár mĂ©g nem lĂ©tezik: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "A kulcsfájl kiĂ­rása sikertelen ide: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "A következĹ‘ csomagoknak teljesĂ­tetlen fĂĽggĹ‘sĂ©gei vannak:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "de ez egy virtuális csomag" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "de nincs telepĂ­tve" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "de nincs telepĂ­tĂ©sre jelölve" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "de %s verziĂł van telepĂ­tve" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "de %s verziĂłt kellene telepĂ­teni" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "A kulcs hozzáadása a megbĂ­zhatĂł szoftvergyártĂłk listájához meghiĂşsult" aptdaemon-1.1.1/po/crh.po0000644000175000017500000010350312117271433015775 0ustar renaterenate00000000000000# Crimean Turkish; Crimean Tatar translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-05-05 10:26+0000\n" "Last-Translator: ReĹźat SABIQ \n" "Language-Team: Crimean Turkish; Crimean Tatar \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Yazılım qurmaq ya da çetleĹźtirmek içün sahihlenmeñiz kerek." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Muvafaqiyetli" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Vazgeçilgen" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Muvafaqiyetsiz" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Tafsilât" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_İvaz Et" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Tafsilât" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/pl.po0000644000175000017500000013715712117271433015650 0ustar renaterenate00000000000000# Polish translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-19 15:50+0000\n" "Last-Translator: GTriderXC \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" "X-Poedit-Country: Poland\n" "X-Poedit-Language: Polish\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Lista kluczy zaufanych dostawcĂłw" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Aby wyĹ›wietlić listÄ™ zaufanych kluczy, naleĹĽy siÄ™ uwierzytelnić." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "UsuniÄ™cie pobranych pakietĂłw" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Aby usunąć pobrane pakiety plikĂłw, naleĹĽy siÄ™ uwierzytelnić." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Zmiana konfiguracji oprogramowania" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Aby dokonać zmian, naleĹĽy siÄ™ uwierzytelnić." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Zmiana repozytorium oprogramowania" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Aby zmienić ustawienia repozytoriĂłw oprogramowania, naleĹĽy siÄ™ uwierzytelnić." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instalacja pliku pakietu" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Aby zainstalować ten pakiet, naleĹĽy siÄ™ uwierzytelnić." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Uaktualnianie informacji o pakietach" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Aby uaktualnić katalog oprogramowania, naleĹĽy siÄ™ uwierzytelnić." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instalacja lub usuwanie pakietĂłw" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Aby zainstalować lub usunąć oprogramowanie, naleĹĽy siÄ™ uwierzytelnić." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Instalacja oprogramowania z wysoce zaufanych repozytoriĂłw biaĹ‚ej listy." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Aby zainstalować oprogramowanie, naleĹĽy siÄ™ uwierzytelnić." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Dodaj nowe repozytorium i instaluj z niego pakiety" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Aby zainstalować oprogramowanie z nowego zasobu, naleĹĽy siÄ™ uwierzytelnić." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Dodaj nowe repozytorium zakupionego oprogramowania i instaluj z niego pakiety" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Aby zainstalować zakupione oprogramowanie, naleĹĽy siÄ™ uwierzytelnić." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Aktualizacja pakietĂłw" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "Aby zainstalować zaktualizowane oprogramowanie, naleĹĽy siÄ™ uwierzytelnić." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Anuluj zadanie innego uĹĽytkownika" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Aby anulować zmiany oprogramowania innego uĹĽytkownika, naleĹĽy siÄ™ " "uwierzytelnić." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Ustawienie poĹ›rednika sieciowego do pobierania oprogramowania" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Aby uĹĽyć poĹ›rednika sieciowego do pobierania oprogramowania, naleĹĽy siÄ™ " "uwierzytelnić." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "BĹÄ„D" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Pobrano %sB z %sB z prÄ™dkoĹ›ciÄ… %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Pobrano %sB z %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "BĹÄ„D:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "UĹĽytkownikowi nie wolno wykonać tego dziaĹ‚ania." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Kolejkowanie" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "RozwiÄ…zywanie zaleĹĽnoĹ›ci" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "NastÄ™pujÄ…cy nowy pakiet zostanie zainstalowany (%(count)s):" msgstr[1] "NastÄ™pujÄ…ce (%(count)s) nowe pakiety zostanÄ… zainstalowane:" msgstr[2] "" "(%(count)s) nastÄ™pujÄ…cych nowych pakietĂłw zostanie zainstalowanych:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "NastÄ™pujacy (%(count)s) pakiet zostanie zaktualizowany:" msgstr[1] "NastÄ™pujace (%(count)s) pakiety zostanÄ… zaktualizowane:" msgstr[2] "NastÄ™pujacych (%(count)s) pakietĂłw zostanie zaktualizowanych:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "NastÄ™pujacy (%(count)s) pakiet zostanie usuniÄ™ty:" msgstr[1] "NastÄ™pujace (%(count)s) pakiety zostanÄ… usuniÄ™te:" msgstr[2] "NastÄ™pujacych (%(count)s) pakietĂłw zostanie usuniÄ™tych:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "NastÄ™pujacy (%(count)s) pakiet zostanie zdezaktualizowany:" msgstr[1] "NastÄ™pujace (%(count)s) pakiety zostanÄ… zdezaktualizowane:" msgstr[2] "NastÄ™pujacych (%(count)s) pakietĂłw zostanie zdezaktualizowanych:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "NastÄ™pujacy (%(count)s) pakiet zostanie przeinstalowany:" msgstr[1] "NastÄ™pujace (%(count)s) pakiety zostanÄ… przeinstalowane:" msgstr[2] "NastÄ™pujacych (%(count)s) pakietĂłw zostanie przeinstalowanych:" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "NastÄ™pujacy (%(count)s) pakiet zostaĹ‚ przywrĂłcony:" msgstr[1] "NastÄ™pujace (%(count)s) pakiety zostaĹ‚y przywrĂłcone:" msgstr[2] "NastÄ™pujacych (%(count)s) pakietĂłw zostaĹ‚o przywrĂłconych:" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "NaleĹĽy pobrać %sB archiwĂłw." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Po tej operacji uĹĽyte zostanie %sB dodatkowego miejsca." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Po tej operacji zwolnione zostanie %sB dodatkowego miejsca." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Kontynuować [T/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Aby dziaĹ‚ać na wiÄ™cej niĹĽ jednym pakiecie naleĹĽy umieĹ›cić nazwy pakietĂłw w " "cudzysĹ‚owach:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "OdĹ›wieĹĽ bufor" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "SprĂłbuj rozwiÄ…zać uszkodzone zaleĹĽnoĹ›ci. Potencjalnie niebezpieczne " "dziaĹ‚anie, poniewaĹĽ moĹĽe usunąć wiele pakietĂłw." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "PrĂłbuje ukoĹ„czyć poprzedniÄ… nieukoĹ„czonÄ… instalacjÄ™" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instaluje podane pakiety" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Instaluje ponownie podane pakiety" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Usuwa podane pakiety" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Usuwa podane pakiety wraz z plikami konfiguracji" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "PowrĂłt do wczeĹ›niejszych wersji pakietĂłw" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "PrzestarzaĹ‚e: proszÄ™ uĹĽyć --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Aktualizuje system w bezpieczny sposĂłb" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Aktualizuje system, usuwajÄ…c i instalujÄ…c pakiety" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Dodaje dostawcÄ™ do zaufanych" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Dodaje identyfikator klucza dostawcy (wymaga takĹĽe --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "UĹĽywa podanego serwera kluczy do wyszukiwania kluczy" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Dodaje nowe repozytorium z podanego wiersza deb" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "OkreĹ›la alternatywny plik sources.list.d, do ktĂłrych majÄ… zostać dodane " "repozytoria." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "WyĹ›wietla listÄ™ kluczy zaufanych dostawcĂłw" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Usuwa zaufany klucz podanego odcisku palca" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Rekonfiguracja zainstalowanych pakietĂłw. Opcjonalnie moĹĽna sprecyzować " "priorytety zapytaĹ„ systemowych." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Zostanie wyĹ›wietlona minimalna ilość zapytaĹ„ debconf" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Bez załączania terminalu apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Zezwala na pakiety z nieuwierzytelnionych ĹşrĂłdeĹ‚" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "WyĹ›wietlanie dodatkowych informacji o pakietach. Na tym etapie tylko numery " "wersji" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Oczekiwanie na uwierzytelnienie" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Nie wyłączaj usĹ‚ugi z powodu bezczynnoĹ›ci" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Nie wczytuj ĹĽadnych wtyczek" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "WyĹ›wietlaj wewnÄ™trzne informacje przetwarzania" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "ZakoĹ„cz i zamieĹ„ juĹĽ uruchomionÄ… usĹ‚ugÄ™" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "NasĹ‚uchiwanie na magistrali sesji DBus (wymagane tylko do testowania" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Przeprowadzenie oparacji na podanym chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Zachowa statystyki profilu w okreĹ›lonym pliku" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Nie dokonuj ĹĽadnych zmian w systemie (Tylko do uĹĽytku programistĂłw)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Zainstalowano plik" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Zainstalowano pakiety" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Dodano klucz z pliku" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Zaktualizowano bufor" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Wyszukiwanie zakoĹ„czone" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "UsuniÄ™to zaufany klucz" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "UsuniÄ™to pakiety" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Zaktualizowano pakiety" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Zaktualizowano system" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Zastosowano zmiany" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Naprawiono niekompletnÄ… instalacjÄ™" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Naprawiono uszkodzone zaleĹĽnoĹ›ci" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Dodano ĹĽrĂłdĹ‚o oprogramowania" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "SkĹ‚adnik dystrybucji włączony" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "UsuniÄ™te pobrane pliki pakietĂłw" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Zrekonfigurowane zainstalowane pakiety" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Udane" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Anulowane" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Nieudane" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Instalowanie pliku" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Instalowanie pakietu" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Dodawanie klucza z pliku" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Aktualizowanie bufora" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Usuwanie zaufanego klucza" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Usuwanie pakietĂłw" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Aktualizowanie pakietĂłw" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Aktualizowanie systemu" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Zastosowywanie zmian" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Naprawianie niekompletnej instalacji" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Naprawa zainstalowanego oprogramowania" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Dodawanie ĹĽrĂłdĹ‚a oprogramowania" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Włączanie skĹ‚adnika dystrybucji" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Usuwanie pobranych plikĂłw pakietĂłw" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Rekonfigurowanie zainstalowanych pakietĂłw" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Wyszukiwanie" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Instalacja pliku pakietu siÄ™ nie powiodĹ‚a" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Instalacja programu siÄ™ nie powiodĹ‚a" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Dodanie klucza do listy zaufanych dostawcĂłw oprogramowania nie powiodĹ‚o siÄ™" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "OdĹ›wieĹĽenie listy oprogramowania siÄ™ nie powiodĹ‚o" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "UsuniÄ™cie z listy zaufanych dostawcĂłw siÄ™ nie powiodĹ‚o" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "UsuniÄ™cie programu siÄ™ nie powiodĹ‚o" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Aktualizacja programu siÄ™ nie powiodĹ‚a" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Aktualizacja systemu siÄ™ nie powiodĹ‚a" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Zastosowanie zmian w programie siÄ™ nie powiodĹ‚o" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Naprawa niekompletnej instalacji siÄ™ nie powiodĹ‚a" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Naprawa uszkodzonych zaleĹĽnoĹ›ci siÄ™ nie powiodĹ‚a" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Dodawanie ĹĽrĂłdĹ‚a oprogramowania siÄ™ nie powiodĹ‚o" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Włączenie skĹ‚adnika dystrybucji siÄ™ nie powiodĹ‚o" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Usuwanie pobranych plikĂłw pakietĂłw, zakoĹ„czone niepowodzeniem" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Wyszukiwanie nie powiodĹ‚o siÄ™" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Dodawanie klucza licencji" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "ProszÄ™ sprawdzić połączenie internetowe." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "ProszÄ™ sprawdzić, czy uĹĽywane sÄ… repozytoria osĂłb trzecich. JeĹ›li tak, to " "proszÄ™ je wyłączyć, poniewaĹĽ sÄ… czÄ™stym ĹşrĂłdĹ‚em problemĂłw.\n" "NastÄ™pnie proszÄ™ uruchomić nastÄ™pujÄ…ce polecenie w terminalu: apt-get " "install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Wybrany plik nie jest kluczem GPG lub jest uszkodzony." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Wybrany klucz nie mĂłgĹ‚ zostać usuniÄ™ty. ProszÄ™ sprawdzić, czy podany odcisk " "palca jest prawidĹ‚owy." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "ProszÄ™ sprawdzić, czy nie jest uruchomiony inny program do obsĹ‚ugi " "oprogramowania, np. Synaptic lub aptitude. Tylko jedno narzÄ™dzie w jednym " "czasie moĹĽe wprowadzać zmiany." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "To powaĹĽny problem. ProszÄ™ sprĂłbować później. JeĹ›li problem pojawi siÄ™ " "ponownie, to proszÄ™ zgĹ‚osić błąd programistom." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "ProszÄ™ sprawdzić pisowniÄ™ nazwy pakiety i czy odpowiednie repozytorium " "zostaĹ‚o dodane." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Nie ma potrzeby aktualizacji." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Nie ma potrzeby instalacji" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Nie ma potrzeby usuniÄ™cia." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "ZaĹĽÄ…dano usuniÄ™cia pakietu, ktĂłry jest niezbÄ™dnym elementem systemu." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Połączenie z usĹ‚ugÄ… utracono. Najprawdopodobniej usĹ‚uga w tle ulegĹ‚a awarii." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Instalacja lub usuniÄ™cie oprogramowania siÄ™ nie powiodĹ‚o." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Żądana opcja nie jest obsĹ‚ugiwana." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Zdaje siÄ™, ĹĽe aptdaemon zawiera błąd programisty. Program ten pozwala na " "instalacjÄ™ i usuwanie oprogramowania oraz zarzÄ…dzanie pakietami." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Ten błąd mĂłgĹ‚ być spowodowany wymogiem dodatkowych pakietĂłw oprogramowania, " "ktĂłrych brak lub nie moĹĽna ich zainstalować. MoĹĽe takĹĽe istnieć konflikt " "pomiÄ™dzy pakietami oprogramowania, ktĂłre nie mogÄ… być zainstalowane w jednym " "czasie." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Ta czynność wymaga zainstalowania pakietĂłw pochodzÄ…cych z " "nieuwierzytelnionych zasobĂłw." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Instalacja mogĹ‚a siÄ™ nie powieść z powodu błędu w pakiecie oprogramowania " "lub zostaĹ‚a anulowana w nieodpowiedni sposĂłb. NaleĹĽy to naprawić przed " "instalowaniem lub usuwaniem dalszego oprogramowania." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "Skopiuj plik na dysk komputera i sprawdĹş jego uprawnienia dostÄ™pu" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Instalacja tego pakietu, narusza standardy jakoĹ›ciowe i nie jest dozwolona. " "To dziaĹ‚anie mogĹ‚oby wywoĹ‚ać powaĹĽne problemy z dziaĹ‚aniem komputera. " "Skontaktuj siÄ™ z dostawcÄ… pliku pakietu, dołączajÄ…c poniĹĽsze szczegóły." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Pobrany klucz licencyjny, wymagany do uruchomienia tego elementu, jest " "niewaĹĽny lub nie moĹĽe zostać zainstalowany.\n" "Zobacz szczegóły aby uzyskać wiÄ™cej informacji." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Wszystkie dostÄ™pne aktualizacje zostaĹ‚y juĹĽ zainstalowane." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Klucz licencyjny, umoĹĽliwiajÄ…cy korzystanie z tego programu nie moĹĽe zostać " "pobrany. ProszÄ™ sprawdzić połączenie sieciowe." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Brak wymaganych uprawnieĹ„ do wykonania tej operacji." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Wprowadzono niepoprawne hasĹ‚o lub anulowano autoryzacjÄ™.\n" "Błąd mĂłgĹ‚ rĂłwnieĹĽ wystÄ…pić wskutek problemu technicznego, gdy pole " "wprowadzania hasĹ‚a nie byĹ‚o widoczne: Ĺ›rodowisko graficzne nie udostÄ™pnia " "klienta sesji PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Nieudane pobranie plikĂłw pakietĂłw" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Nieudane pobranie informacji z repozytoriĂłw" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "ZaleĹĽnoĹ›ci pakietu nie mogÄ… zostać rozwiÄ…zane" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "System pakietĂłw jest uszkodzony" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Klucz nie zostaĹ‚ zainstalowany" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Klucz nie zostaĹ‚a usuniÄ™ty" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Nieudane zablokowanie menedĹĽera pakietĂłw" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Nieudane wczytanie listy pakietĂłw" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakiet nie istnieje" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "To jest juĹĽ najnowsza wersja tego pakietu" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakiet jest juĹĽ zainstalowany" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakiet nie jest zainstalowany" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Nieudane usuniÄ™cie niezbÄ™dnego pakietu systemu" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Zadanie nie moĹĽe być monitorowane ani kontrolowane" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Nieudane dziaĹ‚anie pakietu" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Wymaga instalacji niezaufanych pakietĂłw" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Poprzednia instalacja nie zostaĹ‚a ukoĹ„czona" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Ten pakiet ma złą jakość" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Plik pakietu nie mĂłgĹ‚ zostać otwarty" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Opcja niedostÄ™pna" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Nie udaĹ‚o siÄ™ pobrać klucza licencyjnego" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Nie udaĹ‚o siÄ™ zainstalować klucza licencyjnego" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "System jest juĹĽ w peĹ‚ni zaktualizowany" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Autoryzacja nieudana" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Niestety nie wolno Tobie wykonać tej operacji." #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "WystÄ…piĹ‚ nieobsĹ‚ugiwany błąd" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Oczekiwanie na uruchomienie usĹ‚ugi" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Oczekiwanie" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Oczekiwanie na ĹĽÄ…dany noĹ›nik" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Oczekiwanie na zakoĹ„czenie pracy innych menedĹĽerĂłw oprogramowania" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Oczekiwanie na zapytanie pliku konfiguracji" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Przetwarzanie zadania" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Pobieranie" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Wysylanie zapytaĹ„ do ĹşrĂłdeĹ‚ oprogramowania" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "SprzÄ…tanie" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "UkoĹ„czono" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Anulowanie" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Wczytywanie listy oprogramowania" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Instalowanie %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Konfigurowanie %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Usuwanie %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "CaĹ‚kowite usuwanie %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Odnotowano znikniÄ™cie pakietu %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Przetwarzanie wyzwalacza %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Aktualizowanie %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Rozpakowywanie %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Przygotowanie do instalacji %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Przygotowanie do konfiguracji %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Przygotowanie do usuniÄ™cia %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Przygotowanie do caĹ‚kowitego usuniÄ™cia %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Zainstalowano %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "CaĹ‚kowicie usuniÄ™to %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "UsuniÄ™to %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Przetwarzanie %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "UkoĹ„czono" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Uwierzytelnienie siÄ™ nie powiodĹ‚o" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Pobieranie" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Bezczynny" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Sieć jest niedostÄ™pna" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Szczegóły" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Plik" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Pobrano %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Pobrano" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Wymagany noĹ›nik CD/DVD \"%s\"" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "ProszÄ™ wsunąć powyĹĽszÄ… pĹ‚ytÄ™ CD/DVD do napÄ™du \"%s\", aby zainstalować z " "niej pakiety oprogramowania." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_Kontynuuj" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Zaintaluj" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Zainstaluj ponownie" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "UsuĹ„" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "UsuĹ„ z konfiguracjÄ…" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Zaktualizuj" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Przywróć poprzedniÄ… wersjÄ™" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "PomiĹ„ aktualizacjÄ™" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "ProszÄ™ obejrzeć na listÄ™ zmian poniĹĽej." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "NaleĹĽy zainstalować dodatkowe oprogramowanie" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "NaleĹĽy zainstalować ponownie dodatkowe oprogramowanie" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "NaleĹĽy usunąć dodatkowe oprogramowanie" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "NaleĹĽy usunąć wraz z konfiguracjÄ… dodatkowe oprogramowanie" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "NaleĹĽy zaktualizować dodatkowe oprogramowanie" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "NaleĹĽy przywrĂłcić poprzedniÄ… wersjÄ™ dodatkowego oprogramowania" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Aktualizacje zostanÄ… pominiÄ™te" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Wymagane sÄ… dodatkowe zmiany" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB do pobranie ogółem." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB miejsca na dysku zostanie zwolnione." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB wiÄ™cej miejsca na dysku zostanie uĹĽyte." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "Czy zastÄ…pić zmiany w '%s' późniejszymi plikami konfiguracji?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "JeĹĽeli nie wiesz dlaczego plik juĹĽ istnieje, najbezpieczniej bÄ™dzie go " "zastÄ…pić." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Zmiany" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "Za_chowaj" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_ZamieĹ„" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Szczegóły" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Oczekiwanie na zamkniÄ™cie programu %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Pobieranie %(files)s" msgstr[1] "Pobieranie %(files)s" msgstr[2] "Pobieranie %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "repozytorium lokalne" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Pobieranie z %s" msgstr[1] "Pobieranie z %s" msgstr[2] "Pobieranie z %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Struktura %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Opis %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Opis sygnatury %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "DostÄ™pne pakiety z %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "DostÄ™pne ĹşrĂłdĹ‚a z %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "DostÄ™pne tĹ‚umaczenia z %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "TĹ‚umaczenia dla jÄ™zyka %s (%s), z %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "TĹ‚umaczenia w jÄ™zyku %s z %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "TĹ‚umaczenia(%s) z %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Pakiet %s jest niedostÄ™pny" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pakiet %s nie jest zainstalowany" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Wersja %s pakietu %s nie jest zainstalowana" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Pakiet %s jest juĹĽ zainstalowany" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Wersja %s pakietu %s jest niedostÄ™pna." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Adres URL serwera kluczy jest nieprawidĹ‚owy: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "NieprawidĹ‚owy protokół serwera: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "NieprawidĹ‚owy identyfikator klucza: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Nie udaĹ‚o siÄ™ pobrać i zainstalować klucza %s z %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Plik klucza %s nie mĂłgĹ‚ być zainstalowany: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Klucz z odciskiem palca %s nie mĂłgĹ‚ być usuniÄ™ty: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "UsuniÄ™cie pakietu %s nie jest moĹĽliwe." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Wersja %s pakietu %s nie jest zainstalowana" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Poprzednia wersja %s pakietu %s jest juĹĽ zainstalowana" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Wersja %s pakietu %s jest juĹĽ zainstalowana" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Wersja %s pakietu %s jest niedostÄ™pna" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "NaleĹĽy sprecyzować do ktĂłrej wersji zdezaktualizować %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Nowsza wersja %s pakietu %s jest juĹĽ zainstalowana" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Pakiet %s jest niedostÄ™pny w tym wydaniu %s ." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Pakiet %s nie moĹĽe zostać usuniÄ™ty" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Ten pakiet nie dostarcza aktualnej informacji o rozmiarze instalacji. " "Szczegóły w Debian Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Klucz licencji jest pusty" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Klucz licencyjny nie moĹĽe zawierać kodu wykonawczego." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "ĹšcieĹĽka %s klucza licencyjnego jest nieprawidĹ‚owa" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Klucz licencyjny juĹĽ istnieje: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Lokalizacja klucza licencyjnego jest niezabezpieczona, poniewaĹĽ zawiera " "dowiÄ…zania symboliczne. ĹšcieĹĽka %s prowadzi do %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" "Katalog, w ktĂłrym ma być zainstalowany klucz, jeszcze nie istnieje: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Nie moĹĽna zapisać pliku klucza do: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "ZaleĹĽnoĹ›ci dla nastÄ™pujÄ…cych pakietĂłw, nie zostaĹ‚y speĹ‚nione:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "to jest pakiet wirtualny" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ale zostaĹ‚ zainstalowany" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ale nie zostanie zainstalowany" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ale %s jest zainstalowany" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ale %s zostanie zainstalowany" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Dodanie klucza do listy zaufanych dostawcĂłw siÄ™ nie powiodĹ‚o" aptdaemon-1.1.1/po/it.po0000644000175000017500000013646412117271433015651 0ustar renaterenate00000000000000# Italian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # Luca Ferretti , 2009. msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-28 09:35+0000\n" "Last-Translator: Milo Casagrande \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Elenca le chiavi di vendor fidati" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Ă necessario autenticarsi per visualizzare l'elenco delle chiavi fidate." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Rimuove file di pacchetto scaricati" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Ă necessario autenticarsi per pulire i file di pacchetto scaricati." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Modifica la configurazione software" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Ă necessario autenticarsi per modificare le impostazioni software." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Modifica il repository software" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Ă necessario autenticarsi per modificare le impostazioni dei repository " "software." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Installa il file di pacchetto" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Ă necessario autenticarsi per installare questo pacchetto." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Aggiorna le informazioni dei pacchetti" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Ă necessario autenticarsi per aggiornare il catalogo del software." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Installa o rimuove pacchetti" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Ă necessario autenticarsi per installare o rimuovere pacchetti." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Installa software da un repository altamente fidato in whitelist" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Ă richiesto autenticarsi per installare software" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" "Aggiunge un nuovo repository e installa pacchetti che provengono da questo" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Ă necessario autenticarsi per installare software da una nuova sorgente." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Aggiunge un nuovo repository di software acquistato e installa pacchetti che " "provengono da questo" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Ă necessario autenticarsi per installare software acquistato." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Esegui l'avanzamento dei pacchetti" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Ă necessario autenticarsi per installare software aggiornato." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Annulla l'attivitĂ  di un altro utente" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Ă necessario autenticarsi per annullare le modifiche al software fatte da " "altri." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Imposta un proxy per scaricare software" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "Ă necessario autenticarsi per usare un proxy per scaricare software." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERRORE" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Scaricati %sB su %sB a %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Scaricati %sB su %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERRORE:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Non è consentito compiere questa azione." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Accodamento" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Risoluzione delle dipendenze" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Il seguente pacchetto nuovo verrĂ  installato (%(count)s):" msgstr[1] "I seguenti pacchetti nuovi verranno installati (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Il seguente pacchetto verrĂ  aggiornato (%(count)s):" msgstr[1] "I seguenti pacchetti verranno aggiornati (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Il seguente pacchetto verrĂ  rimosso (%(count)s):" msgstr[1] "I seguenti pacchetti verranno rimossi (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" "Il seguente pacchetto verrĂ  riportato alla versione precedente (%(count)s):" msgstr[1] "" "I seguentI pacchettI verranno riportati alla versione precedente (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Il seguente pacchetto verrĂ  reinstallato (%(count)s):" msgstr[1] "I seguenti pacchetti verranno reinstallati (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Il seguente pacchetto è stato mantenuto (%(count)s):" msgstr[1] "I seguenti pacchetti sono stati mantenuti (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Ă necessario scaricare %sB di archivi." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Dopo questa operazione verranno utilizzati %sB di spazio aggiuntivo." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Dopo questa operazione verranno liberati %sB di spazio disco." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Continuare? [S/n]" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Per agire su piĂą di un pacchetto mettere i nomi dei pacchetti tra " "virgolette:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Aggiorna la cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Provare a risolvere le dipendenze danneggiate (operazione potenzialmente " "pericolosa in quanto potrebbe rimuovere molti pacchetti)." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Prova a terminare una precedente installazione incompleta" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Installa i pacchetti indicati" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstalla i pacchetti forniti" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Rimuove i pacchetti forniti" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Rimuove i pacchetti forniti compresi i file di configurazione" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Porta alla versione precedente i pacchetti selezionati" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Deprecata: usare --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Aggiorna il sistema in modo sicuro" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Aggiorna il sistema, possibilmente installando e rimuovendo pacchetti" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Aggiunge il vendor tra quelli fidati" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "Aggiunge l'ID della chiave del vendor (necessario usare anche --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Usa il server di chiavi fornito per cercare le chiavi" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Aggiunge un nuovo repository dalla deb-line fornita" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Specifica un file sources.list.d alternativo a cui aggiungere i repository" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Elenca le chiavi fidate dei vendor" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Rimuove la chiave fidata della firma fornita" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Riconfigura i pacchetti installati; la prioritĂ  minima delle domande può " "essere specificata opzionalmente" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "La prioritĂ  debconf minima delle domande da visualizzare" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Non si collega al terminale apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Consente pacchetti da sorgenti non autenticate" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Mostra informazioni aggiuntive sui pacchetti, attualmente solo il numero di " "versione" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "In attesa dell'autenticazione" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Non arresta il demone per inattivitĂ " #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Non caricare alcun plugin" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Mostra informazioni di elaborazione interne" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Esce e sostituisce un demone giĂ  in esecuzione" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Resta in ascolto sul bus D-Bus di sessione (solo per eseguire test)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Esegue operazioni nel chroot fornito" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Memorizza le statistiche di profilo nel file specificato" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Non applica alcuna modifica al sistema (utile solo per sviluppatori)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "File installati" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Pacchetti installati" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Chiave aggiunta dal file" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Cache aggiornata" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Ricerca terminata" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Chiave fidata rimossa" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Pacchetti rimossi" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Pacchetti aggiornati" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistema avanzato" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Cambiamenti applicati" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Installazione incompleta riparata" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Dipendenze mancanti riparate" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Sorgente software aggiunta" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Componente della distribuzione abilitato" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "File di pacchetto scaricati eliminati" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Pacchetti installati riconfigurati" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Riuscito" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Annullato" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Non riuscito" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installazione del file" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installazione pacchetti" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Aggiunta della chiave dal file" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Aggiornamento della cache" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Rimozione della chiave fidata" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Rimozione dei pacchetti" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Aggiornamento pacchetti" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Avanzamento del sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Applicazione delle modifiche" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Riparazione installazione incompleta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Riparazione software installato" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Aggiunta sorgente software" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Abilitazione componente della distribuzione" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Eliminazione dei file di pacchetto scaricati" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Riconfigurazione dei pacchetti installati" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Ricerca" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Installazione del file di pacchetto non riuscita" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Installazione del software non riuscita" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Aggiunta della chiave all'elenco dei vendor software fidati non riuscita" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Aggiornamento dell'elenco del software non riuscito" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Rimozione del vendor di software dall'elenco di quelli fidati non riuscita" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Rimozione software non riuscita" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Aggiornamento software non riuscito" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Avanzamento del sistema non riuscito" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Applicazione delle modifiche software non riuscita" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Riparazione dell'installazione incompleta non riuscita" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Riparazione delle dipendenze mancanti non riuscita" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Aggiunta della sorgente software non riuscita" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Abilitazione del componente della distribuzione non riuscita" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Eliminazione dei file di pacchetto scaricati non riuscita" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Ricerca non riuscita" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Aggiunta chiave licenza" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Controllare la propria connessione a Internet." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Verificare se sono in uso repository di terze parti. Qualora così fosse, " "disabilitarli, poichĂ© questi sono talvolta causa di problemi.\n" "Inoltre eseguire il seguente comando in un terminale: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Il file selezionato potrebbe non essere un file di chiave GPG o potrebbe " "essere danneggiato." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "La chiave selezionata non può essere rimossa. Verificare di aver fornito una " "firma valida." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Verificare che un altro strumento per la gestione del software (come " "Synpatic o aptitude) non sia in esecuzione. Solo uno strumento di gestione " "del software è autorizzato a effettuare modifiche." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Questo è un problema grave. Provare di nuovo in un secondo momento. Se il " "problema compare ancora, segnalare l'errore agli sviluppatori." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Verificare che il nome del pacchetto sia corretto e che il suo repository " "sia attivo." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Non c'è alcuna necessitĂ  di un aggiornamento." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Non c'è alcuna necessitĂ  di una installazione" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Non c'è alcuna necessitĂ  di una rimozione." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Ă stato richiesto di rimuovere un pacchetto che è una parte essenziale del " "sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "La connessione al demone è stata persa. Probabilmente il demone in " "background è andato in crash." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Installazione o la rimozione di un pacchetto software non riuscita." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "La funziona richiesta non è supportata." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Sembra esserci un errore di programmazione in aptdaemon, il software che " "consente di installare e rimuovere programmi e di eseguire altre attivitĂ  di " "gestione dei pacchetti." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Questo problema potrebbe essere causato dalla mancanza o dalla possibilitĂ  " "di non installare pacchetti software aggiuntivi. Potrebbe inoltre esserci un " "conflitto tra pacchetti software che non possono essere installati nello " "stesso momento." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Ciò richiede l'installazione di pacchetti da sorgenti non autenticate." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "L'installazione potrebbe non essere riuscita a causa di un errore nel " "relativo pacchetto software oppure non è stata annullata correttamente. Ă " "necessario riparare questo pacchetto prima di poter installare o rimuovere " "qualsiasi altro software." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "Copiare i file nel proprio computer e controllarne i permessi." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "L'installazione di un pacchetto che viola gli standard qualitativi non è " "consentita: potrebbe causare seri problemi al proprio computer. Contattare " "la persona o la societĂ  che ha fornito questo file di pacchetto e includere " "i dettagli sottostanti." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "La chiave di licenza scaricata, necessaria per eseguire questa parte di " "software, non è valida oppure non è installata in modo corretto.\n" "Consultare i dettagli per maggiori informazioni." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Tutti gli aggiornamenti disponibili sono giĂ  stati installati." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Non è possibile scaricare la chiave di licenza che consente di usare questa " "parte di software. Controllare la connessione di rete." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Permessi non sufficienti per eseguire questa azione." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Ă stata fornita una password errata o l'autorizzazione è stata annullata.\n" "Nel caso in cui non sia stata richiesta la password, potrebbe essere dovuto " "a un errore tecnico: l'ambiente grafico non fornisce un servizio per " "PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Scaricamento dei file di pacchetto non riuscito" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Scaricamento delle informazioni del repository non riuscito" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Le dipendenze dei pacchetti non possono essere risolte" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Il sistema di pacchetti è danneggiato" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "La chiave non è stata installata" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "La chiave non è stata rimossa" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Blocco del gestore di pacchetti non riuscito" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Caricamento dell'elenco di pacchetti non riuscito" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Il pacchetto non esiste" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Il pacchetto è giĂ  aggiornato" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Il pacchetto è giĂ  installato" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Il pacchetto non è installato" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Rimozione di pacchetto di sistema essenziale non riuscita" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Impossibile monitorare o controllare le attivitĂ " #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Operazione di pacchetto non riuscita" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Richiede l'installazione di pacchetti non fidati" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "L'installazione precedente non è stata completata" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Il pacchetto è di cattiva qualitĂ " #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Impossibile aprire il file di pacchetto" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Funzione non supportata" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Scaricamento della chiave di licenza non riuscito" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Installazione della chiave di licenza non riuscita" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Il sistema è giĂ  aggiornato" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Impossibile eseguire l'autorizzazione" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Non è consentito eseguire questa azione" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Si è verificato un errore non gestibile" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "In attesa dell'avvio del servizio" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "In attesa" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "In attesa del supporto richiesto" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "In attesa dell'uscita di altri gestori di software" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "In attesa della richiesta del file di configurazione" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Esecuzione attivitĂ " #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Scaricamento" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Interrogazione sorgenti software" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Pulizia" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Terminato" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Annullamento" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Caricamento elenco software" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installazione di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configurazione di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Rimozione di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Rimozione completa di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Notata la sparizione di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Esecuzione comando di post installazione %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Avanzamento di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Estrazione di %s in corso" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Preparazione dell'installazione di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Preparazione della configurazione di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Preparazione della rimozione di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Preparazione della rimozione completa di %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Pacchetto %s installato" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Pacchetto %s rimosso completamente" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Pacchetto %s rimosso" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Elaborazione di %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Fatto" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Autenticazione non riuscita" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Scaricamento" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inattivo" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Rete non disponibile" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Dettagli" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "File" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Scaricati %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Scaricati" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Ă richiesto il CD/DVD «%s»" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Inserire il CD/DVD nell'unitĂ  «%s» per installare pacchetti software dal " "supporto." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinua" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Installa" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstalla" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Rimuovi" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Elimina" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Aggiorna" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Retrocedi" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Salta aggiornamento" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Controllare l'elenco delle modifiche." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Ă necessario installare software aggiuntivo" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Ă necessario reinstallare software aggiuntivo" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Ă necessario rimuovere software aggiuntivo" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Ă necessario eliminare software aggiuntivo" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Ă necessario aggiornare software aggiuntivo" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Ă necessario retrocedere software aggiuntivo" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Gli aggiornamenti verranno tralasciati" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Sono richieste ulteriori modifiche" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "In tutto verranno scaricati %sB." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Verranno liberati %sB di spazio su disco." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Ulteriori %sB verranno utilizzati sul disco." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Sostituire le proprie modifiche a «%s» con una versione piĂą recente del file " "di configurazione?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Qualora si ingori il motivo di questo messaggio, è consigliabile scegliere " "di sostituire il file." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "Modifi_che" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Mantieni" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Sostituisci" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Dettagli" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Attesa della chiusura di %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Scaricamento di %(files)s" msgstr[1] "Scaricamento di %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "repository locale" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Scaricamento da %s" msgstr[1] "Scaricamento da %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Struttura di %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Descrizione di %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Firma della descrizione di %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Pacchetti disponibili da %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Sorgenti disponibili da %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Traduzioni disponibili da %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Traduzioni per %s (%s) da %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Traduzioni per %s da %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traduzioni (%s) da %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Il pacchetto %s non è disponibile" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Il pacchetto %s non è installato" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "La versione %s di %s non è installata" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Il pacchetto %s è giĂ  installato" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "La versione %s di %s non è disponibile." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "L'URL del server di chiavi non è valido: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Protocollo del server non valido: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Id della chiave non valido: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Scaricamento e installazione della chiave %s da %s non riusciti:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Impossibile installare il file di chiave %s: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Impossibile rimuovere la chiave con impronta %s: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Impossibile rimuovere il pacchetto %s." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "La versione %s di %s non è installata" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "La precedente versione %s di %s è giĂ  installata" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "La versione %s di %s è giĂ  installata" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "La versione %s di %s non è disponibile." #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Specificare a quale versione precedente riportare %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "L'ultima versione %s di %s è giĂ  installata" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Il pacchetto %s non è disponibile nel rilascio %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Impossibile rimuovere il pacchetto %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Il pacchetto non fornisce un campo di controllo Installed-Size valido. " "Consultare la «Debian Policy 5.6.20»." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "La chiave di licenza è vuota" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "La chiave di licenza non può contenere codice eseguibile." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Il percorso %s della chiave di licenza non è valido." #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "La chiave di licenza esiste giĂ : %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "La posizione della chiave di licenza non è sicura, poichĂ© contiene " "collegamenti simbolici. Il percorso %s è mappato su %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "La directory in cui installare la chiave non esiste ancora: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Scrittura del file chiave su %s non riuscita" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "I seguenti pacchetti presentano dipendenze non soddisfatte:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "ma è un pacchetto virtuale" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ma non è installato" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ma non sta per essere installato" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ma %s è installato" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ma %s sta per essere installato" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Aggiunta della chiave all'elenco dei vendor di software fidati non riuscita" aptdaemon-1.1.1/po/bn.po0000644000175000017500000017671412117271433015636 0ustar renaterenate00000000000000# Bengali translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # Ayesha Akhtar , 2012. # Robin Mehdee , 2012. msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-04-04 04:03+0000\n" "Last-Translator: Robin Mehdee \n" "Language-Team: Bengali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "বিশ্বস্ত ভেন্ডরদের কী-সমূহের তালিকা কর" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "বিশ্বস্ত কী এর তালিকা প্রদর্শন করতে, আপনাকে পরিচয় দিতে হবে।" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "ডাউনলোড করা প্যাকেজ ফাইলসমূহ অপসারণ কর" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "ডাউনলোড করা প্যাকেজগŕ§ŕ¦˛ŕ§‹ মŕ§ŕ¦›ŕ§‡ ফেলতে হলে আপনাকে পরিচয় দিতে হবে৷" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "সফটওয়্যার কনফিগারেশন পরিবর্তন করŕ§ŕ¦¨" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "সফটওয়্যার সেটিংস পরিবর্তন করতে হলে আপনাকে পরিচয় দিতে হবে৷" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "সফটওয়্যার রিপোজিটরী পরিবর্তন করŕ§ŕ¦¨" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "সফটওয়্যার রিপোজিটরী সেটিংস পরিবর্তন করতে আপনাকে আপনার পরিচয় দিতে হবে।" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "প্যাকেজ ফাইল ইন্সটল করŕ§ŕ¦¨" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "এই প্যাকেজটি ইন্সটল করতে হলে, আপনাকে পরিচয় দিতে হবে৷" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "প্যাকেজের তথ্য আপডেট করো" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "সফটওয়্যার ক্যাটালগ হালনাগাদ করতে, আপনাকে পরিচয় দিতে হবে।" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "প্যাকেজ ইন্সটল কিংবা অপসারণ করŕ§ŕ¦¨" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "কোন সফটওয়্যার ইন্সটল করতে বা মŕ§ŕ¦›ŕ§‡ ফেলতে হলে আপনাকে পরিচয় দিতে হবে৷" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "একটি নতŕ§ŕ¦¨ রিপোজটরী যŕ§ŕ¦•্ত করŕ§ŕ¦¨ এবং এর থেকে প্যাকেজ ইন্সটল করŕ§ŕ¦¨" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "নতŕ§ŕ¦¨ উৎস থেকে সফটওয়্যার ইনস্টল করতে, আপনাকে পরিচয় দিতে হবে।" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "কেনা সফটওয়্যারের একটি নতŕ§ŕ¦¨ রিপোজটরী যŕ§ŕ¦•্ত করŕ§ŕ¦¨ এবং এর থেকে প্যাকেজ ইন্সটল " "করŕ§ŕ¦¨" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "ক্রয়কŕ§ŕ¦¤ সফটওয়্যার ইন্সটল করতে হলে আপনাকে পরিচয় দিতে হবে৷" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "প্যাকেজ সমূহ আপগ্রেড করো" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "হালনাগাদকŕ§ŕ¦¤ সফটওয়্যার ইনস্টল করতে, আপনাকে পরিচয় দিতে হবে।" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "অন্য ব্যবহারকারির কাজ বন্ধ করŕ§ŕ¦¨" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "অন্য কারও সফটওয়্যার পরিবর্তন বাতিল করতে আপনাকে আপনার পরিচয় দিতে হবে।" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "সফটওয়্যার ডাউনলোড করার জন্য একটি প্রক্সি নির্দিষ্ট করŕ§ŕ¦¨" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "সফটওয়্যার ডাউনলোডের জন্য প্রক্সি সার্ভার ব্যবহার করতে, আপনাকে পরিচয় দিতে " "হবে।" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ত্রŕ§ŕ¦źŕ¦ż" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "ডাউনলোড করা হয়েছে %sB, %sB এর মধ্যে %sB/s গতিতে" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "ডাউনলোড করা হয়েছে %sB, %sB এর মধ্যে" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ত্রŕ§ŕ¦źŕ¦ż:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "আপনি এই কাজ সম্পাদনের জন্য অনŕ§ŕ¦®ŕ¦¤ŕ¦żŕ¦Şŕ§Ťŕ¦°ŕ¦ľŕ¦Şŕ§Ťŕ¦¤ নন" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "সারিতে অনর্ভŕ§ŕ¦•্ত করা হচ্ছে" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ডিপেন্ডেসি ঠিক করা হচ্ছে" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "উল্লেখিত নতŕ§ŕ¦¨ প্যাকেজ ইন্সটল করা হবে (%(count)s):" msgstr[1] "উল্লেখিত নতŕ§ŕ¦¨ প্যাকেজ ইন্সটল করা হবে (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "উল্লেখিত প্যাকেজ উন্নীত করা হবে (%(count)s):" msgstr[1] "উল্লেখিত প্যাকেজ উন্নীত করা হবে (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "উল্লেখিত প্যাকেজ অপসারণ করা হবে (%(count)s):" msgstr[1] "উল্লেখিত প্যাকেজ অপসারণ করা হবে (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "উল্লেখিত প্যাকেজ অবনিত করা হবে (%(count)s):" msgstr[1] "উল্লেখিত প্যাকেজ অবনিত করা হবে (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "উল্লেখিত প্যাকেজ পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź ইন্সটল করা হবে (%(count)s):" msgstr[1] "উল্লেখিত প্যাকেজ পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź ইন্সটল করা হবে (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "উল্লেখিত প্যাকেজ পিছনে রাখা হয়েছে (%(count)s):" msgstr[1] "উল্লেখিত প্যাকেজ পিছনে রাখা হয়েছে (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "আর্কাইভের %sB পাওয়া প্রয়োজন।" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "এই অপারেশনের পরে, ডিস্কের অতিরিক্ত %sB জায়গা ব্যবহŕ§ŕ¦¤ হবে।" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "এই অপারেশনের পরে, ডিস্কের অতিরিক্ত %sB জায়গা খালি হবে।" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "আপনি কি চালিয়ে যেতে চান [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "একটির বেশি প্যাকেজ অপারেট করতে হলে প্যাকেজের নাম উদ্ধŕ§ŕ¦¤ŕ¦ż চিহ্নের মধ্যে রাখতে " "হবে:\n" "aptdcon --ইনস্টল \"ফৠবার\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "ক্যাশ রিফ্রেশ করŕ§ŕ¦¨" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "ভাঙ্গা নির্ভরশীলতা পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź ঠিক করতে চেষ্টা করŕ§ŕ¦¨ŕĄ¤ সম্ভাব্যরূপে বিপদজনক অপারেশন " "ইতোমধ্যে এটা অনেক প্যাকেজ অপসারণ করতে চেষ্টা করেছে।" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "পূর্ববর্তী অসম্পূর্ণ ইনস্টলেশন সম্পন্ন করতে চেষ্টা করŕ§ŕ¦¨" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "প্রদত্ত প্যাকেজ ইনস্টল" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "প্রদত্ত প্যাকেজ পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź ইনস্টল" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "প্রদত্ত প্যাকেজ অপসারণ" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "কনফিগারেশন ফাইলসহ প্রদত্ত প্যাকেজ অপসারণ" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "প্রদত্ত প্যাকেজ অবনিতকরণ" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "অবলোপ করা: অনŕ§ŕ¦—্রহ করে ব্যবহার করŕ§ŕ¦¨ --নিরাপদ-উন্নীত করŕ§ŕ¦¨" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "সিস্টেম নিরাপদে উন্নীত করŕ§ŕ¦¨" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "সিস্টেম উন্নীত করŕ§ŕ¦¨, সম্ভবত প্যাকেজ ইনস্টল এবং অপসারণ করা হচ্ছে" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "বিশ্বস্ত একজনকে ভেন্ডর সংযŕ§ŕ¦•্ত করŕ§ŕ¦¨" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "ভেন্ডর কী আইডি সংযŕ§ŕ¦•্ত করŕ§ŕ¦¨ (আরও প্রয়োজন --কী সার্ভার)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "কী খŕ§ŕ¦ŕ¦śŕ¦¤ŕ§‡ প্রদত্ত কী সার্ভার ব্যবহার করŕ§ŕ¦¨" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "প্রদত্ত deb-line থেকে নতŕ§ŕ¦¨ রিপোজিটরী যŕ§ŕ¦•্ত করŕ§ŕ¦¨" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "বিকল্প sources.list.d file কোন রিপোজিটরিতে সংযŕ§ŕ¦•্ত করা উচিত তা " "সŕ§ŕ¦¨ŕ¦żŕ¦°ŕ§Ťŕ¦¦ŕ¦żŕ¦·ŕ§Ťŕ¦źŕ¦­ŕ¦ľŕ¦¬ŕ§‡ উল্লেখ করŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "বিশ্বস্ত ভেন্ডর কীর তালিকা" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "প্রদত্ত অাঙ্গŕ§ŕ¦˛ŕ§‡ŕ¦° ছাপের বিশ্বস্ত কী অপসারণ" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "ইন্সটলকŕ§ŕ¦¤ প্যাকেজ পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź কনফিগার করŕ§ŕ¦¨ŕĄ¤ বিকল্পরূপে প্রশ্নের সর্বনিম্ন " "অগ্রাধিকার উল্লেখিত হতে পারে" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "প্রশ্নের সর্বনিম্ন debconf অগ্রাধিকার প্রদর্শিত হবে" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "apt টার্মিনালে সংযŕ§ŕ¦•্ত করবেন না" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "অপরিচিত উৎস থেকে প্যাকেজ অনŕ§ŕ¦®ŕ§‹ŕ¦¦ŕ¦¨" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "প্যাকেজ সম্পর্কে অতিরিক্ত তথ্য প্রদর্শন। বর্তমানে শŕ§ŕ¦§ŕ§ সংস্করণ সংখ্যা" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "প্রমাণীকরণের জন্য অপেক্ষা করা হচ্ছে" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "ডিমন নিষ্ক্রিয় হলে তা বন্ধ করবেন না" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "কোন প্লাগইন লোড করা হবে না" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "অভ্যন্তরীন প্রসেসিং তথ্য দেখাও" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "বন্ধ করে কোন চালৠথাকা ডিমন প্রতিস্থাপন করŕ§ŕ¦¨" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "DBus সেশন bus এ শŕ§ŕ¦¨ŕ§ŕ¦¨ (শŕ§ŕ¦§ŕ§ পরীক্ষার জন্য আবশ্যক" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "প্রদত্ত chroot এ অপারেশন সম্পাদন" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "প্রোফাইল-এর তথ্য নির্দিষ্ট ফাইলে রাখŕ§ŕ¦¨" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "সিস্টেমের কোন পরিবর্তন করবেন না (শŕ§ŕ¦§ŕ§ŕ¦®ŕ¦ľŕ¦¤ŕ§Ťŕ¦° ডেভেলপারের ব্যবহার)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "ইনস্টল করা ফাইল সমূহ" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "ইন্সটল করা প্যাকেজসমŕ§ŕ¦ą" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "ফাইল থেকে কী যŕ§ŕ¦•্ত হয়েছে" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "ক্যাশ আপগ্রেড করŕ§ŕ¦¨" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "অনŕ§ŕ¦¸ŕ¦¨ŕ§Ťŕ¦§ŕ¦ľŕ¦¨ সম্পন্ন" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "বিশ্বস্ত কী মŕ§ŕ¦›ŕ§‡ ফেলŕ§ŕ¦¨" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "মŕ§ŕ¦›ŕ§‡ ফেলা হয়েছে এমন প্যাকেজসমূহ" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "আপগ্রেড করা প্যাকেজসমূহ" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "আপগ্রেড করা সিস্টেম" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "পরিবর্তন সমূহ প্রয়োগ করা হয়েছে" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "অসম্পূর্ণ ইনস্টলেশন সংস্কার করা হয়েছে" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "ভাঙ্গা নির্ভরশীলতা সংস্কার করা হয়েছে" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "সফটওয়্যারের উৎস সংযŕ§ŕ¦•্ত করা হয়েছে" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "ডিসট্রিবিউশনের কম্পোনেন্ট সক্রিয়" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "ডাউনলোডকŕ§ŕ¦¤ প্যাকেজ ফাইল অপসারণ করা হয়েছে" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "ইন্সটলকŕ§ŕ¦¤ প্যাকেজ পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź কনফিগার করা হয়েছে" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "সফল" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "বাতিল করা হয়েছে" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "ব্যর্থ হয়েছে" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ফাইল ইনস্টল করা হচ্ছে" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "প্যাকেজ ইনস্টল করা হচ্ছে" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "ফাইল থেকে কী যোগ করা হচ্ছে" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ক্যাশ হালনাগাদ করা হচ্ছে" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "বিশ্বস্ত কী অপসারণ করা হচ্ছে" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "প্যাকেজ অপসারণ করা হচ্ছে" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "প্যাকেজ হালনাগাদ করা হচ্ছে" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "সিস্টেম উন্নীত করা হচ্ছে" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "পরিবর্তনসমূহ প্রয়োগ করা হচ্ছে" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "অসম্পূর্ণ ইনস্টলেশন সংস্কার করা হচ্ছে" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "ইন্সটলকŕ§ŕ¦¤ সফটওয়্যার সংস্কার করা হচ্ছে" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "সফটওয়্যার উৎস সংযŕ§ŕ¦•্ত করা হচ্ছে" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "ডিসট্রিবিউশনের কম্পোনেন্ট সক্রিয় করা হচ্ছে" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "ডাউনলোডকŕ§ŕ¦¤ প্যাকেজ ফাইল অপসারণ করা হচ্ছে" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "ইন্সটলকŕ§ŕ¦¤ প্যাকেজ পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź কনফিগার করা হচ্ছে" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "অনŕ§ŕ¦¸ŕ¦¨ŕ§Ťŕ¦§ŕ¦ľŕ¦¨ করা হচ্ছে" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "প্যাকেজ ফাইলের ইনস্টলেশন করতে ব্যর্থ" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "সফটওয়্যারের ইনস্টলেশন করতে ব্যর্থ" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "সফটওয়্যারের তালিকা রিফ্রেশ করতে ব্যর্থ" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "বিশ্বস্ত একজনের তালিকা থেকে ভেন্ডর অপসারণ করতে ব্যর্থ" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "সফটওয়্যার অপসারণ করতে ব্যর্থ" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "সফটওয়্যার হালনাগাদ করতে ব্যর্থ" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "সিস্টেম উন্নীত করতে ব্যর্থ" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "সফটওয়্যার পরিবর্তন প্রয়োগ করতে ব্যর্থ" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "অসম্পূর্ণ ইনস্টলেশন সংস্কার করতে ব্যর্থ" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "খন্ডিত নির্ভরশীলতা সংস্কার করতে ব্যর্থ" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "সফটওয়্যার উৎস সংযŕ§ŕ¦•্ত করতে ব্যর্থ" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "ডিস্ট্রিবিউশনের কম্পোনেন্ট সক্রিয় করতে ব্যর্থ" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "ডাউনলোডকŕ§ŕ¦¤ প্যাকেজ ফাইল অপসারণ করতে ব্যর্থ" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "অনŕ§ŕ¦¸ŕ¦¨ŕ§Ťŕ¦§ŕ¦ľŕ¦¨ ব্যর্থ হয়েছে" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "লাইসেন্স কী যোগ করা হচ্ছে" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "আপনার ইন্টারনেট সংযোগ পরীক্ষা করŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "আপনি তŕ§ŕ¦¤ŕ§€ŕ§ź পক্ষের কোন রিপোজিটরি ব্যবহার করেছেন কিনা পরীক্ষা করŕ§ŕ¦¨ŕĄ¤ যদি তাদের " "নিষ্ক্রিয় করা হয়, ইতোমধ্যে এটি সাধারণ সমস্যার উৎস।\n" "এছাড়াও টার্মিনালে উল্লেখিত কমান্ড চালান: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "নির্বাচিত ফাইলটি সম্ভবতঠকোন GPG কী ফাইল নয় অথবা এটি ত্রŕ§ŕ¦źŕ¦żŕ¦Şŕ§‚র্ন।" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "নির্বাচিত কী অপসারণ করা যায়নি। কার্যকর আঙ্গŕ§ŕ¦˛ŕ§‡ŕ¦° ছাপ সরবরাহ করেছেন কিনা তা " "পরীক্ষা করŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "পরীক্ষা করŕ§ŕ¦¨ যদি আপনি বর্তমানে অন্য সফটওয়্যার ব্যবস্থাপক টŕ§ŕ§‡ŕ¦˛ সচল থাকেন, " "উদাহরণ স্বরূপ সিন্যাপটিক অথবা এপটিটিউড। একটি মাত্র টŕ§ŕ¦˛ একইসময়ে পরিবর্তন করতে " "অনŕ§ŕ¦®ŕ¦¤ŕ¦ż দেয়।" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "এটি একটি কঠিন সমস্যা। পরবর্তীতে আবার চেষ্টা করŕ§ŕ¦¨ŕĄ¤ যদি এই সমস্যা আবার " "দŕ§ŕ¦·ŕ§Ťŕ¦źŕ¦żŕ¦—োচর হয়, অনŕ§ŕ¦—্রহ করে ডেভেলপারকে ত্রŕ§ŕ¦źŕ¦żŕ¦° রিপোর্ট দিন।" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "প্যাকেজের নামের বানান এবং সঠিক রিপোজিটরি সক্রিয় হয়েছে কি না- তা পরীক্ষা করŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "হালনাগাদ করার কোনো প্রয়োজন নেই।" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "ইনস্টলেশন করার কোনো প্রয়োজন নেই" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "অপসারণ করার কোনো প্রয়োজন নেই।" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "আপনি অনŕ§ŕ¦°ŕ§‹ŕ¦§ করেছেন প্যাকেজ অপসারণ করতে যা আপনার সিস্টেমের অত্যাবশ্যক অংশ।" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "daemon এর সংযোগ বিচ্ছিন্ন হয়েছে। খŕ§ŕ¦¬ সম্ভবত daemon এর পটভূমি ক্র্যাশ করেছে।" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "সফটওয়্যার প্যাকেজের ইনস্টলেশন অথবা অপসারণ ব্যর্থ।" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "অনŕ§ŕ¦°ŕ§‹ŕ¦§ŕ¦•ŕ§ŕ¦¤ বŕ§ŕ¦¶ŕ¦żŕ¦·ŕ§Ťŕ¦źŕ§Ťŕ¦Ż সমর্থিত হয়েছে।" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "এপ্টডিমন, যে সফটওয়্যারটি আপনাকে অন্য সফটওয়্যার ইনস্টল/অপসারণ করতে দেয় ও " "অন্যান্য প্যাকেজ ব্যবস্থাপনা সম্পর্কিত কাজ করতে দেয়, তাতে কোন প্রোগ্রামিং " "ত্রŕ§ŕ¦źŕ¦ż হয়ে থাকতে পারে।" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "অত্যাবশ্যক অতিরিক্ত সফটওয়্যার প্যাকেজ দিয়ে এই ত্রŕ§ŕ¦źŕ¦ż ŕ¦ŕ¦źŕ¦¤ŕ§‡ পারে যা অনŕ§ŕ¦Şŕ¦¸ŕ§Ťŕ¦Ąŕ¦żŕ¦¤ " "অথবা ইন্সটলকŕ§ŕ¦¤ নয়। এছাড়াও দ্বন্দ্ব হতে পারে সফটওয়্যার প্যাকেজের মধ্যে যা একই " "সময়ে ইন্সটল হতে অনŕ§ŕ¦®ŕ¦¤ŕ¦ż দেয়না।" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "ইনস্টলেশনটি ব্যর্থ হতে পারে কারণ সংগতিপূর্ণ সফটওয়্যার প্যাকেজের ত্রŕ§ŕ¦źŕ¦ż অথবা " "প্রতিকূল ভাবে এটা বাতিল হয়েছে। আরো কোনো সফটওয়্যার ইনস্টল অথবা অপসারণ করার " "আগে এটা মেরামত করতে হবে।" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "অনŕ§ŕ¦—্রহ করে আপনার স্থানীয় কম্পিউটারে ফাইলটি অনŕ§ŕ¦˛ŕ¦żŕ¦Şŕ¦ż করŕ§ŕ¦¨ এবং ফাইলটির অনŕ§ŕ¦®ŕ¦¤ŕ¦ż " "পরীক্ষা করŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "প্যাকেজের ইনস্টলেশনটি গŕ§ŕ¦Łŕ¦—ত মান লঙ্ŕ¦ŕ¦¨ করা মেনে নেয়না। আপনার কম্পিউটারে এটা " "কঠিন সমস্যার কারণ হতে পারে। অনŕ§ŕ¦—্রহ করে এই প্যাকেজ ফাইল যে ব্যক্তি বা সংগঠন " "সরবরাহ করেছে তার সাথে যোগাযোগ করŕ§ŕ¦¨ এবং নিচে বিস্তারিত তথ্য সংযŕ§ŕ¦•্ত করŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "ডাউনলোডকŕ§ŕ¦¤ লাইসেন্স কী যা আবশ্যক এই সফটওয়্যারের অংশ সচল করতে কার্যকর নয় অথবা " "সঠিকভাবে ইন্সটল করা যায়নি।\n" "আরও বিস্তারিত তথ্যের জন্য দেখŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "সব বিদ্যমান উন্নীতকরণ ইতোমধ্যে ইন্সটল করা হয়েছে।" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "লাইসেন্স কী যা সফটওয়্যারের এই অংশ ডাউনলোড করা যায়নি ব্যবহার করতে আপনাকে " "অনŕ§ŕ¦®ŕ¦¤ŕ¦ż দেয়। অনŕ§ŕ¦—্রহ করে আপনার নেটওয়ার্কের সংযোগ পরীক্ষা করŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "প্যাকেজ ফাইল ডাউনলোড করতে ব্যর্থ" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "রিপোজিটরি তথ্য ডাউনলোড করতে ব্যর্থ" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "প্যাকেজ নির্ভরশীলতা পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź ঠিক করা হবেনা" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "প্যাকেজ সিস্টেমটি ভাঙ্গা হয়েছে" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "কী ইন্সটল করা হয়নি" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "কী অপসারণ করা হয়নি" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "প্যাকেজ ব্যবস্থাপক আবদ্ধ করতে ব্যর্থ" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "প্যাকেজ তালিকা লোড করতে ব্যর্থ" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "প্যাকেজ বিদ্যমান নয়" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "প্যাকেজ ইতোমধ্যে হালনাগাদ" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "প্যাকেজ ইতোমধ্যে ইন্সটল হয়েছে" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "প্যাকেজ ইন্সটল হয়নি" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "অপরিহার্য সিস্টেম প্যাকেজ অপসারণ করতে ব্যর্থ" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "টাস্ক লক্ষ্য বা নিয়ন্ত্রণ করতে পারছেনা" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "প্যাকেজ অপারেশন ব্যর্থ" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "অবিশ্বস্ত প্যাকেজের ইনস্টলেশন প্রয়োজন" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "পূর্ববর্তী ইনস্টলেশন সম্পন্ন করা হয়নি" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "প্যাকেজের গŕ§ŕ¦Łŕ¦—ত মান খারাপ" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "প্যাকেজ ফাইল খোলা যাচ্ছেনা" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "বŕ§ŕ¦¶ŕ¦żŕ¦·ŕ§Ťŕ¦źŕ§Ťŕ¦Ż সমর্থিত নয়" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "লাইসেন্সের কী ডাউনলোড করতে ব্যর্থ হয়েছে" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "লাইসেন্সের কী ইনস্টল করতে ব্যর্থ হয়েছে" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "পদ্ধতি ইতোমধ্যে হালনাগাদ" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "সামলানো যায়না এমন ত্রŕ§ŕ¦źŕ¦ż হয়েছে" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "সার্ভিস আরম্ভ করার জন্য অপেক্ষা করা হচ্ছে" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "অপেক্ষা করা হচ্ছে" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "প্রয়োজনীয় মাধ্যমের জন্য অপেক্ষা করা হচ্ছে" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "অন্যান্য সফটওয়্যার ব্যবস্থাপক শেষ করার জন্য অপেক্ষা করা হচ্ছে" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "কনফিগারেশন ফাইল প্রম্পটের জন্য অপেক্ষা করা হচ্ছে" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "টাস্ক চলছে" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ডাউনলোড করা হচ্ছে" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "সফটওয়্যারের উৎস কোয়েরি করা হচ্ছে" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "পরিষ্কার করা হচ্ছে" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "শেষ করা হচ্ছে" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "বাতিল করা হচ্ছে" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "সফটওয়্যারের তালিকা লোড করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s ইনস্টল করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s কনফিগার করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s অপসারণ করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s সম্পূর্ণরূপে অপসারণ করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "%s এ কোনো কিছŕ§ŕ¦‡ অদর্শন নেই" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "%s পোস্ট-ইনস্টলেশন ট্রিগার চালৠকরা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s উন্নীত করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s মোড়ক খোলা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "%s এর ইন্সটলেশন প্রস্তŕ§ŕ¦¤ করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "%s এর কনফিগারেশন প্রস্তŕ§ŕ¦¤ করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "%s এর অপসারণ প্রস্তŕ§ŕ¦¤ করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "%s এর সম্পূর্ণ অপসারণ প্রস্তŕ§ŕ¦¤ করা হচ্ছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s ইন্সটল করা হয়েছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s সম্পূর্ণরূপে অপসারণ করা হয়েছে" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s অপসারণ করা হয়েছে" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "প্রক্রিয়াধীন %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "সম্পন্ন" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "প্রমাণীকরণ ব্যর্থ" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "নিয়ে আসা হচ্ছে" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "নিষ্ক্রিয়" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "নেটওয়ার্ক বিদ্যমান নয়" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "বিস্তারিত তথ্য" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "ফাইল" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sB ডাউনলোড করা হয়েছে" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "ডাউনলোড করা হয়েছে" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "সিডি/ডিভিডি '%s প্রয়োজন" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "অনŕ§ŕ¦—্রহ করে সফটওয়্যার প্যাকেজ ইনস্টল করতে ড্রাইভ '%s' তে উপর থেকে CD/DVD " "প্রবেশ করান।" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "চালিয়ে যাওয়া (_O)" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ইনস্টল" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź ইনস্টল" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "অপসারণ" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "শŕ§ŕ¦¦ŕ§Ťŕ¦§ŕ¦żŕ¦•রণ" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "উন্নীত করা" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "অবনিত করা" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "উন্নীতকরণ বাদ দিয়ে যান" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "নিম্নের পরিবর্তনের দিকে লক্ষ্য করŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "অতিরিক্ত সফটওয়্যার হালনাগাদ করা হবে" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "অতিরিক্ত সফটওয়্যার পŕ§ŕ¦¨ŕ¦°ŕ¦ľŕ§ź ইন্সটল করা হবে" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "অতিরিক্ত সফটওয়্যার অপসারণ করা হবে" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "অতিরিক্ত সফটওয়্যার বিশোধিত করা হবে" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "অতিরিক্ত সফটওয়্যার উন্নীত করা হবে" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "অতিরিক্ত সফটওয়্যার অবনিত করা হবে" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "হালনাগাদ এড়িয়ে যাওয়া হবে" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "অতিরিক্ত পরিবর্তন প্রয়োজন" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "সর্বমোট %sB ডাউনলোড করা হবে।" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB ডিস্কের জায়গা খালি থাকবে।" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "ডিস্কের আরও %sB জায়গা ব্যবহŕ§ŕ¦¤ হবে।" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "কনফিগারেশন ফাইলের পরবর্তী সংস্করণ '%s' তে আপনার পরিবর্তন প্রতিস্থাপন?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "যদি ফাইলটি ইতোমধ্যে এখানে কেন তা আপনি না জানেন, প্রতিস্থাপন করতে এটা সাধারণত " "নিরাপদ।" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "পরিবর্তন (_C)" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "রাখা (_K)" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "প্রতিস্থাপন (_R)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "বিস্তারিত তথ্য (_D)" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "প্রস্থান করতে %s এর জন্য অপেক্ষা করা হচ্ছে" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "%(files)s ডাউনলোড করা হচ্ছে" msgstr[1] "%(files)s ডাউনলোড করা হচ্ছে" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "স্থানীয় রিপোজিটরী" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "%s থেকে ডাউনলোড করা হচ্ছে" msgstr[1] "%s থেকে ডাউনলোড করা হচ্ছে" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s এর কাঠামো" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s এর বর্ণনা" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%s এর স্বাক্ষর বর্ণনা" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "%s থেকে বিদ্যমান প্যাকেজ" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "%s থেকে বিদ্যমান উৎস" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "%s থেকে বিদ্যমান অনŕ§ŕ¦¬ŕ¦ľŕ¦¦" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%s (%s) এর জন্য অনŕ§ŕ¦¬ŕ¦ľŕ¦¦, %s থেকে" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s এর জন্য অনŕ§ŕ¦¬ŕ¦ľŕ¦¦, %s থেকে" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "(%s) অনŕ§ŕ¦¬ŕ¦ľŕ¦¦ %s থেকে" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "প্যাকেজ %s বিদ্যমান নয়" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "প্যাকেজ %s ইন্সটল করা হয়নি" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "সংস্করণ %s এর %s ইন্সটল করা হয়নি" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "প্যাকেজ %s ইতোমধ্যে ইন্সটল করা হয়েছে" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "সংস্করণ %s এর %s বিদ্যমান নয়।" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "%s থেকে %s কী ইনস্টল এবং ডাউনলোড করতে ব্যর্থ:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "কী ফাইল %s ইন্সটল করা যায়নি: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "আঙ্গŕ§ŕ¦˛ŕ§‡ŕ¦° ছাপ %s সহ কী অপসারণ করা যায়নি: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "প্যাকেজ %s অপসারণ হতে পারেনা।" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "সংস্করণ %s এর %s ইন্সটল করা হয়নি" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "বিগত সংস্করণ %s এর %s ইতোমধ্যে ইন্সটল করা হয়েছে" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "সংস্করণ %s এর %s ইতোমধ্যে ইন্সটল করা হয়েছে" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "সংস্করণ %s এর %s বিদ্যমান নয়" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "%s তে অবনিত করতে সংস্করণ সŕ§ŕ¦¨ŕ¦żŕ¦°ŕ§Ťŕ¦¦ŕ¦żŕ¦·ŕ§Ťŕ¦źŕ¦­ŕ¦ľŕ¦¬ŕ§‡ উল্লেখ করা প্রয়োজন" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "পরবর্তী সংস্করণ %s এর %s ইতোমধ্যে ইনস্টল করা হয়েছে" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "%s রিলিজে প্যাকেজ %s বিদ্যমান নয়।" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "প্যাকেজ %s অপসারণ হতে পারেনা" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "প্যাকেজটি কার্যকর ইন্সটলকŕ§ŕ¦¤-আকার কন্ট্রোল ক্ষেত্র সরবরাহ করেনা। ডেবিয়ান " "নীতিমালা ŕ§«.৬.২০ দেখŕ§ŕ¦¨ŕĄ¤" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "লাইসেন্স কী খালি" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "লাইসেন্স কী এক্সিকিউটেবল কোড ধারণ করতে অনŕ§ŕ¦®ŕ§‹ŕ¦¦ŕ¦żŕ¦¤ নয়।" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "লাইসেন্স কী এর পথ %s, অকার্যকর" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "লাইসেন্স কী ইতোমধ্যে বিদ্যমান: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "লাইসেন্স কী এর অবস্থান অনিরাপদ, কেননা এতে সাংকেতিক সংযŕ§ŕ¦•্তিসŕ§ŕ¦¤ŕ§Ťŕ¦° রয়েছে। %s " "পথটি %s কে নির্দেশ করছে।" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "কী ইন্সটল হবার উপযোগী ডিরেক্টরীটি এখনো বিদ্যমান নয়: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "কী ফাইল লিখতে ব্যর্থ: %s তে" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "নিম্নলিখিত প্যাকেজসমূহের নির্ভরশীলতায় অপূর্নতা রয়েছে:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "কিন্তৠএটা একটা পরাবাস্তব প্যাকেজ" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "কিন্তৠএটা ইন্সটল অবস্থায় নেই।" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "কিন্তৠএটা ইন্সটল করা সম্ভব হচ্ছে না" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "কিন্তৠ%s ইন্সটল করা রয়েছে" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "কিন্তৠ%s ইন্সটল করতে হবে" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "বিশ্বস্ত সফটওয়্যারের ভেন্ডরের তালিকার কী সংযŕ§ŕ¦•্ত করতে ব্যর্থ" aptdaemon-1.1.1/po/vi.po0000644000175000017500000014135312117271433015644 0ustar renaterenate00000000000000# Vietnamese translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-10-02 13:00+0000\n" "Last-Translator: Huynh Trong Nghia \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Liệt kĂŞ khĂła cá»§a các nhĂ  cung cấp uy tĂ­n" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Äá» xem danh sách các khĂła tin tưởng, bạn cáş§n phải xác thá»±c quyá»n." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Gỡ bỏ những táş­p tin cá»§a các gĂłi đã tải vá»" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Äá» xĂła sạch những táş­p tin cá»§a các gĂłi đã tải vá», bạn cáş§n xác thá»±c quyá»n." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Thay đổi cấu hình pháş§n má»m" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Äá» thay đổi tĂąy chỉnh cá»§a pháş§n má»m, bạn cáş§n xác thá»±c quyá»n." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Thay đổi kho pháş§n má»m" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Äá» thay đổi các cĂ i đặt kho pháş§n má»m, bạn cáş§n phải xác thá»±c quyá»n." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "CĂ i đặt táş­p tin gĂłi" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Äá» cĂ i đặt gĂłi nĂ y, bạn cáş§n phải xác thá»±c quyá»n." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Cáş­p nháş­t thĂ´ng tin gĂłi" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Äá» cáş­p nháş­t mục lục pháş§n má»m, bạn cáş§n phải xác thá»±c quyá»n." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "CĂ i đặt hay gỡ bỏ các gĂłi" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Äá» cĂ i đặt hay gỡ bỏ pháş§n má»m, bạn cáş§n phải xác thá»±c quyá»n" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "CĂ i đặt pháş§n má»m từ kho chứa uy tĂ­n." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Äá» cĂ i đặt pháş§n má»m, bạn cáş§n phải xác thá»±c." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "ThĂŞm má»™t kho pháş§n má»m má»›i vĂ  cĂ i đặt các gĂłi từ đó" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Äá» cĂ i đặt pháş§n má»m từ má»™t nguồn má»›i, bạn cáş§n phải xác thá»±c quyá»n." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "ThĂŞm má»™t kho pháş§n má»m trả phĂ­ má»›i vĂ  cĂ i đặt các gĂłi từ đó" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Äá» cĂ i đặt pháş§n má»m trả phĂ­, bạn cáş§n phải xác thá»±c quyá»n." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Nâng cấp gĂłi" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Äá» cĂ i đặt các pháş§n má»m cáş­p nháş­t, bạn cáş§n phải xác thá»±c quyá»n." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Há»§y bỏ nhiệm vụ cá»§a má»™t người dĂąng khác" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Äá» há»§y bỏ các thay đổi pháş§n má»m cá»§a má»™t ai đó khác, bạn cáş§n phải xác thá»±c " "quyá»n." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "CĂ i đặt má»™t proxy cho việc tải pháş§n má»m" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Äá» sá»­ dụng má»™t máy chá»§ proxy cho việc tải pháş§n má»m, bạn cáş§n phải xác thá»±c " "quyá»n." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "Lá»–I" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "ÄĂŁ tải %sB cá»§a %sB vá»›i tốc độ %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "ÄĂŁ tải vá» %sB cá»§a %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "Lá»—i:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Bạn khĂ´ng được phĂ©p thá»±c hiện hĂ nh động nĂ y." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Äang xáşżp hĂ ng" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Äang giải quyáşżt các phụ thuá»™c" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Những gĂłi má»›i sau đây sáş˝ được cĂ i đặt (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Những gĂłi sau đây sáş˝ được nâng cấp (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Những gĂłi sau đây sáş˝ được Gá»  BỎ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Những gĂłi sau đây sáş˝ được Háş  CẤP (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Những gĂłi sau đây sáş˝ được cĂ i đặt lại (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Những gĂłi sau đây đã được giữ lại (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Cáş§n lấy %sB lưu trữ." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Sau hĂ nh động nĂ y, %sB khĂ´ng gian đĩa sáş˝ được sá»­ dụng." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Sau hĂ nh động nĂ y, %sB khĂ´ng gian đĩa sáş˝ được giải phĂłng." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Bạn cĂł muốn tiáşżp tục [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Äá» thá»±c hiện trĂŞn nhiá»u gĂłi hĂŁy đỠtĂŞn các gĂłi trong dấu ngoáş·c kĂ©p:\n" "aptcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "LĂ m tươi bá»™ đệm" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Cố gắng đỠgiải quyáşżt các phụ thuá»™c bị hỏng. Äây lĂ  hĂ nh động tiá»m tĂ ng nguy " "hiá»m vì nĂł cĂł thá» sáş˝ gỡ bỏ rất nhiá»u gĂłi." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Cố gắng đỠhoĂ n tất má»™t cĂ i đặt khĂ´ng đầy đủ trước đó" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "CĂ i đặt các gĂłi cho trước" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "CĂ i đặt lại các gĂłi cho trước" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Gỡ bỏ các gĂłi cho trước" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Gỡ bỏ các gĂłi cho trước bao gồm cả các táş­p tin cấu hình" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Hạ cấp những gĂłi đã chọn" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Bị phản đối: HĂŁy sá»­ dụng --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Nâng cấp hệ thống má»™t cách an toĂ n" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Nâng cấp hệ thống, cĂł thá» cĂ i đặt hay gỡ bỏ các gĂłi" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "ThĂŞm nhĂ  cung cấp vĂ o danh sách uy tĂ­n" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "ThĂŞm keyid cá»§a nhĂ  cung cấp (cĹ©ng cáş§n --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Sá»­ dụng máy chá»§ khĂła cho trước đỠtìm các khĂła" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "ThĂŞm kho pháş§n má»m má»›i từ dòng deb cho trước" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Chỉ định má»™t táş­p tin sources.list.d thay tháşż chứa các kho pháş§n má»m được thĂŞm " "vĂ o." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Liệt kĂŞ các khĂła cá»§a nhĂ  cung cấp uy tĂ­n" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Gỡ bỏ khĂła uy tĂ­n cá»§a dấu vân tay cho trước" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Cấu hình lại những gĂłi đã cĂ i. Quyá»n ưu tiĂŞn tối thiá»u cá»§a các vấn đỠcĂł thá» " "được xác định (khĂ´ng bắt buá»™c)." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Quyá»n ưu tiĂŞn tối thiá»u cá»§a các vấn đỠvá» debconf được hiá»n thị" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "KhĂ´ng được gắn vĂ o dòng lệnh apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Cho phĂ©p các gĂłi từ những nguồn chưa xác thá»±c" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "Hiá»n thị thĂ´ng tin bổ sung vá» các gĂłi. Hiện tại chỉ cĂł số phiĂŞn bản" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Äang chờ xác thá»±c" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "KhĂ´ng nĂŞn tắt trình ná»n vì nĂł khĂ´ng hoạt động" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "KhĂ´ng nạp trình bổ sung nĂ o" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Hiá»n thị thĂ´ng tin xá»­ lĂ˝ ná»™i bá»™" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Thoát vĂ  thay tháşż má»™t trình ná»n Ä‘ang chạy sáşµn" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Nháş­n tĂ­n hiệu từ các bus phiĂŞn chạy DBus (Chỉ yĂŞu cáş§u đỠchạy thá»­" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Tiáşżn hĂ nh các thao tác trong chroot đã cho trước" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Lưu trữ thĂ´ng tin hồ sơ trong táş­p tin được chỉ định" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Äừng tạo bất cứ thay đổi nĂ o tá»›i hệ thống (Chỉ dĂąng cho các láş­p trình viĂŞn)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Táş­p tin đã cĂ i đặt" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Các gĂłi đã cĂ i đặt" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Các phĂ­m đã được thĂŞm vĂ o từ táş­p tin" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Bá»™ đêm đã cáş­p nháş­t" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Tìm kiáşżm xong" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Các phĂ­m tin tưởng đã gỡ bỏ" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Các gĂłi đã gỡ bỏ" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Các gĂłi đã cáş­p nháş­t" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Hệ thĂ´ng đã nâng cấp" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Các thay đổi đã áp dụng" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "ÄĂŁ sá»­a hệ thống cĂ i đặt khĂ´ng đầy đủ" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "ÄĂŁ sá»­a lá»—i giữa các gĂłi phụ thuá»™c láş«n nhau" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Nguồn pháş§n má»m đã thĂŞm" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Báş­t thĂ nh pháş§n cá»§a bản phân phối" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Những táş­p tin thuá»™c các gĂłi đã gỡ bỏ" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Cấu hình lại các gĂłi đã cĂ i đặt" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ThĂ nh cĂ´ng" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "ÄĂŁ há»§y" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Bị thất bại" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Äang cĂ i đặt táş­p tin" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Äang cĂ i đặt các gĂłi" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Äang thĂŞm khĂła từ táş­p tin" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Äang cáş­p nháş­t bá»™ đệm" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Äang gỡ bỏ các khĂła tin cáş­y" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Äang gỡ bỏ các gĂłi" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Äang cáş­p nháş­t các gĂłi" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Äang nâng cấp hệ thống" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Äang áp dụng các thay đổi" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Äang sá»­a hệ thống đã cĂ i đặt khĂ´ng đầy đủ" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Äang sá»­a chữa pháş§n má»m đã cĂ i đặt" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Äang thĂŞm nguồn pháş§n má»m" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Äang báş­t thĂ nh pháş§n cá»§a bản phân phối" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Äang gỡ bỏ những táş­p tin thuá»™c các gĂłi đã tải vá»" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Äang cấu hình lại những gĂłi đã cĂ i đặt" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Äang tìm kiáşżm" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "CĂ i đặt táş­p tin gĂłi đã thất bại" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "CĂ i đặt pháş§n má»m đã thất bại" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Cáş­p nháş­t lại danh sách pháş§n má»m đã thất bại" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Loại bỏ nhĂ  cung cấp pháş§n má»m từ danh sách tin cáş­y đã thất bại" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Loại bỏ pháş§n má»m đã thất bại" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Cáş­p nháş­t pháş§n má»m đã thất bại" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Cáş­p nháş­t hệ thống đã thất bại" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Ăp dụng các thay đổi cho pháş§n má»m đã thất bại" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Việc sá»­a hệ thống cĂ i đặt khĂ´ng đầy đủ đã thất bại" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Việc sá»­a lá»—i giữa các gĂłi phụ thuá»™c láş«n nhau đã thất bại" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "ThĂŞm nguồn pháş§n má»m thất bại" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Báş­t thĂ nh pháş§n cá»§a bản phân phối thất bại" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Gỡ bỏ những táş­p tin thuá»™c các gĂłi khĂ´ng thĂ nh cĂ´ng" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Tìm kiáşżm thất bại" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Äang thĂŞm khĂła chứng nháş­n" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Kiá»m tra káşżt nối Internet cá»§a bạn." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Kiá»m tra xem liệu bạn cĂł Ä‘ang sá»­ dụng kho pháş§n má»m cá»§a hĂŁng thứ ba. Náşżu cĂł " "hĂŁy vĂ´ hiệu hĂła chĂşng, vì chĂşng lĂ  má»™t nguồn chung cá»§a các vấn Ä‘á».\n" "Hơn nữa hĂŁy sá»­ dụng lệnh sau đây trong Cá»­a sổ dòng lệnh: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Táş­p tin đã chọn cĂł thá» khĂ´ng phải lĂ  má»™t táş­p tin khĂła GPG hoáş·c nĂł cĹ©ng cĂł " "thỠđã bị hỏng" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "KhĂła đã chọn khĂ´ng thỠđược gỡ bỏ. HĂŁy kiá»m tra liệu bạn cĂł cung cấp má»™t dấu " "vân tay cĂł giá trị." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Kiá»m tra náşżu hiện tại bạn Ä‘ang chạy má»™t cĂ´ng cụ quản lĂ˝ pháş§n má»m khác, vĂ­ dụ " "Synaptic hay aptitude. Chỉ má»™t cĂ´ng cụ được cho phĂ©p tạo thay đổi trong má»™t " "thời Ä‘iá»m." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Äây lĂ  má»™t vấn đỠnghiĂŞm trọng. HĂŁy thá»­ lại sau. Náşżu vấn đỠnĂ y xuất hiện " "má»™t láş§n nữa, xin vui lòng báo cáo lá»—i tá»›i các nhĂ  phát triá»n." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Soát lá»—i chĂ­nh tả cá»§a tĂŞn gĂłi vĂ  kiá»m tra xem kho pháş§n má»m thĂ­ch hợp đã được " "kĂ­ch hoạt hay chưa." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Hiện tại việc cáş­p nháş­t lĂ  khĂ´ng cáş§n thiáşżt." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Hiện tại việc cĂ i đặt lĂ  khĂ´ng cáş§n thiáşżt" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Hiện tại việc gỡ bỏ lĂ  khĂ´ng cáş§n thiáşżt." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "Bạn đã yĂŞu cáş§u gỡ bỏ má»™t gĂłi thiáşżt yáşżu trong hệ thống cá»§a bạn." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "Káşżt nối đến trình ná»n đã mất. Nhiá»u khả nÄng trình ná»n đã sụp đổ." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Việc cĂ i đặt hoáş·c gỡ bỏ má»™t gĂłi pháş§n má»m đã thất bại." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Chức nÄng Ä‘ang được yĂŞu cáş§u khĂ´ng được há»— trợ." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "CĂł váş» như xuất hiện lá»—i láş­p trình trong aptdaemon, pháş§n má»m nĂ y giĂşp bạn cĂ i " "đặt/gõ bỏ pháş§n má»m vĂ  thá»±c hiện những tác vụ liĂŞn quan khác đến việc quản lĂ˝ " "gĂłi." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Lá»—i nĂ y cĂł thỠđược gây ra bởi các gĂłi pháş§n má»m cáş§n thĂŞm vĂ o bị thiáşżu hay " "khĂ´ng thá» cĂ i đặt. Hơn nữa cĂł thỠđã xảy ra xung đột giữa các gĂłi khĂ´ng được " "phĂ©p cĂ i đặt trong cĂąng má»™t lĂşc." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "NĂł yĂŞu cáş§u cĂ i đặt các gĂłi từ các nguồn chưa được chứng thá»±c." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Sá»± cĂ i đặt đã thất bại do má»™t lá»—i sai trong gĂłi pháş§n má»m hoáş·c do quá trình " "cĂ i đặt đã bị káşżt thĂşc má»™t cách khĂ´ng chuáş©n. Bạn phải sá»­a lại lá»—i nĂ y trước " "khi cĂł khả nÄng cĂ i đặt hoáş·c loại bỏ bất kỳ má»™t pháş§n má»m nĂ o khác." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Vui lòng sao chĂ©p táş­p tin nĂ y đến máy cục bá»™ vĂ  kiá»m tra quyá»n truy cáş­p táş­p " "tin." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "CĂ i đặt má»™t gĂłi vi phạm tiĂŞu chuáş©n chất lượng lĂ  khĂ´ng được chấp nháş­n. Việc " "nĂ y cĂł thá» gây ra những vấn đỠnghiĂŞm trọng cho máy tĂ­nh cá»§a bạn. Vui lòng " "liện lạc vá»›i cá nhân hoáş·c tổ chức cung cấp gĂłi nĂ y vĂ  kèm các chi tiáşżt bĂŞn " "dưới." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "KhĂła chứng nháş­n cáş§n thiáşżt đỠchạy pháş§n má»m nĂ y đã được tải vá» nhưng khĂła đó " "khĂ´ng đúng hay khĂ´ng thỠđược cĂ i đặt má»™t cách đúng đắn.\n" "Xem chi tiáşżt đỠbiáşżt thĂŞm thĂ´ng tin." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Tất cả bản nâng cấp cĂł hiệu lá»±c đã được cĂ i đặt rồi." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "KhĂ´ng thá» tải xuống khĂła chứng nháş­n dĂąng đỠcho phĂ©p bạn sá»­ dụng bá»™ pháş­n " "pháş§n má»m nĂ y. Vui lòng kiá»m tra lại káşżt nối mạng." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Việc tải các táş­p tin gĂłi đã thất bại" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Việc tải vá» thĂ´ng tin kho pháş§n má»m đã thất bại" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Các phụ thuá»™c gĂłi pháş§n má»m khĂ´ng thỠđược giải quyáşżt" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Hệ thống gĂłi bị hỏng" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "KhĂła đã khĂ´ng được cĂ i đặt" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "KhĂła đã khĂ´ng được gỡ bỏ" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Việc khĂła bá»™ quản lĂ˝ gĂłi thất bại" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Việc nạp danh sách gĂłi thất bại" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "GĂłi khĂ´ng tồn tại" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "GĂłi lĂ  má»›i nhất rồi" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "GĂłi đã được cĂ i đặt rồi" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "GĂłi chưa được cĂ i đặt" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Việc gỡ bỏ gĂłi hệ thống thiáşżt yáşżu thất bại" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Tác vụ khĂ´ng thỠđược quản lĂ˝ hay Ä‘iá»u khiá»n" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Hoạt động gĂłi thất bại" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "YĂŞu cáş§u cĂ i đặt các gĂłi khĂ´ng đáng tin cáş­y" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Láş§n cĂ i đặt trước chưa hoĂ n thĂ nh xong" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "GĂłi nĂ y cĂł chất lượng kĂ©m" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "KhĂ´ng thá» mở táş­p tin cĂ i gĂłi" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Chức khĂ´ng được há»— trợ" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Lá»—i khi tải khĂła chứng nháş­n xuống" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Lá»—i khi cĂ i đặt khĂła chứng nháş­n" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Hệ thống nĂ y lĂ  má»›i nhất rồi" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Má»™t lá»—i khĂ´ng xá»­ lĂ˝ được đã xảy ra" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Äang chờ cho dịch vụ đỠbắt đầu" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Äang đợi" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Äang chờ mĂ´i trường cáş§n thiáşżt" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Äang chờ các bá»™ quản lĂ˝ pháş§n má»m khác thoát" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Äang chờ nhắc táş­p tin cấu hình" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Äang chạy tác vụ" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Äang tải vá»" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Äang truy vấn nguồn pháş§n má»m" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Äang dọn dáşąp" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ÄĂŁ hoĂ n tất" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Äang há»§y bỏ" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Äang nạp danh sách pháş§n má»m" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Äang cĂ i đặt %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Äang cấu hình %s..." #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Äang gỡ bỏ %s..." #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Äang gỡ bỏ hoĂ n toĂ n %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Äang ghi nháş­n tình trạng biáşżn mất cá»§a %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Äang chạy bá»™ gây nĂŞn tiáşżn trình cuối cĂąng cĂ i đặt %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Äang nâng cấp %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Äang mở gĂłi %s..." #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Äang chuáş©n bị cĂ i đặt %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Äang chuáş©n bị cấu hình %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Äang chuáş©n bị gỡ bỏ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Äang chuáş©n bị gỡ bỏ hoĂ n toĂ n %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "ÄĂŁ cĂ i đặt %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "ÄĂŁ gỡ bỏ hoĂ n toĂ n %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "ÄĂŁ gỡ bỏ %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Äang xá»­ lĂ˝ %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "HoĂ n tất" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Xác thá»±c thất bại" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Äang lấy vá»" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Rảnh" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Mạng khĂ´ng cĂł sáşµn" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Chi tiáşżt" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Táş­p tin" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "ÄĂŁ tải %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "ÄĂŁ tải vá»" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' lĂ  bắt buá»™c" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "HĂŁy đưa CD/DVD bĂŞn trĂŞn vĂ o ổ '%s' đỠcĂ i đặt các gĂłi pháş§n má»m từ nĂł." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_Tiáşżp tục" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "CĂ i đặt" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "CĂ i lại" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Gỡ bỏ" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "LĂ m sạch" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Nâng cấp" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Hạ cấp" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Bỏ qua nâng cấp" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "HĂŁy nhìn má»™t chĂşt vĂ o danh sách các thay đổi dưới đây." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Pháş§n má»m phụ thĂŞm cáş§n được cĂ i đặt" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Pháş§n má»m phụ thĂŞm cáş§n được cĂ i đặt lại" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Pháş§n má»m phụ thĂŞm cáş§n được gỡ bỏ" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Pháş§n má»m phụ thĂŞm cáş§n được lĂ m sạch" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Pháş§n má»m phụ thĂŞm cáş§n được nâng cấp" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Pháş§n má»m phụ thĂŞm cáş§n được hạ cấp" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Các cáş­p nháş­t sáş˝ bị bỏ qua" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Các thay đổi phụ thĂŞm lĂ  cáş§n thiáşżt" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Tổng cá»™ng %sB sáş˝ được tải." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB khĂ´ng gian đĩa sáş˝ được giải phĂłng." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "ThĂŞm %sB khĂ´ng gian đĩa sáş˝ được sá»­ dụng." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Thay tháşż những thay đổi cá»§a bạn trong '%s' báş±ng má»™t táş­p tin cấu hình phiĂŞn " "bản má»›i hơn?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Náşżu bạn khĂ´ng biáşżt lĂ˝ do tại sao đã cĂł tệp nĂ y rồi, thì việc thay tháşż nĂł " "thường sáş˝ an toĂ n." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Các thay đổi" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Giữ lại" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Thay tháşż" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Chi tiáşżt" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Chờ %s đỠthoát" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Äang tải vá» %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "kho cục bá»™" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Äang tải từ %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Cấu trĂşc cá»§a %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Diá»…n giải cá»§a %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Diá»…n giải chữ kĂ˝ cá»§a %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Những gĂłi sáşµn dĂąng từ %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Những nguồn sáşµn dĂąng từ %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Những bản dịch sáşµn dĂąng từ %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Dịch sang %s (%s) từ %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Dịch sang %s từ %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Các bản dịch (%s) từ %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "GĂłi %s khĂ´ng sáşµn cĂł" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "GĂłi %s chưa được cĂ i đặt" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "PhiĂŞn bản %s cá»§a %s chưa được cĂ i đặt" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "GĂłi %s đã được cĂ i đặt rồi" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "PhiĂŞn bản %s cá»§a %s khĂ´ng sáşµn cĂł." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Äường dáş«n URL khĂła máy chá»§ khĂ´ng hợp lệ: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Giao thức máy chá»§ khĂ´ng hợp lệ: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "KhĂła kĂ­ danh khĂ´ng hợp lệ: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Tải vá» vĂ  cĂ i đặt khĂła %s từ %s khĂ´ng thĂ nh cĂ´ng:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Táş­p tin khĂła %s khĂ´ng thá» cĂ i đặt: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "KhĂła vá»›i vân tay %s khĂ´ng thá» gỡ bỏ: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "GĂłi %s khĂ´ng thá» gỡ bỏ." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "PhiĂŞn bản %s cá»§a %s chưa được cĂ i đặt" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "PhiĂŞn bản cĹ© %s cá»§a %s đã được cĂ i đặt rồi" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "PhiĂŞn bản %s cá»§a %s đã được cĂ i đặt rồi" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "PhiĂŞn bản %s cá»§a %s khĂ´ng sáşµn cĂł" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Bạn cáş§n xác định má»™t phiĂŞn bản đỠhạ cấp %s xuống" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "PhiĂŞn bản má»›i %s cá»§a %s đã được cĂ i rồi" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "GĂłi %s chưa sáşµn cĂł trong bản phát hĂ nh %s nĂ y." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "GĂłi %s khĂ´ng thá» gỡ bỏ" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "GĂłi nĂ y khĂ´ng cung cấp má»™t trường Installed-Size hợp lệ. Tham khảo Debian " "Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "KhĂła chứng nháş­n trống" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "KhĂła chứng nháş­n khĂ´ng được phĂ©p chứa mĂŁ thá»±c thi." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Äường dáş«n khĂła chứng nháş­n %s khĂ´ng thĂ­ch hợp" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "KhĂła chứng nháş­n đã tồn tại: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Vị trĂ­ cá»§a khĂła chứng nháş­n khĂ´ng an toĂ n do nĂł chứa liĂŞn káşżt tượng trưng. " "Äường dáş«n %s dáş«n tá»›i %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Chưa tồn tại thư mục đỠcĂ i khĂła: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Thất bại khi ghi táş­p tin khĂła vĂ o: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Những gĂłi sau khĂ´ng chưa được thỏa mĂŁn vá» các gĂłi phụ thuá»™c:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "nhưng nĂł lĂ  má»™t gĂłi ảo" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "nhưng nĂł chưa được cĂ i đặt" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "nhưng nĂł sáş˝ khĂ´ng được cĂ i đặt" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "nhưng %s đã được cĂ i đặt" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "nhưng %s sáş˝ được cĂ i đặt" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Bổ sung khĂła xác thá»±c vĂ o danh sách nhĂ  cung cấp tin cáş­y đã thất bại" aptdaemon-1.1.1/po/ca.po0000644000175000017500000014015312117271433015606 0ustar renaterenate00000000000000# Catalan translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-03-02 12:03+0000\n" "Last-Translator: David Planella \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" "Language: ca\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "ObtenciĂł d'una llista de claus dels proveĂŻdors de confiança" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Cal que us autentiqueu per obtenir la llista de claus de confiança." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "SupressiĂł dels fitxers de paquet baixats" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Cal que us autentiqueu per poder netejar els fitxers de paquet baixats." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Canvi de la configuraciĂł del programari" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Cal que us autentiqueu per poder canviar els parĂ metres del programari." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Canvi de dipòsit de programari" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Cal que us autentiqueu per canviar els parĂ metres dels dipòsits de " "programari." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instal·laciĂł d'un fitxer de paquet" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Cal que us autentiqueu per instal·lar aquest paquet." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ActualitzaciĂł de la informaciĂł dels paquets" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Cal que us autentiqueu per actualitzar el catĂ leg de programari." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instal·laciĂł o supressiĂł de paquets" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Cal que us autentiqueu per instal·lar o suprimir programari." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Instal·laciĂł de programari d'un dipòsit de confiança alta." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Per instal·lar programari, cal autenticar-se." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "AddiciĂł d'un dipòsit nou i instal·laciĂł de paquets d'aquest" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Heu d'autenticar-vos per instal·lar programari d'una font nova." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "AddiciĂł d'un dipòsit nou de programari que s'hagi comprat i instal·laciĂł de " "paquets d'aquest" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Heu d'autenticar-vos per instal·lar programari que hĂ giu comprat." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ActualitzaciĂł dels paquets" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Cal que us autentiqueu per instal·lar programari actualitzat." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Cancel·laciĂł de la tasca d'un altre usuari" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Cal que us autentiqueu per cancel·lar els canvis que algĂş altre realitzi al " "programari." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Establiment d'un servidor intermediari per baixar programari" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Cal que us autentiqueu per utilitzar un servidor intermediari per baixar " "programari." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "S'han baixat %sB de %sB a %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "S'han baixat %sB de %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROR:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "No teniu permĂ­s per realitzar aquesta acciĂł." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "S'estĂ  encuant" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "S'estan resolent les dependències" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "S'instal·larĂ  el paquet segĂĽent NOU (%(count)s):" msgstr[1] "S'instal·laran els paquets segĂĽents NOUS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "S'actualitzarĂ  el paquet segĂĽent (%(count)s):" msgstr[1] "S'actualitzaran els paquets segĂĽents (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Se SUPRIMIRĂ€ el paquet segĂĽent (%(count)s):" msgstr[1] "Se SUPRIMIRAN els paquets segĂĽents (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Es tornarĂ  a una versiĂł anterior del paquet segĂĽent (%(count)s):" msgstr[1] "" "Es tornarĂ  a una versiĂł anterior dels paquets segĂĽents (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Es tornarĂ  a instal·lar el paquet segĂĽent (%(count)s):" msgstr[1] "Es tornaran a instal·lar els paquets segĂĽents (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "S'ha retingut el paquet segĂĽent (%(count)s):" msgstr[1] "S'han retingut els paquets segĂĽents (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "S'han d'obtenir %sB de fitxers." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "DesprĂ©s d'aquesta operaciĂł, s'utilitzaran %sB d'espai addicional del disc." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" "Un cop finalitzada aquesta operaciĂł s'alliberaran %sB d'espai addicional de " "disc." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Voleu continuar [S/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Per operar en mĂ©s d'un paquet heu de posar els noms dels paquets entre " "cometes:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Refresca la memòria cau" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Intenta resoldre les dependències trencades. L'operaciĂł Ă©s potencialment " "perillosa ja que podria intentar suprimir molts paquets." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Intenta finalitzar una instal·laciĂł prèvia no completada" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instal·la els paquets especificats" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Torna a instal·lar els paquets especificats" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Suprimeix els paquets especificats" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "Suprimeix els paquets especificats, incloent-ne els fitxers de configuraciĂł" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Torna a una versiĂł anterior dels paquets especificats" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Obsolet: utilitzeu --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Actualitza el sistema de manera segura" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Actualitza el sistema, segurament mitjançant la instal·laciĂł i la supressiĂł " "de paquets" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Afegeix el proveĂŻdor als de confiança" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "Afegeix l'identificador de la clau del proveĂŻdor (tambĂ© cal --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Utilitza el servidor de claus proporcionat per cercar claus" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Afegeix un dipòsit nou d'una lĂ­nia deb proporcionada" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Especifiqueu un fitxer sources.list.d alternatiu on s'haurien d'afegir els " "dipòsits." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Mostra la llista de claus dels proveĂŻdors de confiança" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Suprimeix la clau de confiança de l'empremta proporcionada" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Torna a configurar els paquets instal·lats. Opcionalment es pot especificar " "la prioritat mĂ­nima de les preguntes." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "La prioritat mĂ­nima de la pregunta del debconf que es mostrarĂ " #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "No t'adjuntis al terminal de l'apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Permet paquets de fonts sense autenticar" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Mostra informaciĂł addicional sobre els paquets. Actualment nomĂ©s es mostra " "el nĂşmero de la versiĂł" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "S'estĂ  esperant l'autenticaciĂł" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "No aturis el dimoni per inactivitat" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "No carreguis cap connector" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Mostra la informaciĂł interna de processament" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Surt i reemplaça un dimoni que s'estigui executant" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Escolta en el bus de sessiĂł DBus (nomĂ©s cal per a proves)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Realitza les operacions en el chroot especificat" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Desa estadĂ­stiques de perfil en el fitxer especificat" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "No facis cap canvi al sistema (nomĂ©s Ăştil per als desenvolupadors)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Fitxer instal·lat" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paquets instal·lats" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "S'ha afegit la clau des d'un fitxer" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "S'ha actualitzat la memòria cau" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Ha finalitzat la cerca" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "S'ha suprimit la clau de confiança" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "S'han suprimit els paquets" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "S'han actualitzat els paquets" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "S'ha actualitzat el sistema" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "S'han aplicat els canvis" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Instal·laciĂł incompleta reparada" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Dependències no vĂ lides reparades" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "S'ha afegit una font de programari" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "S'ha habilitant un component de la distribuciĂł" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "S'han suprimit els fitxers de paquets baixats" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "S'han tornat a configurar els paquets instal·lats" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Correcte" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Cancel·lat" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Ha fallat" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "S'estĂ  instal·lant un fitxer" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "S'estan instal·lant els paquets" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "S'estĂ  afegint la clau des del fitxer" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "S'estĂ  actualitzant la memòria cau" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "S'estĂ  suprimint la clau de confiança" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "S'estan suprimint els paquets" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "S'estan actualitzant els paquets" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "S'estĂ  actualitzant el sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "S'estan aplicant els canvis" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "S'estĂ  reparant la instal·laciĂł incompleta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "S'estĂ  reparant el programari instal·lat" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "S'estĂ  afegint la font de programari" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "S'estĂ  habilitant el component de la distribuciĂł" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "S'estan suprimint els fitxers de paquets baixats" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "S'estan tornant a configurar els paquets instal·lats" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "S'estĂ  cercant" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Ha fallat la instal·laciĂł del paquet" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Ha fallat la instal·laciĂł del programari" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "Ha fallat l'addiciĂł de proveĂŻdors de programari de confiança" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Ha fallat l'actualitzaciĂł de la llista de programari" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "S'ha produĂŻt un error en eliminar el proveĂŻdor de la llista de confiança" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Ha fallat la supressiĂł del programari" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Ha fallat l'actualitzaciĂł del programari" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Ha fallat l'actualitzaciĂł del sistema" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Ha fallat l'aplicaciĂł de canvis de programari" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Ha fallat la reparaciĂł de la instal·laciĂł incompleta" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Ha fallat la reparaciĂł de dels dependències no vĂ lides" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Ha fallat l'addiciĂł de la font de programari" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Ha fallat l'habilitaciĂł del component de la distribuciĂł" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Ha fallat la supressiĂł dels fitxers de paquets baixats" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Ha fallat la cerca" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "S'estĂ  afegint la clau de llicència" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Comproveu la connexiĂł a Internet." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Comproveu si esteu utilitzant dipòsits de tercers. Si aquest Ă©s el cas, Ă©s " "recomanable que els inhabiliteu, ja que sĂłn una font habitual de problemes.\n" "Addicionalment, haurĂ­eu d'executar l'ordre segĂĽent en un terminal: apt-get " "install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Pot ser que el fitxer que heu seleccionat no sigui un fitxer de clau GPG o " "que estigui malmès." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "No s'ha pogut suprimir la clau seleccionada. Comproveu que hĂ giu " "proporcionat una empremta vĂ lida." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Comproveu si actualment esteu executant una altra eina de gestiĂł del " "programari, com ara el Synaptic o l'aptitude. NomĂ©s es permet utilitzar una " "eina a la vegada per fer canvis." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Aquest es un problema seriĂłs. Torneu a intentar-ho mĂ©s tard. Si el problema " "reapareix, informeu-ne els desenvolupadors." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Comproveu l'ortografia del nom del paquet i que el dipòsit apropiat estigui " "activat." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "No cal fer cap actualitzaciĂł." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "No cal fer cap instal·laciĂł." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "No cal fer cap supressiĂł." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Heu sol·licitat la supressiĂł d'un paquet que Ă©s una part essencial del " "sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "S'ha perdut la connexiĂł amb el dimoni. Segurament el dimoni en segon pla ha " "tingut una fallada." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Ha fallat la instal·laciĂł o supressiĂł d'un paquet de programari." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "La funciĂł que s'ha sol·licitat no estĂ  implementada." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Sembla que s'ha produĂŻt un error de programaciĂł a l'Aptdaemon, l'aplicaciĂł " "que us permet insta·lar i suprimir programari i realitzar altres tasques " "relacionades amb la gestiĂł de paquets." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Pot ser que aquest error sigui degut al fet que calguin paquets de " "programari addicionals que no estan disponibles o no es poden instal·lar. " "TambĂ© podria ser un conflicte entre paquets de programari que no es poden " "instal·lar simultĂ niament." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Aquesta acciĂł requereix la instal·laciĂł de fonts no identificades." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Pot ser que la instal·laciĂł hagi fallat degut a un error en el paquet de " "programari corresponent o que fou cancel·lada d'una manera incorrecta. " "Haureu de reparar-ho abans de poder instal·lar o eliminar qualsevol " "programari." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Copieu el fitxer a l'ordinador local i comproveu els permisos del fitxer." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "No es permet la instal·laciĂł d'un paquet que no compleix els estĂ ndards de " "qualitat. Això podria causar problemes seriosos a l'ordinador. Contacteu amb " "la persona o organitzaciĂł que us ha proporcionat aquest fitxer de paquet i " "incloeu el detalls de sota." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "La clau de llicència que s'ha baixat i que Ă©s necessĂ ria per executar " "aquesta aplicaciĂł no Ă©s vĂ lida o no s'ha pogut instal·lar correctament.\n" "Vegeu els detalls per obtenir mĂ©s informaciĂł." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Ja s'han instal·lat totes les actualitzacions disponibles." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "La clau de llicència que Ă©s necessaria per executar aquesta aplicaciĂł no " "s'ha pogut baixar. Comproveu la connexiĂł de xarxa." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "No teniu els permisos necessaris per dur a terme aquesta acciĂł." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Heu introduĂŻt una contrasenya incorrecta o bĂ© heu cancel·lat " "l'autoritzaciĂł.\n" "Si no heu vist cap diĂ leg d'autoritzaciĂł, pot ser que sigui degut a un error " "tècnic: en concret, el vostre entorn d'escriptori no proporciona un agent de " "sessiĂł del PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Ha fallat la baixada de fitxers de paquets" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Ha fallat la baixada de la informaciĂł del dipòsit" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "No es poden resoldre les dependències dels paquets" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "El sistema de paquets estĂ  malmès" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "No s'ha instal·lat la clau" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "No s'ha suprimit la clau" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Ha fallat el blocatge del gestor de paquets" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Ha fallat la cĂ rrega de la llista de paquets" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "El paquet no existeix" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "El paquet ja estĂ  actualitzat" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "El paquet ja estĂ  instal·lat" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "El paquet no estĂ  instal·lat" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Ha fallat la supressiĂł d'un paquet essencial del sistema" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "No es pot fer un seguiment o control de la tasca" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Ha fallat l'operaciĂł amb el paquet" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Requereix la instal·laciĂł de paquets que no sĂłn de confiança" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "No s'ha completat la instal·laciĂł anterior" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "El paquet Ă©s de mala qualitat" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "No s'ha pogut obrir el fitxer de paquet" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "La funciĂł no estĂ  implementada" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Ha fallat la baixada de la clau de llicència" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Ha fallat la instal·laciĂł de la clau de llicència" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "El sistema ja estĂ  actualitzat" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "No ha estat possible donar-vos l'autoritzaciĂł" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "No teniu permĂ­s per dur a terme aquesta acciĂł" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "S'ha produit un error que no es pot gestionar" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "S'estĂ  esperant que comenci el servei" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "En espera" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "S'estĂ  esperant el suport necessari" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "S'estĂ  esperant que altres gestors de programari surtin" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "S'estĂ  esperant el diĂ leg del fitxer de configuraciĂł." #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "S'estĂ  executant la tasca" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "S'estĂ  baixant" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "S'estan consultant les fonts de programari" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "S'estĂ  netejant" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "S'ha finalitzat" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "S'estĂ  cancel·lant" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "S'estĂ  carregant la llista de programari" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "S'estĂ  instal·lant %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "S'estĂ  configurant %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "S'estĂ  suprimint %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "S'estĂ  suprimint completament el paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "S'estĂ  anotant la desapariciĂł del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "S'estĂ  executant l'activador de postinstal·laciĂł %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "S'estĂ  actualitzant %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "S'estĂ  desempaquetant el paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "S'estĂ  preparant la instal·laciĂł del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "S'estĂ  preparant la configuraciĂł del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "S'estĂ  preparant la supressiĂł del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "S'estĂ  preparant la supressiĂł completa del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "S'ha instaĹ€lat el paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "S'ha suprimit completament el paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "S'ha suprimit el paquet %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "S'estĂ  processant %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Fet" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Ha fallat l'autenticaciĂł" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "S'estĂ  recollint" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inactiu" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "La xarxa no es troba disponible" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalls" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fitxer" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "S'han baixat %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Baixat" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Cal el CD o DVD «%s»" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "Inseriu el CD/DVD a la unitat «%s» per instal·lar-ne els paquets." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinua" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instal·la" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstal·la" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Suprimeix" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Neteja" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Actualitza" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Torna a una versiĂł anterior" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Omet l'actualitzaciĂł" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Comproveu la llista de canvis de mĂ©s avall." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Cal instal·lar programari addicional" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Cal tornar a instal·lar programari addicional" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Cal suprimir programari addicional" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "S'ha de netejar el programari addicional" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Cal actualitzar programari addicional" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Cal tornar a una versiĂł anterior de programari addicional" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "S'ometran les actualitzacions" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Calen canvis addicionals" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Es baixaran %sB en total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "S'alliberaran %sB d'espai de disc." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "S'utilitzaran %sB mĂ©s d'espai de disc." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Voleu reemplaçar els vostres canvis a «%s» amb l'Ăşltima versiĂł del fitxer de " "configuraciĂł?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Si no sabeu com Ă©s que el fitxer ja es troba allĂ­, Ă©s mĂ©s segur que el " "reemplaceu." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Canvis" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_MantĂ©" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Reemplaça" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalls" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "S'estĂ  esperant al %s per sortir" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "S'estĂ  baixant %(files)s" msgstr[1] "S'estan baixant %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "dipòsit local" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "S'estĂ  baixant de %s" msgstr[1] "S'estan baixant de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Estructura del dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "DescripciĂł del dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Signatura de la descripciĂł del dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Paquets disponibles al dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Fonts disponibles al dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Traduccions disponibles al dipòsit %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Traduccions en %s (%s) del dipòsit %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Traduccions en %s del dipòsit %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traduccions (%s) del dipòsit %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "El paquet %s no estĂ  disponible" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "El paquet %s no estĂ  instal·lat" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "La versiĂł %s de %s no estĂ  instal·lada" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "El paquet %s ja estĂ  instal·lat" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "La versiĂł %s de %s no estĂ  disponible." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "L'URL del servidor de claus no Ă©s vĂ lid: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "El protocol del servidor no Ă©s vĂ lid: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "L'identificador de la clau no Ă©s vĂ lid: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "No s'ha pogut baixar i instal·lar la clau %s de %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "No s'ha pogut instal·lar el fitxer clau %s: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "No s'ha pogut suprimir la clau amb empremta dactilar %s: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "No es pot suprimir el paquet %s." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "La versiĂł %s de %s no estĂ  instal·lada" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "L'antiga versiĂł %s de %s ja estĂ  instal·lada" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "La versiĂł %s de %s ja estĂ  instal·lada" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "La versiĂł %s de %s no estĂ  disponible" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Heu d'especificar la versiĂł anterior a la qual ha de tornar %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "L'Ăşltima versiĂł %s de %s ja estĂ  instal·lada" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "El paquet %s no estĂ  disponible en la versiĂł %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "No es pot suprimir el paquet %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "El paquet no proporciona un camp de control de mida d'instal·laciĂł vĂ lid. " "Vegeu la polĂ­tica de Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "La clau de llicència Ă©s buida" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "La clau de llicència no pot contenir codi executable." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "El camĂ­ %s de la clau de llicència no Ă©s vĂ lid" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "La clau de llicència ja existeix: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "La ubicaciĂł de la clau de llicència no Ă©s segura perquè contĂ© enllaços " "simbòlics. El camĂ­ %s correspon a %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "El directori on s'ha d'instal·lar la clau encara no existeix: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Ha fallat l'escriptura del fitxer de clau a: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Els paquets segĂĽents tenen dependències sense satisfer:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "però Ă©s un paquet virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "però no estĂ  instal·lat" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "però no s'instal·larĂ " #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "però %s estĂ  instal·lat" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "però %s s'instal·larĂ " #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "S'ha produĂŻt un error en afegir la clau a la llista de proveĂŻdors de " #~ "programari de confiança" aptdaemon-1.1.1/po/pt.po0000644000175000017500000013562312117271433015654 0ustar renaterenate00000000000000# Portuguese translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-02-23 11:22+0000\n" "Last-Translator: Dark_Webster \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Listar chaves de fornecedores de confiança" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Para ver a lista de chaves de confiança, Ă© necessária a sua autenticação." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Remover ficheiros de pacotes transferidos" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Para apagar os pacotes transferidos, Ă© necessária a sua autenticação." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Modificar configuração dos programas" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Para alterar as definições dos programas, Ă© necessária a sua autenticação." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Alterar repositĂłrio de programas" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Para alterar as definições do repositĂłrio de aplicações, Ă© necessária a sua " "autenticação." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instalar ficheiro do pacote" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Para instalar este pacote, Ă© necessária a sua autenticação." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Actualizar a informação do pacote" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Para actualizar o catálogo de programas, Ă© necessária a sua autenticação." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instalar ou remover pacotes" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Para instalar ou remover programas, Ă© necessária a sua autenticação." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Instalar software a partir de um repositĂłrio de alta confiança." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Para instalar software, precisa de autenticar-se." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Adicionar um novo repositĂłrio e instalar pacotes a partir dele" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Para instalar a partir de uma nova fonte, Ă© necessária a sua autenticação." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Adicionar um novo repositĂłrio de programas pagos e instalar pacotes a partir " "dele" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Para instalar programas comprados, Ă© necessária a sua autenticação." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Actualizar pacotes" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "Para instalar programas actualizados, Ă© necessária a sua autenticação." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Cancelar a tarefa de outro utilizador" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Para cancelar as alterações feitas aos programas, Ă© necessária a sua " "autenticação." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Estabelecer proxy para as transferĂŞncias" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Para utilizar um proxy nas transferĂŞncias, Ă© necessária a sua autenticação." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERRO" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Transferidos %sB de %sB a %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Transferidos %sB de %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERRO:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "NĂŁo tem permissĂŁo para realizar esta acção." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "A colocar na fila" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "A resolver dependĂŞncias" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "O seguinte NOVO pacote será instalado (%(count)s):" msgstr[1] "Os seguintes NOVOS pacotes serĂŁo instalados (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "O seguinte pacote será actualizado (%(count)s):" msgstr[1] "Os seguintes pacotes serĂŁo actualizados (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "O seguinte pacote será REMOVIDO (%(count)s):" msgstr[1] "Os seguintes pacotes serĂŁo REMOVIDOS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "O seguinte pacote será DESACTUALIZADO (%(count)s):" msgstr[1] "Os seguintes pacotes serĂŁo DESACTUALIZADOS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "O seguinte pacote será reinstalado (%(count)s):" msgstr[1] "Os seguintes pacotes serĂŁo reinstalados (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "O seguinte pacote foi deixado para trás (%(count)s):" msgstr[1] "Os seguintes pacotes foram deixados para trás (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "É necessária a obtenção de %sB em arquivos." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "ApĂłs esta operação, será utilizado %sB de espaço no disco." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "ApĂłs esta operação, %sB de espaço no disco será libertada." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Deseja continuar [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Para utilizar mais do que um pacote coloque o nome do pacote entre aspas:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Actualizar a cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Tentar resolver dependĂŞncias danificadas. A operação Ă© potencialmente " "perigosa uma vez que pode tentar remover muitos pacotes." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Tente terminar uma instalação anterior incompleta" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instalar os pacotes indicados" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstalar os pacotes indicados" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Remover os pacotes indicados" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Remover os pacotes e ficheiros de configuração indicados" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Desactualizar os pacotes indicados" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Obsoleto: Por favor, utilize --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Actualizar o sistema de modo seguro" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Actualizar o sistema, provavelmente instalando e removendo pacotes" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Adicionar o fornecedor aos de confiança" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "Adicionar a chave de identificação do fornecedor (tambĂ©m necessita de --" "keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Utilizar o seguinte servidor de chaves para procurar chaves" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Adicionar o novo repositĂłrio da linha deb indicada" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Especificar um ficheiro sources.list.d alternativo, no qual os repositĂłrios " "devem ser adicionados." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Listar chaves de fornecedores confiáveis" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Remover a chave confiável dos identificadores indicados" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigurar pacotes instalados. Opcionalmente, pode ser especificada a " "prioridade mĂ­nima para perguntas" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" "A prioridade mĂ­nima do debconf para eventuais perguntas a serem apresentadas" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "NĂŁo adicionar ao terminal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Permitir pacotes de fontes nĂŁo autenticadas" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Exibir informação adicional sobre os pacotes. Actualmente sĂł mostra o nĂşmero " "da versĂŁo" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Ă€ espera da autenticação" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "NĂŁo encerrar o serviço devido a inactividade" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "NĂŁo carregar quaisquer plugins" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Mostrar informações de processamento interno" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Sair e substituir o serviço em execução" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Receber informações Dbus (apenas para testes)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Executar operações do chroot indicado" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Armazenar as estatĂ­sticas do perfil no ficheiro especificado" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "NĂŁo efectuar qualquer alteração ao sistema (apenas Ăştil para programadores)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Ficheiro instalado" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Pacotes instalados" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Chave do ficheiro adicionada" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Cache actualizada" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Pesquisa concluĂ­da" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Chave de confiança removida" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Pacotes removidos" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Pacotes actualizados" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistema actualizado" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Alterações aplicadas" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Instalação incompleta reparada" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "DependĂŞncias quebradas reparadas" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Adicionada fonte de aplicações" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Activado componente da distribuição" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Ficheiros de pacotes transferidos que foram removidos" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Pacotes instalados que foram reconfigurados" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Com sucesso" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Cancelado" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Falhou" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "A instalar o ficheiro" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "A instalar pacotes" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "A adicionar chave a partir do ficheiro" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "A actualizar a cache" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "A remover a chave de confiança" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "A remover pacotes" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "A actualizar pacotes" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "A actualizar o sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "A aplicar as alterações" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "A reparar instalação incompleta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "A reparar software instalado" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "A adicionar fonte de aplicações" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "A activar componente da distribuição" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "A remover ficheiros de pacotes transferidos" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "A reconfigurar pacotes instalados" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "A procurar" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Falha ao adicionar o pacote" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Falha ao instalar a aplicação" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "A adição da chave Ă  lista de vendedores de software de confiança falhou" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Falha ao actualizar a lista de aplicações" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Falha ao remover o fornecedor da lista de confiáveis" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Falha ao remover a aplicação" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Falha ao actualizar a aplicação" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Falha ao actualizar o sistema" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Falha ao aplicar as alterações" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Falha ao reparar instalação incompleta" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Falha ao reparar dependĂŞncias quebradas" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Falha ao adicionar a fonte de aplicações" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Falha ao activar a componente da distribuição" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Falha ao remover os ficheiros de pacotes transferidos" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "A pesquisa falhou" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "A adicionar chave de licença" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Verifique a sua ligação Ă  Internet." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Verifique se está a usar repositĂłrios de terceiros. Se sim desactive-os , " "pois sĂŁo uma fonte comum de problemas.\n" "AlĂ©m disso, execute o seguinte comando numa Consola: apt-get install-f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "O ficheiro seleccionado pode nĂŁo ser um ficheiro de chave GPG ou pode estar " "corrompido." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "A chave seleccionada nĂŁo pĂ´de ser removida. Verifique se forneceu um " "identificador válido." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Verifique se está a utilizar outra ferramenta de gestĂŁo (Synaptic ou " "aptitude). SĂł pode utilizar uma aplicação de cada vez." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Este Ă© um problema sĂ©rio. Tente novamente mais tarde. Se o problema " "persistir, reporte o erro aos programadores." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Verifique a ortografia do nome do pacote e se o repositĂłrio apropriado está " "activo." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "NĂŁo há qualquer necessidade de actualização." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "NĂŁo há qualquer necessidade de instalação" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "NĂŁo há qualquer necessidade de remoção." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "VocĂŞ pediu para remover um pacote que Ă© uma parte essencial do seu sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Foi perdida a ligação com o serviço. O mais provável Ă© o serviço de segundo " "plano ter bloqueado." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Falha ao instalar ou remover um pacote." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "A funcionalidade pedida nĂŁo Ă© suportada." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Parece que existe um problema no aptdaemon, a aplicação que lhe permite " "instalar ou remover programas e executar outras tarefas relacionadas com a " "gestĂŁo de pacotes." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Este erro pode estar relacionado com pacotes necessários que estĂŁo em falta " "ou nĂŁo podem ser instalados. Poderá tambĂ©m existir conflito entre pacotes " "que nĂŁo possam ser instalados em simultâneo." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Isto necessita que se instale pacotes de fontes nĂŁo autenticadas." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "A instalação pode ter falhado devido a um erro no correspondente pacote ou " "entĂŁo foi cancelada de forma abrupta. Tem de reparar isto antes de poder " "instalar ou remover mais aplicações." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Por favor, copie o ficheiro para o seu computador e verifique as permissões." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "NĂŁo Ă© permitida a instalação de um pacote que viole os padrões de qualidade. " "Isto poderia causar sĂ©rios problemas ao seu computador. Por favor, contacte " "a pessoa ou organização que lhe forneceu este pacote e inclua os seguintes " "detalhes:" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "A chave de licença que Ă© necessária para correr este software nĂŁo Ă© válida " "ou nĂŁo pode ser instalada correctamente.\n" "Veja os detalhes para mais informações." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Todas as actualizações disponĂ­veis já foram instaladas." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "A chave de licença que lhe permite usar este software nĂŁo pode ser " "transferida. Por favor verifique a sua ligação Ă  Internet." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "NĂŁo tem privilĂ©gios suficientes para realizar esta acção." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "VocĂŞ forneceu uma password errada ou cancelou a autorização.\n" "No entanto pode tambĂ©m haver uma razĂŁo tĂ©cnica para este erro se vocĂŞ nĂŁo " "viu um diálogo de password: o seu ambiente de trabalho nĂŁo suporta um agente " "de sessĂŁo PolicyKit" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Falha ao transferir os pacotes" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Falha ao transferir as informações do repositĂłrio" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "As dependĂŞncias do pacote nĂŁo podem ser resolvidas" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "O sistema de pacotes está danificado" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "A chave nĂŁo foi instalada" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "A chave nĂŁo foi removida" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Falha ao bloquear o gestor de pacotes" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "falha ao carregar a lista de pacotes" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "O pacote nĂŁo existe" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "O pacote já está em dia." #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "O pacote já está instalado" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "O pacote nĂŁo está instalado" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Falha ao remover pacotes essenciais do sistema" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "A tarefa nĂŁo pode ser monitorizada ou controlada" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Falhou a operação com o pacote" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Requer instalação de pacotes nĂŁo fiáveis" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "A instalação anterior nĂŁo foi concluĂ­da" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Este pacote Ă© de má qualidade" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "O ficheiro do pacote nĂŁo pĂ´de ser aberto" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Função nĂŁo suportada" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Falhou ao transferir a chave da licença" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Falhou ao instalar a chave da licença" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "O sistema já está atualizado" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "VocĂŞ nĂŁo pĂ´de ser autorizado" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "NĂŁo tem permissĂŁo para realizar esta acção" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Ocorreu um erro nĂŁo manipulável" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Ă€ espera do inicio do serviço" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Em espera" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Ă€ espera dos elementos necessários" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Ă€ espera do encerramento dos outros gestores de pacotes" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Ă€ espera do ficheiro de configuração inicial" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Tarefa em execução" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "A transferir" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "A perguntar Ă s fontes de software" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "A limpar" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ConcluĂ­do" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "A cancelar" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "A carregar lista de aplicações" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "A instalar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "A configurar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "A remover %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "A remover completamente %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "A notar o desaparecimento de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "A correr o \"trigger\" de pĂłs-instalação %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "A actualizar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "A desempacotar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "A preparar a instalação de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "A preparar a configuração de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "A preparar a remoção de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "A preparar a remoção completa de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s instalado" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Removido completamente %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s removido" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "A processar %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "ConcluĂ­do" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Falha ao autenticar" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "A obter" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inactivo" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "A rede nĂŁo está disponĂ­vel" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalhes" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Ficheiro" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sB transferidos" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Transferido" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "É necessário o CD/DVD \"%s\"" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Insira na unidade \"%s\" o CD/DVD acima referido, de modo a instalar " "pacotes tendo como base o disco." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinuar" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instalar" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstalar" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Remover" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Eliminar" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Actualizar" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Desactualizar" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Ignorar actualização" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "DĂŞ uma vista de olhos na seguinte lista de alterações." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "É necessária a instalação de programas adicionais" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "É necessária a reinstalação de programas adicionais" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "É necessária a remoção de programas adicionais" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "É necessária a eliminação de programas adicionais" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "É necessária a actualização de programas adicionais" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "É necessária a desactualização de programas adicionais" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "As actualizações serĂŁo ignoradas" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "SĂŁo necessárias alterações adicionais" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "No total, serĂŁo transferidos %sB." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "SerĂŁo libertados %sB de espaço no disco." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "SerĂŁo utilizados %sB de espaço no disco." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Substituir as suas alterações a \"%s\" com uma versĂŁo mais recente da " "configuração?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Se nĂŁo souber porque Ă© que o ficheiro já existe, Ă© provável que este possa " "ser substituĂ­do." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Alterações" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Manter" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "Substitui_r" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalhes" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Ă espera de %s para sair." #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "A transferir %(files)s" msgstr[1] "A transferir %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "repositĂłrio local" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "A transferir de %s" msgstr[1] "A transferir de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Estrutura de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Descrição de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Assinatura de descrição de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Pacotes disponĂ­veis de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Fontes disponĂ­veis de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Traduções disponĂ­veis de %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Traduções em %s (%s) de %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Traduções em %s de %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traduções (%s) de %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "O pacote %s nĂŁo está disponĂ­vel." #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "O pacote %s nĂŁo está instalado." #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "A versĂŁo %s de %s nĂŁo está instalada." #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "O pacote %s já está instalado." #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "A versĂŁo %s de %s nĂŁo está disponĂ­vel." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "O URL do servidor chave Ă© inválido: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Protocolo inválido do servidor: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "ID de chave inválido: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Falha ao transferir e instalar a chave %s de %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "NĂŁo foi possĂ­vel instalar a chave %s : %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "NĂŁo foi possĂ­vel remover a chave %s e o seu identificador: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "O pacote %s nĂŁo pode ser removido." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "A versĂŁo %s de %s nĂŁo está instalada." #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "A antiga versĂŁo %s de %s já está instalada." #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "A versĂŁo %s de %s já está instalada." #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "A versĂŁo %s de %s nĂŁo está disponĂ­vel." #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Tem de especificar a versĂŁo anterior para desactualizar %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "A nova versĂŁo %s de %s já está instalada." #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "O pacote %s nĂŁo está disponĂ­vel para a versĂŁo %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "O pacote %s nĂŁo pode ser removido" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "O pacote nĂŁo fornece um campo válido para controlar o tamanho de instalação. " "Consulte a polĂ­tica Debian 5.6.20" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "A chave de licença está vazia" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "A chave de licença nĂŁo pode conter cĂłdigo executável." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "O caminho da chave de licença %s Ă© inválido" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "A chave de licença já existe: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "O local da chave de licença Ă© inseguro dado que contĂ©m ligações simbĂłlicas. " "O caminho %s mapeia para %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "O diretĂłrio para onde instalar a chave ainda nĂŁo existe: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Falhou ao escrever o ficheiro da chave em: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Os seguintes pacotes tĂŞm dependĂŞncias nĂŁo resolvidas." #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "mas Ă© um pacote virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "mas nĂŁo está instalado" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "mas nĂŁo está em vias de instalação" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "mas %s está instalado" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "mas %s vai ser instalado" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Falha ao adicionar a chave Ă  lista de fornecedores confiáveis" aptdaemon-1.1.1/po/hy.po0000644000175000017500000010333512117271433015644 0ustar renaterenate00000000000000# Armenian translation for aptdaemon # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-03-11 21:37+0000\n" "Last-Translator: Serj Safarian \n" "Language-Team: Armenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Ő€ŐĄŐĽŐˇÖŐ¶ŐĄŐ¬ Ő¶Ő·Ő¸ÖŐ¶ŐĄÖ€Ő¨ Ő¶ŐĄÖ€Ő˘ŐĄŐĽŐ¶ŐľŐˇŐ® ÖŐˇŐ©ŐĄŐ©Ő¶ŐĄÖ€Ő«Ö" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/gl.po0000644000175000017500000013567112117271433015636 0ustar renaterenate00000000000000# Galician translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # # FIRST AUTHOR , 2009. # XosĂ© , 2013. msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-02-02 05:57+0000\n" "Last-Translator: XosĂ© \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" "Language: gl\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Lista das chaves dos fornecedores de confianza" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Para ver a lista de chaves de confianza debe autenticarse." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Retirar os ficheiros de paquetes descargados" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Para limpar os ficheiros de paquetes descargados necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Cambiar a configuraciĂłn do software" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Para cambiar a configuraciĂłn do software necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Cambiar o repositorio de software" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Para cambiar a configuraciĂłn do repositorio debe autenticarse." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instalar un ficheiro de paquetes" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Para instalar este paquete debe autenticarse" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Actualizar a informaciĂłn dos paquetes" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Para actualizar o catálogo de software debe autenticarse." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instalar ou desinstalar paquetes" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Para instalar ou desinstalar paquetes debe autenticarse." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Instalar software desde un repositorio no que se ten moita confianza e que " "está nunha lista branca." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Para instalar software haise que autenticar." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Engadir un repositorio novo e instalar paquetes desde el" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Para instalar software desde unha fonte nova necesita autenticarse." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Engadir un repositorio novo de software comprado e instalar paquetes desde el" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Para instalar software comprado necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Anovar paquetes" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Para instalar as anovaciĂłns de software debe autenticarse." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Cancelar a tarefa doutro usuario" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "Para cancelar os cambios de outra persoa debe autenticarse." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Establecer un proxy para as descargas de software" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Para usar un servidor proxy para descargar software debe autenticarse." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERRO" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Descargáronse %sB de %sB a %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Descargáronse %sB de %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERRO:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Non ten permiso para levar a cabo esta acciĂłn." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Metendo na cola" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Buscando as dependencias" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Vaise instalar o seguinte paquete NOVO (%(count)s):" msgstr[1] "Vanse instalar os seguintes paquetes NOVOS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Vaise anovar o paquete seguinte (%(count)s):" msgstr[1] "Vanse anovar os seguintes paquetes (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Vaise RETIRAR o seguinte paquete (%(count)s):" msgstr[1] "Vanse RETIRAR os seguintes paquetes (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Vaise REVERTER o seguinte paquete (%(count)s):" msgstr[1] "Vanse REVERTER os seguintes paquetes (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Vaise reinstalar o seguinte paquete (%(count)s):" msgstr[1] "Vanse reinstalar os seguintes paquetes (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "RetĂ­vose o paquete seguinte (%(count)s):" msgstr[1] "RetivĂ©ronse os paquetes seguintes (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "É necesario obter %sB de ficheiros." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Despois desta operaciĂłn ocuparanse %sB de espazo no disco" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Despois desta operaciĂłn liberaranse %sB de espazo no disco" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Desexa continuar [S/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Para traballar en máis de un paquete poña os nomes dos paquetes entre " "vĂ­rgulas:\n" "aptdcon --install «foo bar»" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Actualizar a cachĂ©" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Tentar resolver as dependencias rotas. Esta operaciĂłn Ă© potencialmente " "perigosa xa que poderĂ­a tratar de eliminar moitos paquetes." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Tentar rematar unha instalaciĂłn anterior incompleta" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instalar os paquetes fornecidos" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstalar os paquetes fornecidos" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Retirar os paquetes indicados" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "Retirar os paquetes indicados, incluĂ­dos os ficheiros de configuraciĂłn" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Reverter os paquetes indicados" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Obsoleto: Use --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Anovar o sistema de forma segura" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Anovar o sistema, posiblemente instalando e eliminando paquetes" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Engadir o fabricante como de confianza" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Engadir a chave do fabricante (tamĂ©n necesita --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Usar o servidor de chaves fornecido para buscar polas chaves" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Engadir o repositorio novo desde a liña deb fornecida" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Especifica un ficheiro sources.list.d alternativo onde se deben engadir os " "repositorios." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Mostrar as chaves de fabricantes de confianza" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Eliminar a chave de confianza para a pegada dixital fornecida." #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigurar os paquetes instalados. Opcionalmente pode especificar a " "prioridade mĂ­nima das preguntas" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "A prioridade mĂ­nima de pregunta de debconf que se mostrará" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Non anexar á terminal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Permitir paquetes provenientes de fontes sen autenticar" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Mostrar informaciĂłn adicional sobre os paquetes. Nesta altura, sĂł o nĂşmero " "da versiĂłn" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Agardando pola autenticaciĂłn" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Non apagar o daemon cando estea inactivo" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Non cargar ningĂşn engadido" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Mostrar informaciĂłn sobre o procesamento interno" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "SaĂ­r e substituĂ­r un daemon que se estea a executar" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Escoitar no bus de sesiĂłn de DBus (requirido sĂł para probas" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Realizar operaciĂłns no chroot indicado" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Almacenar as estatĂ­sticas do perfil no ficheiro indicado" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Non facer cambios no sistema (SĂł para programadores)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Ficheiro instalado" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paquetes instalados" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Engadiuse unha chave desde un ficheiro" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Actualizouse a cachĂ©" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Busca realizada" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Eliminouse unha chave de confianza" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Elimináronse paquetes" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Actualizáronse paquetes" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Anovouse o sistema" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Aplicáronse as modificaciĂłns" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Reparouse a instalaciĂłn incompleta" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Reparáronse as dependencias rotas" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Engadiuse unha fonte de software" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Activouse un compoñente da distribuciĂłn" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Retiráronse os paquetes descargados" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Reconfiguráronse paquetes instalados" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Satisfactoriamente" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Cancelado" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Fallou" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Instalando o ficheiro" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Instalando os paquetes" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Engadindo unha chave desde un ficheiro" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Actualizando a cachĂ©" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Eliminando unha chave de confianza" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Eliminando os paquetes" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Actualizando os paquetes" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Anovando o sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Aplicando as modificaciĂłns" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Reparando a instalaciĂłn incompleta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "A reparar o software instalado" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Engadindo unha fonte de software" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Activando o compoñente da distribuciĂłn" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Retirando os ficheiros de paquetes descargados" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Reconfigurando paquetes instalados" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "A buscar" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Fallou a instalaciĂłn do paquete" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Fallou a instalaciĂłn do software" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Non foi posĂ­bel engadir a chave á lista de vendedores de software de " "confianza" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Fallou a actualizaciĂłn da lista de programas" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Fallou a eliminaciĂłn do distribuidor da lista de vendedores de confianza" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Fallou a eliminaciĂłn do software" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Fallou a actualizaciĂłn do software" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Fallou a anovaciĂłn do sistema" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Produciuse un fallo ao aplicar os cambios do software" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Produciuse un fallo ao reparar a instalaciĂłn incompleta" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Produciuse un fallo ao reparar as dependencias rotas" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Produciuse un fallo ao engadir a fonte de software" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Produciuse un fallo ao activar o compoñente da distribuciĂłn" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Fallou a retirada de ficheiros de paquetes descargados" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Fallou a busca" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "A engadir a clave da licenza" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Comprobe a conexiĂłn á Internet" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Comprobe se está a utilizar repositorios de terceiros. De ser o caso, " "desactĂ­veos, dado que son unha fonte frecuente de problemas.\n" "AlĂ©n disto, execute a orde seguinte nun terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Poida que o ficheiro seleccionado non sexa un ficheiro de chave GPG ou que " "estea danado." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Non Ă© posĂ­bel eliminar a chave seleccionar. Comprobe que forneceu unha " "pegada dixital válida." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Comprobe se ten outra ferramenta de xestiĂłn de software executándose " "actualmente, p.ex. Synaptic ou aptitude. SĂł pode haber unha ferramenta " "facendo cambios ao mesmo tempo." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Este problema Ă© serio. TĂ©nteo de novo máis tarde. Se este problema aparece " "de novo, informe do erro aos desenvolvedores." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Comprobe a ortografĂ­a do nome do paquete e se está activado o repositorio " "axeitado." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Non hai necesidade de ningunha actualizaciĂłn." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Non hai necesidade de instalar nada" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Non hai necesidade de eliminar nada" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Solicitou eliminar un paquete que constitĂşe unha parte esencial do sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Perdeuse a conexiĂłn co daemon. O máis probábel Ă© que o daemon de fondo " "tivese un fallo fatal." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Fallou a instalaciĂłn ou eliminaciĂłn dun paquete de software." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Non se admite a funcionalidade solicitada." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Parece que hai un erro de programaciĂłn en «aptdaemon», o software que lle " "permite instalar ou retirar software e realizar outras tarefas relacionadas " "coa xestiĂłn de paquetes." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Este erro pode deberse a que os paquetes de software adicional requiridos " "non estean presentes ou que non sexan instalábeis. Ademais, poderĂ­a existir " "un conflito entre os paquetes que non lles permita seren instalados ao mesmo " "tempo." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Isto require instalar paquetes desde orixes non autenticadas." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "A instalaciĂłn puido ter fallado por un erro nos los paquetes " "correspondentes de software ou foi cancelada dun xeito incorrecto. Debe " "reparar isto antes de poder instalar ou eliminar calquera outro software." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Copie o ficheiro no seu equipo local e comprobe os permisos do ficheiro" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Non está permitida a instalaciĂłn de calquera paquete que non respecte os " "estándares de calidade. Iso poderĂ­a provocar problemas serios ao seu equipo. " "Contacte coa persoa ou organizaciĂłn que lle forneceu este ficheiro de " "paquete e inclĂşa os detalles de embaixo." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "A clave da licenza que se descargou e que se require para executar este " "software non Ă© válida ou non se puido instalar correctamente.\n" "Vexa os detalles para máis informaciĂłn." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Xa se instalaron todas as actualizaciĂłns dispoñíbeis." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Non foi posĂ­bel descargar a clave da licenza que permite o uso deste " "software. Comprobe a conexiĂłn á rede." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Non dispĂłn dos privilexios requiridos para realizar esta acciĂłn." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Escribiu un contrasinal errĂłneo ou cancelou a autorizaciĂłn.\n" "AlĂ©n disto pode haber unha razĂłn tĂ©cnica para este erro se vostede non viu " "un diálogo no que se lle pedise un contrasinal; o entorno de escritorio non " "fornece un axente de sesiĂłn de PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Fallou a descarga dos ficheiros de paquetes" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Fallou a descarga da informaciĂłn do repositorio" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Non Ă© posĂ­bel resolver as dependencias do paquete" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "O sistema de paquetes está roto" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Non se instalou a chave" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Non se eliminou a chave" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Non foi posĂ­bel bloquear o xestor de paquetes" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Fallou a descarga da listaxe de paquetes" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Ese paquete non existe" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Este paquete xa está actualizado" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Ese paquete xa está instalado" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Ese paquete non está instalado" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Fallou a eliminaciĂłn dun paquete esencial do sistema" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Non Ă© posĂ­bel vixiar ou controlar esta tarefa" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Fallou a operaciĂłn co paquete" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Require que se instalen paquetes nos que non se confĂ­a" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Non se completou unha instalaciĂłn anterior" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "El paquete Ă© de mala calidade" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Non Ă© posĂ­bel abrir o ficheiro de paquete" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "CaracterĂ­stica non compatĂ­bel" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Produciuse un fallo ao descargar a chave de licenza" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Produciuse un fallo ao instalar a chave de licenza" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "O sistema xa está anovado" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "PoderĂ­a non ser autorizado" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Non se lle permite realizar esta acciĂłn" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Produciuse un erro que non se pode xestionar" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Agardando polo arranque do servizo" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Agardando" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Agardando polo recurso requirido" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Agardando que rematen outros xestores de software" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Agardando polo indicador do ficheiro de configuraciĂłn" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Executando a tarefa" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Descargando" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Solicitando as orixes de software" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Limpando" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Rematado" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Cancelando" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Cargando a lista do software" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Instalando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configurando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Eliminando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s completamente retirado" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Detectouse a desapariciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Executando o disparador de post-instalaciĂłn %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Anovando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "A desempaquetar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "A preparar a instalaciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "A preparar a configuraciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "A preparar a eliminaciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "A preparar a eliminaciĂłn completa de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Instalouse %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Retirouse %s completamente" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Retirouse %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "A procesar %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Feito" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Fallou a autenticaciĂłn" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Obtendo" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Ocioso" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "A rede non está dispoñíbel." #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalles" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Ficheiro" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Descargado %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Recibido" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "RequĂ­rese o CD/DVD «%s»" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Insira o CD/DVD de enriba na unidade «%s» para instalar os paquetes de " "software desde el." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinuar" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instalar" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstalar" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Eliminar" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Borrar" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Anovar" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Desactualizar" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Omitir esta actualizaciĂłn" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" "BĂłtelle unha ollada á lista de cambios que se presenta a continuaciĂłn." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Hai que instalar software adicional" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Hai que instalar de novo software adicional" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Hai que eliminar software adicional" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Hai que eliminar completamente software adicional" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Hai que actualizar software adicional" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "DĂ©bese desactualizar software adicional" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Omitiranse as actualizaciĂłns" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "NecesĂ­tanse cambios adicionais" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Descargaranse en total %sB." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Liberaranse %sB de espazo de disco." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Usaranse %sB máis de espazo en disco." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "SubstituĂ­r as modificaciĂłns de «%s» por unha versiĂłn posterior do ficheiro " "de configuraciĂłn?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Se non sabe por que ese ficheiro xa se atopa aĂ­, adoita ser máis seguro a " "sĂşa substituciĂłn." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_ModificaciĂłns" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Manter" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_SubstituĂ­r" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalles" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Agardando a que saia %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Descargando %(files)s" msgstr[1] "Descargando %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "repositorio local" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "A descargar desde %s" msgstr[1] "A descargar desde %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Estrutura de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "DescriciĂłn de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Sinatura de descriciĂłn de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Paquetes dispoñíbeis en %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Orixes dispoñíbeis desde %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "TraduciĂłns dispoñíbeis desde %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "TraduciĂłns para %s (%s) desde %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "TraduciĂłns para %s desde %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "TraduciĂłns (%s) de %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "O paquete %s non está dispoñíbel" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "O paquete %s non está instalado" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "A versiĂłn %s de %s non está instalada" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "O paquete %s xa está instalado" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "A versiĂłn %s de %s non está dispoñíbel." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "O URL do servidor de chaves non Ă© válido: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Protocolo do servidor non válido: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "O identificador da chave non Ă© válido: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Produciuse un fallo ao descargar e instalar a chave %s de %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Non Ă© posĂ­bel instalar o ficheiro chave %s: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Non Ă© posĂ­bel retirar a chave coa pegada %s: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Non Ă© posĂ­bel retirar o paquete %s" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Non está instalada a versiĂłn %s de %s" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Xa está instalada a anterior versiĂłn %s de %s" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "A versiĂłn %s de %s xa está instalada" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "A versiĂłn %s de %s non está dispoñíbel" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Necesita especificar unha versiĂłn á que reverter %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "A Ăşltima versiĂłn %s de %s xa está instalada" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "O paquete %s non está dispoñíbel na distribuciĂłn %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Non se pode retirar o paquete %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "O paquete non fornece un campo de control do tamaño de instalaciĂłn válido. " "Vexa a polĂ­tica de Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "A chave de licenza está baleira" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "A chave de licenza non pode conter cĂłdigo executábel" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "A ruta á chave de licenza %s non Ă© válida" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Xa existe unha chave de licenza: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "A localizaciĂłn da chave de licenza non Ă© segura xa que contĂ©n ligazĂłns " "simbĂłlicas. A ruta %s liga a %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "O cartafol onde instalar a chave non existe aĂ­nda: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Produciuse un fallo ao escribir o ficheiro de chave en: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Os seguintes paquetes teñen dependencias incumpridas:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "mais Ă© un paquete virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "mais non está instalado" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "mais non se vai a instalar" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "mais %s está instalado" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "mais vaise instalar %s" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Algo fallou ao engadir a chave á lista de distribuidores de programas de " #~ "confianza" aptdaemon-1.1.1/po/sk.po0000644000175000017500000013616012117271433015643 0ustar renaterenate00000000000000# Slovak translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-10-03 12:58+0000\n" "Last-Translator: helix84 \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "VypĂ­saĹĄ kľúče dĂ´veryhodnĂ˝ch dodávateÄľov" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Ak chcete prehliadaĹĄ zoznam dĂ´veryhodnĂ˝ch kľúčov je potrebnĂ© overiĹĄ vašu " "totoĹľnosĹĄ." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "OdobraĹĄ stiahnutĂ© balĂ­ky sĂşborov" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Na vyÄŤistenie stiahnutĂ˝ch balĂ­kov sĂşborov je potrebnĂ© overiĹĄ vašu totoĹľnosĹĄ." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "ZmeniĹĄ softvĂ©rovĂş konfiguráciu" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Na zmenu softvĂ©rovĂ˝ch nastavenĂ­ je potrebnĂ© overiĹĄ vašu totoĹľnosĹĄ." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "ZmeniĹĄ zdroj softvĂ©ru" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Ak chcete zmeniĹĄ nastavenie zdroja softvĂ©ru je potrebnĂ© overiĹĄ vašu " "totoĹľnosĹĄ." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "NainštalovaĹĄ balĂ­k zo sĂşboru" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" "Ak chcete nainštalovaĹĄ tento balĂ­k je potrebnĂ© overiĹĄ vašu totoĹľnosĹĄ." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "AktualizovaĹĄ informácie o balĂ­koch" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Ak chcete aktualizovaĹĄ katalĂłg softvĂ©ru je potrebnĂ© overiĹĄ vašu totoĹľnosĹĄ." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "NainštalovaĹĄ alebo odstrániĹĄ balĂ­ky" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Ak chcete nainštalovaĹĄ alebo odstrániĹĄ softvĂ©r je potrebnĂ© overiĹĄ vašu " "totoĹľnosĹĄ." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "InštalovaĹĄ softvĂ©r zo zdroja pridanĂ©ho medzi dĂ´veryhodnĂ©." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Aby ste mohli inštalovaĹĄ softvĂ©r, je nutnĂ© overenie totoĹľnosti." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "PridaĹĄ novĂ˝ zdroj softvĂ©ru a nainštalovaĹĄ z neho balĂ­ky" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Ak chcete nainštalovaĹĄ softvĂ©r z novĂ©ho zdroja je potrebnĂ© overiĹĄ vašu " "totoĹľnosĹĄ." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "PridaĹĄ novĂ˝ zdroj zakĂşpenĂ©ho softvĂ©ru a nainštalovaĹĄ z neho balĂ­ky" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "Ak chcete nainštalovaĹĄ zakĂşpenĂ˝ softvĂ©r je potrebnĂ© overiĹĄ vašu totoĹľnosĹĄ." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "AktualizovaĹĄ balĂ­ky" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "Ak chcete nainštalovaĹĄ aktualizovanĂ˝ softvĂ©r je potrebnĂ© overiĹĄ vašu " "totoĹľnosĹĄ." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "ZrušiĹĄ Ăşlohu inĂ©ho používateÄľa" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Ak chcete zrušiĹĄ zmeny softvĂ©ru, ktorĂ© vykonal niekto inĂ˝, je potrebnĂ© " "overiĹĄ vašu totoĹľnosĹĄ." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "NastaviĹĄ proxy na sĹĄahovanie softvĂ©ru" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Ak chcete pouĹľiĹĄ server proxy na sĹĄahovanie softvĂ©ru, je potrebnĂ© overiĹĄ " "vašu totoĹľnosĹĄ." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "CHYBA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "StiahnutĂ© %sB z %sB pri %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "StiahnutĂ© %sB z %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "CHYBA:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Nemáte oprávnenie vykonaĹĄ tĂşto operáciu." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "ZaraÄŹuje sa do frontu" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Riešia sa závislosti" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "NasledovnĂ© NOVÉ balĂ­ky budu nainštalovanĂ© (%(count)s):" msgstr[1] "NasledovnĂ˝ NOVĂť balĂ­k bude nainštalovanĂ˝ (%(count)s):" msgstr[2] "NasledovnĂ© NOVÉ balĂ­ky budu nainštalovanĂ© (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "NasledovnĂ© balĂ­ky budu aktualizovanĂ© (%(count)s):" msgstr[1] "NasledovnĂ˝ balĂ­k bude aktualizovanĂ˝ (%(count)s):" msgstr[2] "NasledovnĂ© balĂ­ky budu aktualizovanĂ© (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "NasledovnĂ© balĂ­ky budu ODSTRANENÉ (%(count)s):" msgstr[1] "NasledovnĂ˝ balĂ­k bude ODSTRĂNENĂť (%(count)s):" msgstr[2] "NasledovnĂ© balĂ­ky budu ODSTRANENÉ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "VERZIA nasledovnĂ˝ch balĂ­kov bude ZNĂŤĹ˝ENĂ (%(count)s):" msgstr[1] "VERZIA nasledovnĂ©ho balĂ­ka bude ZNĂŤĹ˝ENĂ (%(count)s):" msgstr[2] "VERZIA nasledovnĂ˝ch balĂ­kov bude ZNĂŤĹ˝ENĂ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "NasledovnĂ© balĂ­ky budu preinštalovanĂ© (%(count)s):" msgstr[1] "NasledovnĂ˝ balĂ­k bude preinštalovanĂ˝ (%(count)s):" msgstr[2] "NasledovnĂ© balĂ­ky budu preinštalovanĂ© (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "NasledovnĂ© balĂ­ky budĂş podrĹľanĂ© (%(count)s):" msgstr[1] "NasledovnĂ˝ balĂ­k bude podrĹľanĂ˝ (%(count)s):" msgstr[2] "NasledovnĂ© balĂ­ky budĂş podrĹľanĂ© (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Je potrebnĂ© stiahnuĹĄ %sB archĂ­vov." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Po tejto operácii bude vyuĹľitĂ˝ch ÄŹalších %sB miesta na disku." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Po tejto operácii sa uvoÄľnĂ­ %sB miesta na disku." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Chcete pokraÄŤovaĹĄ [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Ak chcete pracovaĹĄ s viac ako jednĂ˝m balĂ­kom, uveÄŹte názvy balĂ­kov v " "Ăşvodzovkách:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "AktualizovaĹĄ vyrovnávaciu pamäť" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "PokĂşsiĹĄ sa vyriešiĹĄ poškodenĂ© závislosti. To je potenciálne nebezpeÄŤná " "operácia, pretoĹľe by sa mohla pokĂşsiĹĄ odstrániĹĄ veÄľkĂ© mnoĹľstvo balĂ­kov." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "PokĂşsiĹĄ sa dokonÄŤiĹĄ predošlĂş nedokonÄŤenĂş inštaláciu" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "NainštalovaĹĄ danĂ© balĂ­ky" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Znova nainštalovaĹĄ danĂ© balĂ­ky" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "OdstrániĹĄ danĂ© balĂ­ky" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "OdstrániĹĄ danĂ© balĂ­ky vrátane konfiguraÄŤnĂ˝ch sĂşborov" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "ZnĂ­ĹľiĹĄ verziu uvedenĂ˝ch balĂ­kov" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "ZavrhovanĂ©: ProsĂ­m, pouĹľite --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "AktualizovaĹĄ systĂ©m bezpeÄŤnĂ˝m spĂ´sobom" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "AktualizovaĹĄ systĂ©m, s moĹľnou inštaláciou a odstránenĂ­m balĂ­kov" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "PridaĹĄ dodávateÄľa do zoznamu dĂ´veryhodnĂ˝ch" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "PridaĹĄ ID kľúča dodávateÄľa (tieĹľ vyĹľaduje --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "PouĹľiĹĄ na vyhÄľadanie kľúčov uvedenĂ˝ server s kľúčmi" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "PridaĹĄ novĂ˝ zdroj softvĂ©ru zo zadanĂ©ho riadka deb" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Zadajte alternatĂ­vny sĂşbor v sources.list.d, do ktorĂ©ho sa majĂş pridaĹĄ " "zdroje softvĂ©ru." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Zoznam dĂ´veryhodnĂ˝ch kľúčov dodávateÄľov" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "OdstrániĹĄ kľúč s uvedenĂ˝m odtlaÄŤkom spomedzi dĂ´veryhodnĂ˝ch" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Znova nakonfigurovaĹĄ nainštalovanĂ© balĂ­ky. Je moĹľnĂ© zadaĹĄ minimálnu prioritu " "otázok." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Minimálna priorita otázok debconf, ktorĂ© sa budĂş zobrazovaĹĄ." #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "NepripájaĹĄ sa k terminálu apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "PovoliĹĄ inštaláciu balĂ­kov z neoverenĂ˝ch zdrojov" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "ÄŽalšie informácie o balĂ­koch. Momentálne oba ÄŤĂ­slo verzie." #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "ÄŚaká sa na overenie totoĹľnosti" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "NevypĂ­naĹĄ dĂ©mona z dĂ´vodu neaktivity" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "NenaÄŤĂ­tavaĹĄ Ĺľiadne zásuvnĂ© moduly" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "ZobraziĹĄ internĂ© informácie o priebehu" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "UkonÄŤiĹĄ a nahradiĹĄ uĹľ beĹľiaceho dĂ©mona" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "PoÄŤĂşvaĹĄ na zbernici DBus relácie (potrebnĂ© iba na testovanie)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "VykonaĹĄ operácie v uvedenom chroote" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "UkladaĹĄ štatistiky profilu v urÄŤenom sĂşbore" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "NevykonávaĹĄ Ĺľiadne zmeny v systĂ©me (uĹľitoÄŤnĂ© iba pre vĂ˝vojárov)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "NainštalovanĂ˝ sĂşbor" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "NainštalovanĂ© balĂ­ky" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "PridanĂ˝ kľúč zo sĂşboru" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Aktualizovaná vyrovnávacia pamäť" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "HÄľadanie dokonÄŤenĂ©" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "OdstránenĂ˝ dĂ´veryhodnĂ˝ kľúč" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "OdstránenĂ© balĂ­ky" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "AktualizovanĂ© balĂ­ky" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "AktualizovanĂ˝ systĂ©m" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Zmeny boli aplikovanĂ©" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Opravená neĂşplná inštalácia" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "OpravenĂ© poškodenĂ© závislosti" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "PridanĂ˝ zdroj softvĂ©ru" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "ZapnutĂ˝ komponent distribĂşcie" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "OdstránenĂ© stiahnutĂ© sĂşbory balĂ­kov" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Znovu nakonfigurovanĂ© nainštalovanĂ© balĂ­ky" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ĂšspešnĂ©" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "ZrušenĂ©" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Zlyhalo" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Inštaluje sa sĂşbor" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "InštalujĂş sa balĂ­ky" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Pridáva sa kľúč zo sĂşboru" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Aktualizuje sa vyrovnávacia pamäť" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "OdstraĹuje sa dĂ´veryhodnĂ˝ kľúč" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "OdstraĹujĂş sa balĂ­ky" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "AktualizujĂş sa balĂ­ky" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Aktualizuje sa systĂ©m" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "AplikujĂş sa zmeny" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Opravuje sa neĂşplná inštalácia" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Opravuje sa nainštalovanĂ˝ softvĂ©r" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Pridáva sa zdroj softvĂ©ru" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "ZapĂ­na sa komponent distribĂşcie" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "OdstraĹujĂş sa stiahnutĂ© sĂşbory balĂ­kov" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Znovu sa konfigurujĂş nainštalovanĂ© balĂ­ky" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "HÄľadá sa" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Inštalácia balĂ­ka zlyhala" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Inštalácia softvĂ©ru zlyhala" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Aktualizácia zoznamu softvĂ©ru zlyhala" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "OdstraĹovanie dodávateÄľa zo zoznamu dĂ´veryhodnĂ˝ch zlyhalo" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "OdstraĹovanie softvĂ©ru zlyhalo" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Aktualizácia zoznamu softvĂ©ru zlyhala" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Aktualizácia softvĂ©ru zlyhala" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "PouĹľitie zmien softvĂ©ru zlyhalo" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Oprava neĂşplnej inštalácie zlyhala" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Oprava poškodenĂ˝ch závislostĂ­ zlyhala" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Pridanie zdroje softvĂ©ru zlyhalo" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Zapnutie komponentu distribĂşcie zlyhalo" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Odstránenie stiahnutĂ˝ch balĂ­kov sa nepodarilo" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "HÄľadanie zlyhalo" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Pridáva sa licenÄŤnĂ˝ kľúč" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Skontrolujte svoje pripojenie k internetu" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Skontrolujte, ÄŤi nepoužívate zdroje softvĂ©ru tretĂ­ch strán. Ak áno, zakážte " "ich, pretoĹľe sĂş ÄŤastou prĂ­ÄŤinou problĂ©mov.\n" "ÄŽalej spustite v Termináli nasledujĂşci prĂ­kaz: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "VybranĂ˝ sĂşbor nie je autentifikaÄŤnĂ˝m kľúčom GPG alebo je poškodenĂ˝." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "VybranĂ˝ kľúč nebolo moĹľnĂ© odstrániĹĄ. Skontrolujte, ÄŤi ste poskytli platnĂ˝ " "odtlaÄŤok kľúča." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Skontrolujte, ÄŤi práve nebeží inĂ˝ nástroj na správu softvĂ©ru, napr. Synaptic " "alebo aptitude. Iba jeden zdroj naraz mĂ´Ĺľe vykonávaĹĄ zmeny." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Toto je vážny problĂ©m. ProsĂ­m, skĂşste to neskĂ´r znova. Ak sa tento problĂ©m " "znova objavĂ­, prosĂ­m nahláste chybu vĂ˝vojárom." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Skontrolujte, ÄŤi ste správne napĂ­sali názov balĂ­ka a ÄŤi je prĂ­slušnĂ˝ zdroj " "softvĂ©ru zapnutĂ˝." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Aktualizácia nie je potrebná." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Inštalácia nie je potrebná." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "OdstraĹovanie nie je potrebnĂ©." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "PoĹľiadali ste o odstránenie balĂ­ka, ktorĂ˝ je nevyhnutnou súčasĹĄou vášho " "systĂ©mu." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Spojenie s dĂ©monom bolo stratenĂ©. Pravdepodobne dĂ©mon na pozadĂ­ havaroval." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Inštalácia alebo odstránenie softvĂ©rovĂ©ho balĂ­ka zlyhalo" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "PoĹľadovaná funkcia nie je podporovaná" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Zdá sa, Ĺľe sa vyskytla chyba v aptdaemon, softvĂ©ri, ktorĂ˝ vám umoĹľĹuje " "inštalovaĹĄ a odstraĹovaĹĄ softvĂ©r a vykonávaĹĄ inĂ© Ăşlohy sĂşvisiace so správou " "softvĂ©ru." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "TĂşto chybu mohli spĂ´sobiĹĄ ÄŹalšie balĂ­ky softvĂ©ru, ktorĂ© buÄŹ chĂ˝bajĂş alebo " "ich nebolo moĹľnĂ© nainštalovaĹĄ. Okrem toho mohol nastaĹĄ konflikt medzi " "balĂ­kmi, ktorĂ© nemoĹľno nainštalovaĹĄ súčasne." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "VyĹľaduje sa inštalovanie balĂ­kov z nedĂ´veryhodnĂ˝ch zdrojov." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Inštalácia mohla zlyhaĹĄ z dĂ´vodu chyby prĂ­slušnĂ©ho balĂ­ka softvĂ©ru alebo " "bola zrušená nezvyÄŤajnĂ˝m spĂ´sobom. MusĂ­te to opraviĹĄ predtĂ˝m, neĹľ budete " "mĂ´cĹĄ inštalovaĹĄ alebo odstraĹovaĹĄ ÄŹalší softvĂ©r." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "ProsĂ­m, skopĂ­rujte sĂşbor na svoj lokálny poÄŤĂ­taÄŤ a skontrolujte oprávnenia " "sĂşboru." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Inštalácia balĂ­ka, ktorĂ˝ nezodpovedá štandardu kvality nie je povolená. To " "by mohlo spĂ´sobiĹĄ vážne problĂ©my s vaším poÄŤĂ­taÄŤom. ProsĂ­m, kontaktujte " "osobu alebo organizáciu, ktorá poskytla tento balĂ­k a poskytnite dolu " "uvedenĂ© informácie." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "StiahnutĂ˝ licenÄŤnĂ˝ kĂłd potrebnĂ˝ na beh tohto softvĂ©ru je neplatnĂ˝ alebo sa " "nedal korektne nainštalovaĹĄ.\n" "ÄŽalšie informácie nájdete v podrobnostiach." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Všetky dostupnĂ© aktualizácie uĹľ boli nainštalovanĂ©." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "LicenÄŤnĂ˝ kľúč, ktorĂ˝ vám umoĹľĹuje používaĹĄ tento softvĂ©r, nebolo moĹľnĂ© " "stiahnuĹĄ. ProsĂ­m, skontrolujte vaše pripojenie k sieti." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Zlyhalo sĹĄahovanie balĂ­kov" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Zlyhalo sĹĄahovanie informáciĂ­ o zdrojoch softvĂ©ru" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Závislosti balĂ­kov sa nedali vyriešiĹĄ" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "SystĂ©m balĂ­kov je poškodenĂ˝" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Kľúč nebol nainštalovanĂ˝" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Kľúč nebol odstránenĂ˝" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Zlyhalo zamknutie správcu balĂ­kov" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Zlyhalo naÄŤĂ­tanie zoznamu balĂ­kov" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "BalĂ­k neexistuje" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "BalĂ­k je uĹľ aktuálny" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "BalĂ­k uĹľ je nainštalovanĂ˝" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "BalĂ­k nie je nainštalovanĂ˝" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Nepodarilo sa odstrániĹĄ nevyhnutnĂ˝ systĂ©movĂ˝ balĂ­k" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Ăšlohu nemoĹľno sledovaĹĄ alebo kontrolovaĹĄ" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Operácia s balĂ­kom zlyhala" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "VyĹľaduje inštaláciu nedĂ´veryhodnĂ˝ch balĂ­kov" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Predošlá inštalácia nebola dokonÄŤená" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Tento balĂ­k je nekvalitnĂ˝" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "SĂşbor balĂ­ka nebolo moĹľnĂ© otvoriĹĄ" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Nepodporovaná funkcia" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Nepodarilo sa stiahnuĹĄ licenÄŤnĂ˝ kľúč" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Nepodarilo sa nainštalovaĹĄ licenÄŤnĂ˝ kľúč" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "SystĂ©m je uĹľ aktuálny" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Vyskytla sa neobslúžiteÄľná chyba" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "ÄŚaká sa na spustenie sluĹľby" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "ÄŚaká sa" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "ÄŚaká sa na poĹľadovanĂ˝ nosiÄŤ" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "ÄŚaká sa na ukonÄŤenie inĂ˝ch nástrojov na správu softvĂ©ru" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "ÄŚaká sa na vĂ˝zvu konfiguraÄŤnĂ©ho sĂşboru" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Prebieha Ăşloha" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "SĹĄahuje sa" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Prebieha poĹľiadavka na zdroje softvĂ©ru" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Prebieha ÄŤistenie" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "DokonÄŤenĂ©" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Ruší sa" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "NaÄŤĂ­tava sa zoznam softvĂ©ru" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Inštaluje sa %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Nastavuje sa %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "OdstraĹuje sa %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Ăšplne sa odstraĹuje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Zaznamenali sme zmiznutie %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Vykonáva sa spúšťaÄŤ post-installation %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Aktualizuje sa %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "RozbaÄľuje sa %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Pripravuje sa inštalácia %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Pripravuje sa konfigurácia %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Pripravuje sa odstránenie %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Pripravuje sa ĂşplnĂ© odstránenie %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "NainštalovanĂ˝ balĂ­k %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "BalĂ­k „%s“ je Ăşplne odstránenĂ˝" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "OdstránenĂ˝ balĂ­k %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Prebieha spracovanie %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Hotovo" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Overenie totoĹľnosti zlyhalo" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "SĹĄahuje sa" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "NeÄŤinnĂ˝" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "SieĹĄ nie je dostupná" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Podrobnosti" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "SĂşbor" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "StiahnutĂ˝ch %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "StiahnutĂ˝ch" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "VyĹľaduje sa CD/DVD „%s“" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "ProsĂ­m, vloĹľte vyššie uvedenĂ© CD/DVD do jednotky „%s“ aby ste z neho mohli " "nainštalovaĹĄ softvĂ©rovĂ© balĂ­ky." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "P_okraÄŤovaĹĄ" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "NainštalovaĹĄ" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Znovu nainštalovaĹĄ" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "OdstrániĹĄ" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "OdstrániĹĄ s konfiguráciou" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "AktualizovaĹĄ" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "ZnĂ­ĹľiĹĄ verziu" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "PreskoÄŤiĹĄ aktualizáciu" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "ProsĂ­m, skontrolujte zoznam zmien dolu." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Je potrebnĂ© nainštalovaĹĄ ÄŹalší softvĂ©r" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Je potrebnĂ© znovu nainštalovaĹĄ ÄŹalší softvĂ©r" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Je potrebnĂ© odstrániĹĄ ÄŹalší softvĂ©r" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Je potrebnĂ© odstrániĹĄ s konfiguráciou ÄŹalší softvĂ©r" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Je potrebnĂ© aktualizovaĹĄ ÄŹalší softvĂ©r" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Je potrebnĂ© znĂ­ĹľiĹĄ verziu ÄŹalšieho softvĂ©ru" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Aktualizácie sa preskoÄŤia" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "VyĹľadujĂş sa ÄŹalšie zmeny" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Stiahne sa celkom %sB." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "UvoÄľnĂ­ sa %sB miesta na disku." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "PouĹľije sa ÄŹalších %sB miesta na disku." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "NahradiĹĄ vaše zmeny v „%s“ novšou verziou konfiguraÄŤnĂ©ho sĂşboru?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Ak neviete, preÄŤo sa tu sĂşbor uĹľ nachádza, je zvyÄŤajne bezpeÄŤnĂ© ho nahradiĹĄ." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Zmeny" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_PonechaĹĄ" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "Nah_radiĹĄ" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "Po_drobnosti" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "ÄŚaká sa na ukonÄŤenie %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "SĹĄahuje sa %(files)s" msgstr[1] "SĹĄahuje sa %(files)s" msgstr[2] "SĹĄahuje sa %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "lokálny zdroj softvĂ©ru" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "SĹĄahuje sa z %s" msgstr[1] "SĹĄahuje sa z %s" msgstr[2] "SĹĄahuje sa z %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Ĺ truktĂşra %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Popis %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Ăšplne sa odstraĹuje %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "DostupnĂ© balĂ­ky z %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "DostupnĂ© zdroje z %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "DostupnĂ© preklady z %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "DostupnĂ© preklady %s (%s) z %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "DostupnĂ© preklady pre %s z %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Preklady (%s) z %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "BalĂ­k %s nie je dostupnĂ˝" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "BalĂ­k %s nie je nainštalovanĂ˝" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Verzia %s %s nie je nainštalovaná" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "BalĂ­k %s je uĹľ nainštalovanĂ˝" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Verzia %s %s nie je dostupná." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "URL servera kľúčov je neplatnĂ©: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "NeplatnĂ˝ protokol servera: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "NeplatnĂ˝ identifikátor kľúča: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Nepodarilo sa stiahnuĹĄ a nainštalovaĹĄ kľúč %s z %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "SĂşbor kľúča %s nebolo moĹľnĂ© nainštalovaĹĄ: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Kľúč s odtlaÄŤkom %s nebolo moĹľnĂ© odstrániĹĄ: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "BalĂ­k %s nie je moĹľnĂ© odstrániĹĄ." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Verzia %s %s nie je nainštalovaná" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Predošlá verzia %s %s uĹľ je nainštalovaná" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Verzia %s %s uĹľ je nainštalovaná" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Verzia %s %s nie je dostupná" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "MusĂ­te uviesĹĄ verziu, na ktorĂş chcete znĂ­ĹľiĹĄ balĂ­k %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Novšia verzia %s %s je uĹľ nainštalovaná" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "BalĂ­k %s nie je dostupnĂ˝ vo vydanĂ­ %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "BalĂ­k %s nie je moĹľnĂ© odstrániĹĄ" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "BalĂ­k neposkytuje platnĂ© pole Installed-Size v sĂşbore control. Pozri Debian " "Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "LicenÄŤnĂ˝ kľúč je prázdny" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "LicenÄŤnĂ˝ kľúč nemĂ´Ĺľe obsahovaĹĄ spustiteÄľnĂ˝ kĂłd" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Cesta %s k licenÄŤnĂ©mu kľúču je neplatná" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "LicenÄŤnĂ˝ kľúč uĹľ existuje: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Umiestnenie licenÄŤnĂ©ho kľúča nie je bezpeÄŤnĂ©, pretoĹľe obsahuje symbolickĂ© " "odkazy. Cesta %s sa mapuje na %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Adresár, kde sa má nainštalovaĹĄ kľúč zatiaÄľ neexistuje: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Nepodarilo sa zapĂ­saĹĄ kľúč do: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "NasledovnĂ© balĂ­ky maĂş nesplnenĂ© závislosti:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "ale je to virtuálny balĂ­k" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ale nie je nainštalovanĂ˝" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ale nebude sa inštalovaĹĄ" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ale %s je nainštalovanĂ˝" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ale %s sa bude inštalovaĹĄ" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Pridanie kľúča do zoznamu dĂ´veryhodnĂ˝ch dodávateÄľov softvĂ©ru zlyhalo" aptdaemon-1.1.1/po/se.po0000644000175000017500000010361412117271433015633 0ustar renaterenate00000000000000# Northern Sami translation for aptdaemon # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-08-01 20:24+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Northern Sami \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "MEATTĂHUS" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "MEATTĂHUS:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Hálidat go don joatkit [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Lihkostuvai" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Gaskkalduvvon" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Filtii" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Ohcamin" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Vuordimin" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Viežžamat" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Geargan" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Sajáiduhttimin %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Geargan" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Autentiseren filtii" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Ealjoheapmi" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Bienat" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fiila" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Sajáiduhte" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Ođđasit sajáiduhttit" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Váldde eret" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Sihko" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "OÄ‘asmahte" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Vulos" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/cy.po0000644000175000017500000010366412117271433015644 0ustar renaterenate00000000000000# Welsh translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2010-12-16 07:15+0000\n" "Last-Translator: David Jones \n" "Language-Team: Welsh \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? " "2 : 3;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Newid cronfa meddalwedd" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Gosod ffeil pecyn" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Gosod neu dynnu pecynnau" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Ychwanegu cronfa newydd a gosod pecynnau ohoni" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Ychwanegu cronfa newydd o feddalwedd wedi prynu a gosod pecynnau ohoni" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Canslo tasg defnyddiwr arall" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "GWALL" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Llwythwyd %sB o %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "GWALL:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Wedi Methu" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Gosod ffeil" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/ln.po0000644000175000017500000010320712117271433015633 0ustar renaterenate00000000000000# Lingala translation for aptdaemon # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-08-09 14:09+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Lingala \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/cs.po0000644000175000017500000013430212117271433015627 0ustar renaterenate00000000000000# Czech translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-09-16 06:20+0000\n" "Last-Translator: VojtÄ›ch TrefnĂ˝ \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Seznam klĂ­ÄŤĹŻ dĹŻvÄ›ryhodnĂ˝ch poskytovatelĹŻ" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Pro zobrazenĂ­ dĹŻvÄ›ryhodnĂ˝ch klĂ­ÄŤĹŻ je vyĹľadováno ověřenĂ­." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Odstranit staĹľenĂ© soubory s balĂ­ky" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Pro vyÄŤištÄ›nĂ­ staĹľenĂ˝ch souborĹŻ s balĂ­ky je vyĹľadováno ověřenĂ­." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "ZmÄ›nit nastavenĂ­ softwaru" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Pro zmÄ›nu nastavenĂ­ softwaru je vyĹľadováno ověřenĂ­." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "ZmÄ›nit zdroj softwaru" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Pro zmÄ›nu nastavenĂ­ zdrojĹŻ softwaru je vyĹľadováno ověřenĂ­." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Nainstalovat balĂ­k" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Pro instalaci tohoto balĂ­ku je vyĹľadováno ověřenĂ­." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Aktualizovat informace o balĂ­cĂ­ch" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Pro obnovenĂ­ katalogu softwaru je vyĹľadováno ověřenĂ­." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Nainstalovat nebo odstranit balĂ­ky" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Pro instalaci nebo odstranÄ›nĂ­ softwaru je vyĹľadováno ověřenĂ­." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Instalace softwaru z dĹŻvÄ›ryhodnĂ©ho zdroje." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Pro instalaci softwaru je vyĹľadováno ověřenĂ­." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "PĹ™idat novĂ˝ zdroj a instalovat z nÄ›j balĂ­ky" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Pro instalaci softwaru z novĂ©ho zdroje je vyĹľadováno ověřenĂ­." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "PĹ™idat novĂ˝ zdroj s placenĂ˝m softwarem a instalovat z nÄ›j balĂ­ky" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Pro instalaci placenĂ©ho softwaru je vyĹľadováno ověřenĂ­." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Aktualizovat balĂ­ky" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Pro instalaci aktualizacĂ­ je vyĹľadováno ověřenĂ­." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Zrušit Ăşlohu jinĂ©ho uĹľivatele" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Pro zrušenĂ­ oprávnÄ›nĂ­ k ĂşpravÄ› softwaru nÄ›kĂ˝m jinĂ˝m je vyĹľadováno ověřenĂ­." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Nastavit proxy pro stahovánĂ­ softwaru" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Pro pouĹľitĂ­ proxy serveru pĹ™i stahovánĂ­ softwaru je vyĹľadováno ověřenĂ­." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "CHYBA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "StaĹľeno %sB z %sB pĹ™i %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "StaĹľeno %sB z %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "CHYBA:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Nemáte dovoleno provĂ©st tuto akci." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "ĹazenĂ­ do fronty" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Ĺeší se závislosti" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "NásledujĂ­cĂ­ NOVĂť balĂ­k bude nainstalován (%(count)s):" msgstr[1] "NásledujĂ­cĂ­ NOVÉ balĂ­ky budou nainstalovány (%(count)s):" msgstr[2] "NásledujĂ­cĂ­ NOVÉ balĂ­ky budou nainstalovány (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "NásledujĂ­cĂ­ balĂ­k bude aktualizován (%(count)s):" msgstr[1] "NásledujĂ­cĂ­ balĂ­ky budou aktualizovány (%(count)s):" msgstr[2] "NásledujĂ­cĂ­ balĂ­ky budou aktualizovány (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "NásledujĂ­cĂ­ balĂ­k bude odstranÄ›n (%(count)s):" msgstr[1] "NásledujĂ­cĂ­ balĂ­ky budou odstranÄ›ny (%(count)s):" msgstr[2] "NásledujĂ­cĂ­ balĂ­ky budou odstranÄ›ny (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "NásledujĂ­cĂ­ balĂ­k bude ponĂ­Ĺľen (%(count)s):" msgstr[1] "NásledujĂ­cĂ­ balĂ­ky budou ponĂ­Ĺľeny (%(count)s):" msgstr[2] "NásledujĂ­cĂ­ balĂ­ky budou ponĂ­Ĺľeny (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "NásledujĂ­cĂ­ balĂ­k bude pĹ™einstalován (%(count)s):" msgstr[1] "NásledujĂ­cĂ­ balĂ­ky budou pĹ™einstalovány (%(count)s):" msgstr[2] "NásledujĂ­cĂ­ balĂ­ky budou pĹ™einstalovány (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "NásledujĂ­cĂ­ balĂ­k byl ponechán (%(count)s):" msgstr[1] "NásledujĂ­cĂ­ balĂ­ky byly ponechány (%(count)s):" msgstr[2] "NásledujĂ­cĂ­ balĂ­ky byly ponechány (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Je tĹ™eba stáhnout %sB archivĹŻ." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Po tĂ©to operaci bude navĂ­c pouĹľito %sB mĂ­sta na disku." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Po tĂ©to operaci bude uvolnÄ›no %sB mĂ­sta na disku." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "PĹ™ejete si pokraÄŤovat [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "PĹ™i práci na vĂ­ce jak jednom balĂ­ku vloĹľte názvy balĂ­kĹŻ do uvozovek:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Obnovit mezipaměť" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Pokusit se vyĹ™ešit porušenĂ© závislosti. Jedná se o potenciálnÄ› nebezpeÄŤnou " "operaci, jelikoĹľ mĹŻĹľe dojĂ­t k odstranÄ›nĂ­ mnoha balĂ­kĹŻ." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Pokusit se dokonÄŤit pĹ™edchozĂ­ neĂşplnou instalaci" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Nainstalovat urÄŤenĂ© balĂ­ky" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "PĹ™einstalovat urÄŤenĂ© balĂ­ky" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Odstranit urÄŤenĂ© balĂ­ky" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Odstranit urÄŤenĂ© balĂ­ky vÄŤetnÄ› konfiguraÄŤnĂ­ch souborĹŻ" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "PonĂ­Ĺľit verzi urÄŤenĂ˝ch balĂ­kĹŻ" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "ZastaralĂ©: PouĹľijte prosĂ­m --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "PĹ™ejĂ­t na novÄ›jší vydánĂ­ bezpeÄŤnĂ˝m zpĹŻsobem" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "PĹ™ejĂ­t na novÄ›jší vydánĂ­, eventuálnÄ› provĂ©st instalaci a odstranÄ›nĂ­ balĂ­kĹŻ" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "PĹ™idat poskytovatele mezi dĹŻvÄ›ryhodnĂ©" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "PĹ™idat ID klĂ­ÄŤ poskytovatele (poĹľadován takĂ© --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Použít danĂ˝ server pro vyhledánĂ­ klĂ­ÄŤĹŻ" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "PĹ™idat novĂ˝ zdroj z danĂ© řádky deb" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Specifikujte, prosĂ­m, alternativnĂ­ soubor sources.list.d, do kterĂ©ho se majĂ­ " "pĹ™idat repozitáře." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Vypsat klĂ­ÄŤe dĹŻvÄ›ryhodnĂ˝ch poskytovatelĹŻ" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Odstranit dĹŻvÄ›ryhodnĂ© klĂ­ÄŤe dle zadanĂ©ho otisku" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "PĹ™ekonfigurovat instalovanĂ© balĂ­ky. VolitelnÄ› mĹŻĹľe bĂ˝t urÄŤena minimálnĂ­ " "priorita otázek" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "MinimálnĂ­ debconf priorita otázek, kterĂ© majĂ­ bĂ˝t zobrazeny" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "NepĹ™ipojovat se k terminálu apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Povolit balĂ­ky z neověřenĂ˝ch zdrojĹŻ" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Zobrazit dodateÄŤnĂ© informace o balĂ­cĂ­ch. MomentálnÄ› pouze ÄŤĂ­slo verze" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "ÄŚeká se na ověřenĂ­" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "NeukonÄŤovat dĂ©mona z dĹŻvodu neaktivity" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "NenaÄŤĂ­tat žádnĂ© zásuvnĂ© moduly" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Zobrazit informace o vnitĹ™nĂ­ch procesech" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "UkonÄŤit a nahradit jiĹľ běžícĂ­ho dĂ©mona" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Poslouchat na sbÄ›rnici DBus (VyĹľadováno pouze pro testovánĂ­" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "ProvĂ©st operace v zadanĂ©m chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Ukládat statistiky profilu do zadanĂ©ho souboru" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "NeprovádÄ›t žádnĂ© zmÄ›ny v systĂ©mu (urÄŤeno jen pro vĂ˝vojáře)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Soubor nainstalován" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "BalĂ­ky nainstalovány" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "PĹ™idán klĂ­ÄŤ ze souboru" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Mezipaměť aktualizována" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "HledánĂ­ dokonÄŤeno" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "OdstranÄ›n dĹŻvÄ›ryhodnĂ˝ klĂ­ÄŤ" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "BalĂ­ky odstranÄ›ny" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "BalĂ­ky aktualizovány" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "SystĂ©m povýšen" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "ZmÄ›ny provedeny" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "NeĂşplná instalace opravena" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "PorušenĂ© závislosti opraveny" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "PĹ™idán zdroj softwaru" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Součást distribuce povolena" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "OdstranÄ›nĂ© soubory staĹľenĂ˝ch balĂ­kĹŻ" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "PĹ™ekonfigurovanĂ© instalovanĂ© balĂ­ky" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ĂšspěšnĂ©" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Zrušeno" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Selhalo" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Instaluje se soubor" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "InstalujĂ­ se balĂ­ky" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "PĹ™idává se klĂ­ÄŤ ze souboru" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Aktualizuje se mezipaměť" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "OdstraĹuje se dĹŻvÄ›ryhodnĂ˝ klĂ­ÄŤ" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "OdstraĹujĂ­ se balĂ­ky" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "AktualizujĂ­ se balĂ­ky" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Povyšuje se systĂ©m" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ProvádÄ›jĂ­ se zmÄ›ny" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Opravuje se neĂşplná instalace" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Opravuje se instalovanĂ˝ software" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "PĹ™idává se zdroj softwaru" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Povoluje se součást distribuce" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "OdstraĹovánĂ­ staĹľenĂ˝ch balĂ­kĹŻ" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "PĹ™ekonfigurace instalovanĂ˝ch balĂ­kĹŻ" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "VyhledávánĂ­" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Instalace balĂ­ku selhala" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Instalace softwaru selhala" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "ObnovovánĂ­ seznamu softwaru selhalo" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "OdstranÄ›nĂ­ poskytovatele ze seznamu dĹŻvÄ›ryhodnĂ˝ch selhalo" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "OdstranÄ›nĂ­ softwaru selhalo" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Aktualizace softwaru selhala" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "PovýšenĂ­ systĂ©mu selhalo" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "UplatnÄ›nĂ­ zmÄ›n softwaru selhalo" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Oprava neĂşplnĂ© instalace selhala" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Oprava porušenĂ˝ch závislostĂ­ selhala" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "PĹ™idánĂ­ zdroje softwaru selhalo" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "PovolenĂ­ součásti distribuce selhalo" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "OdstraĹovánĂ­ staĹľenĂ˝ch balĂ­kĹŻ selhalo" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "VyhledávánĂ­ selhalo" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "PĹ™idávánĂ­ licenÄŤnĂ­ho klĂ­ÄŤe" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Zkontrolujte svoje internetovĂ© pĹ™ipojenĂ­" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Zkontrolujte, zda nepoužíváte zdroje tĹ™etĂ­ch stran. Pokud ano, zakaĹľte je, " "protoĹľe jsou ÄŤasto zdrojem problĂ©mĹŻ.\n" "Dále spusĹĄte v terminálu následujĂ­cĂ­ příkaz: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "VybranĂ˝ soubor moĹľná neobsahuje klĂ­ÄŤ GPG nebo mĹŻĹľe bĂ˝t poškozen." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "VybranĂ˝ klĂ­ÄŤ nelze odstranit. Zkontrolujte, zda byl otisk prstu správnÄ› " "proveden." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Zkontrolujte, zda nenĂ­ spuštÄ›n jinĂ˝ nástroj pro správu softwaru, napĹ™. " "Synaptic nebo aptitude. Najednou smĂ­ běžet pouze jeden nástroj." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Toto je závaĹľnĂ˝ problĂ©m. Zkuste akci opakovat pozdÄ›ji. Pokud se problĂ©m " "vyskytne znovu, oznamte to vĂ˝vojářům." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Zkontrolujte pravopis v názvu balĂ­ku a zda je povolen příslušnĂ˝ zdroj." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "NenĂ­ nutná žádná aktualizace." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "NenĂ­ nutná žádná instalace." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "NenĂ­ nutnĂ© žádnĂ© odstraĹovánĂ­." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "PoĹľadujete odstranÄ›nĂ­ balĂ­ku, kterĂ˝ je nezbytnou součástĂ­ systĂ©mu." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "SpojenĂ­ s dĂ©monem bylo ztraceno. Tento dĂ©mon běžícĂ­ na pozadĂ­ pravdÄ›podobnÄ› " "spadl." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Instalace nebo odstraĹovánĂ­ balĂ­ku selhalo." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "PoĹľadovaná funkce nenĂ­ podporována." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Zdá se, Ĺľe pĹ™i tvorbÄ› aptdaemon - softwaru, kterĂ˝ umoĹľĹuje " "instalaci/odstraĹovánĂ­ softwaru a další Ăşkoly souvisejĂ­cĂ­ se správou " "softwaru - došlo k chybÄ›." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Tato chyba mohla bĂ˝t zpĹŻsobena poĹľadovanĂ˝mi dodateÄŤnĂ˝mi balĂ­ky, kterĂ© chybĂ­ " "nebo nejsou instalovatelnĂ©. Dále mĹŻĹľe bĂ˝t konflikt mezi balĂ­ky, u kterĂ˝ch " "nenĂ­ povolena instalace ve stejnou dobu." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Tato akce vyĹľaduje instalaci balĂ­kĹŻ z neověřenĂ˝ch zdrojĹŻ." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Instalace mohla selhat kvĹŻli chybÄ› v příslušnĂ©m balĂ­ku nebo byla zrušena " "nevhodnĂ˝m zpĹŻsobem. Tento problĂ©m musĂ­te opravit pĹ™ed instalacĂ­ nebo " "odstranÄ›nĂ­m dalšího softwaru." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "ProsĂ­m, zkopĂ­rujte si soubor do poÄŤĂ­taÄŤe a zkontrolujte oprávnÄ›nĂ­ k souboru." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Instalace balĂ­ku porušujĂ­cĂ­ho standardy kvality nenĂ­ povolena. Mohla by na " "vašem poÄŤĂ­taÄŤi zpĹŻsobit vážnĂ© problĂ©my. Kontaktujte prosĂ­m osobu nebo " "organizaci, která tento balĂ­k poskytla a pĹ™iloĹľte nĂ­Ĺľe uvedenĂ© detaily." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "StaĹľenĂ˝ licenÄŤnĂ­ klĂ­ÄŤ, kterĂ˝ je nutnĂ˝ pro bÄ›h tohoto softwaru, nenĂ­ správnĂ˝ " "nebo nemĹŻĹľe bĂ˝t správnÄ› nainstalován.\n" "Pro vĂ­ce informacĂ­ vizte detaily." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Jsou nainstalovány všechny dostupnĂ© aktualizace." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "LicenÄŤnĂ­ klĂ­ÄŤ, umoĹľĹujĂ­cĂ­ používat tento software, nemohl bĂ˝t staĹľen. ProsĂ­m " "zkontrolujte svoje internetovĂ© pĹ™ipojenĂ­." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "StahovánĂ­ balĂ­kĹŻ selhalo" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "StahovánĂ­ informacĂ­ o zdroji selhalo" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Závislosti balĂ­ku nemohly bĂ˝t vyĹ™ešeny" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "BalĂ­ÄŤkovacĂ­ systĂ©m je porušen" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "KlĂ­ÄŤ nebyl nainstalován" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "KlĂ­ÄŤ nebyl odstranÄ›n" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "ZamknutĂ­ správce balĂ­kĹŻ selhalo" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "NahrávánĂ­ seznamu balĂ­kĹŻ selhalo" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "BalĂ­k neexistuje" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "BalĂ­k je aktuálnĂ­." #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "BalĂ­k je nainstalován" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "BalĂ­k nenĂ­ nainstalován" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "OdstranÄ›nĂ­ nezbytnĂ©ho systĂ©movĂ©ho balĂ­ku selhalo" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Ăšloha nemĹŻĹľe bĂ˝t sledována nebo kontrolována" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Operace s balĂ­kem selhala" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Je poĹľadována instalace neprověřenĂ˝ch balĂ­kĹŻ" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "PĹ™edchozĂ­ instalace nebyla dokonÄŤena" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "BalĂ­k má špatnou kvalitu" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Soubor balĂ­ku nelze otevřít" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Nepodporovaná funkce" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Selhalo staĹľenĂ­ licenÄŤnĂ­ho klĂ­ÄŤe" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Selhala instalace licenÄŤnĂ­ho klĂ­ÄŤe" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "SystĂ©m je plnÄ› aktualizovanĂ˝" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Nastala neošetĹ™ená chyba" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "ÄŚeká se na spuštÄ›nĂ­ sluĹľby" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "ÄŚeká se" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "ÄŚeká se na poĹľadovanĂ© mĂ©dium" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "ÄŚeká se na ukonÄŤenĂ­ jinĂ˝ch správcĹŻ softwaru" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "ÄŚeká se na vĂ˝zvu konfiguraÄŤnĂ­ho souboru" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "BěžícĂ­ Ăşloha" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Stahuje se" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "DotazovánĂ­ zdrojĹŻ softwaru" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ProbĂ­há ÄŤištÄ›nĂ­" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "DokonÄŤeno" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Ruší se" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Nahrává se seznam software" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Instaluje se %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Nastavuje se %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "OdstraĹuje se %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "KompletnĂ­ odstraĹovánĂ­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "OznaÄŤenĂ­ zmizenĂ­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "SpouštĂ­ se poinstalaÄŤnĂ­ spouštěč %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "ProbĂ­há povýšenĂ­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "RozbalovánĂ­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Příprava instalace %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Příprava konfigurace %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Příprava odstranÄ›nĂ­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Příprava ĂşplnĂ©ho odstranÄ›nĂ­ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s je nainstalován" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s je kompletnÄ› odstranÄ›n" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s je odstranÄ›n" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Zpracovává se %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Hotovo" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "OvěřenĂ­ selhalo" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "ZĂ­skává se" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "NeÄŤinnĂ˝" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "SĂ­ĹĄ nenĂ­ dostupná" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Podrobnosti" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Soubor" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "StaĹľeno %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "StaĹľeno" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Je poĹľadováno CD/DVD '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "K instalaci balĂ­kĹŻ vloĹľte prosĂ­m výše uvedenĂ© CD/DVD do mechaniky '%s'." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "P_okraÄŤovat" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Nainstalovat" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "PĹ™einstalovat" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Odstranit" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "VyÄŤistit" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "PĹ™ejĂ­t na vyšší verzi" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "PĹ™ejĂ­t na nižší verzi" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Vynechat povýšenĂ­" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "PodĂ­vejte se prosĂ­m do seznam zmÄ›n nĂ­Ĺľe." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "DodateÄŤnĂ˝ software musĂ­ bĂ˝t nainstalován" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "DodateÄŤnĂ˝ software musĂ­ bĂ˝t pĹ™einstalován" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "DodateÄŤnĂ˝ software musĂ­ bĂ˝t odstranÄ›n" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "DodateÄŤnĂ˝ software musĂ­ bĂ˝t vyÄŤištÄ›n" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "DodateÄŤnĂ˝ software musĂ­ pĹ™ejĂ­t na vyšší verzi" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "DodateÄŤnĂ˝ software musĂ­ pĹ™ejĂ­t na nižší verzi" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Aktualizace budou vynechány" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Jsou poĹľadovány dodateÄŤnĂ© zmÄ›ny" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Celkem bude staĹľeno %sB." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Bude uvolnÄ›no %sB mĂ­sta na disku." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Bude pouĹľito navĂ­c %sB mĂ­sta na disku." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Chcete nahradit vaše zmÄ›ny v '%s' novÄ›jší verzĂ­ konfiguraÄŤnĂ­ho souboru?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Pokud nevĂ­te, proÄŤ je jiĹľ tento soubor zde, je obvykle bezpeÄŤnĂ© nahradit jej." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_ZmÄ›ny" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Ponechat" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Nahradit" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "Po_drobnosti" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "ÄŚekánĂ­ aĹľ bude %s ukonÄŤen" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Stahuje se soubor %(files)s" msgstr[1] "StahujĂ­ se soubory %(files)s" msgstr[2] "StahujĂ­ se soubory %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "lokálnĂ­ repozitář" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "StahovánĂ­ z %s" msgstr[1] "StahovánĂ­ z %s" msgstr[2] "StahovánĂ­ z %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Struktura %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Popis %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Popis podpisu %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "DostupnĂ© balĂ­ky z %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "DostupnĂ© zdroje z %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "DostupnĂ© pĹ™eklady z %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "PĹ™eklady pro %s (%s) z %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "PĹ™eklady pro %s z %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "PĹ™eklady (%s) z %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "BalĂ­k %s nenĂ­ dostupnĂ˝" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "BalĂ­k %s nenĂ­ nainstalovanĂ˝" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Verze %s z %s nenĂ­ nainstalována" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "BalĂ­k %s je jiĹľ nainstalován" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Verze %s z %s nenĂ­ dostupná" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Adresa serveru s klĂ­ÄŤi je neplatná: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "NeplatnĂ˝ protokol serveru: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "NeplatnĂ© ID klĂ­ÄŤe: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "NepodaĹ™ilo se stáhnout a instalovat klĂ­ÄŤ %s z %s\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Soubor klĂ­ÄŤe %s nelze nainstalovat: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "KlĂ­ÄŤ z otisku %s se nepodaĹ™ilo odstranit: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "BalĂ­k %s nelze odstranit." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Verze %s z %s nenĂ­ naistalována" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Stejná verze %s z %s je jiĹľ nainstalována" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Verze %s z %s je jiĹľ nainstalována" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Verze %s z %s nenĂ­ dostupná" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "MusĂ­te zadat verzi downgrade %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "NovÄ›jší verze %s z %s je jiĹľ nainstalována" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "BalĂ­ÄŤek %s nenĂ­ dostupnĂ˝ pro vydánĂ­ %s" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "BalĂ­k %s nelze odstranit" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "BalĂ­k neposkytuje validnĂ­ kontrolnĂ­ pole \"Instalovaná velikost\". Pro vĂ­ce " "informacĂ­ v Debian Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "LicenÄŤnĂ­ klĂ­ÄŤ nenĂ­ nastaven" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "LicenÄŤnĂ­ klĂ­ÄŤ nesmĂ­ obsahovat spustitelnĂ˝ kĂłd." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Cesta k licenÄŤnĂ­mu klĂ­ÄŤi %s nenĂ­ platná." #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "LicenÄŤnĂ­ klĂ­ÄŤ '%s' uĹľ existuje." #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "UmĂ­stÄ›nĂ­ licenÄŤnĂ­ho klĂ­ÄŤe je nebezpeÄŤnĂ©, protoĹľe obsahuje symbolickĂ© odkazy. " "Cesta '%s' ukazuje na '%s'" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Adresář '%s' pro instalaci klĂ­ÄŤe ještÄ› neexistuje." #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Selhalo uloĹľenĂ­ klĂ­ÄŤe do: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "NásledujĂ­cĂ­ balĂ­ky majĂ­ nesplnÄ›nĂ© závislosti:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "ale je to virtuálnĂ­ balĂ­k" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ale nenĂ­ nainstalován" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ale nebude se instalovat" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ale %s je nainstalován" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ale %s se bude instalovat" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "PĹ™idánĂ­ klĂ­ÄŤe do seznamu dĹŻvÄ›ryhodnĂ˝ch poskytovatelĹŻ softwaru selhalo" aptdaemon-1.1.1/po/mi.po0000644000175000017500000010331612117271433015630 0ustar renaterenate00000000000000# Maori translation for aptdaemon # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-07-24 03:21+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Maori \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "I rahua" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Kua oti" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Taipitopito" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "KĹŤnae" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "TÄuta" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "TÄuta anĹŤ" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Tango" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Pupuritia" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Whakakapia" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/fi.po0000644000175000017500000013441312117271433015623 0ustar renaterenate00000000000000# Finnish translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-08 14:13+0000\n" "Last-Translator: Heikki Mattila \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Luettele luotettujen toimittajien avaimet" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Luotettujen avaimien luettelon näyttö vaatii tunnistautumisen." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Poista ladatut pakettitiedostot" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Sinun tulee tunnistautua siivotaksesi noudetut pakettitiedostot" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Muuta ohjelmistoasetuksia" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Sinun tulee tunnistautua muuttaaksesi ohjelmistoasetuksia" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Vaihda ohjelmalähde" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Ohjelmalähteiden asetuksien muuttaminen vaatii tunnistautumisen." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Asenna pakettitiedosto" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Paketin asennus vaatii tunnistautumisen." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Päivitä pakettitiedot" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Ohjelmistoluettelon päivitys vaatii tunnistautumisen." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Asenna tai poista paketteja" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Ohjelmistojen asennus tai poisto vaatii tunnistautumisen." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Asenna ohjelmistoja vahvasti luotetuista erikseen sallituista " "ohjelmalähteistä." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Ohjelmistojen asennus vaatii tunnistautumisen." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Lisää uusi ohjelmalähde ja asenna sieltä paketteja" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Ohjelmistojen asennus uudesta lähteestä vaatii tunnistautumisen." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Lisää uusi maksullisten sovellusten ohjelmalähde ja asenna sieltä paketteja" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Maksullisten ohjelmistojen asennus vaatii tunnistautumisen." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Päivitä paketit" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Päivitettyjen ohjelmistojen asennus vaatii tunnistautumisen." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Peru toisen käyttäjän tehtävä" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Toisen tekemien ohjelmistomuutosten keskeyttäminen vaatii tunnistautumisen." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Aseta välityspalvelin ohjelmistojen noutamista varten" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Välityspalvelimen käyttö ohjelmistojen lataamiseksi vaatii tunnistautumisen." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "VIRHE" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Ladattu %sB / %sB (%sB/s)" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Noudettu %sB / %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "VIRHE:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Sinulla ei ole oikeutta suorittaa tätä toimintoa." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Asetetaan jonoon" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Ratkaistaan riippuvuuksia" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Seuraava UUSI paketti asennetaan (%(count)s):" msgstr[1] "Seuraavat UUDET paketit asennetaan (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Seuraava paketti päivitetään (%(count)s):" msgstr[1] "Seuraavat paketit päivitetään (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Seuraava paketti POISTETAAN (%(count)s):" msgstr[1] "Seuraavat paketit POISTETAAN (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Seuraava paketti VANHENNETAAN (%(count)s):" msgstr[1] "Seuraavat paketit VANHENNETAAN (%(count)s):(%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Seuraava paketti asennetaan uudelleen (%(count)s):" msgstr[1] "Seuraavat paketit asennetaan uudelleen (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Seuraava paketti jätetään päivittämättä (%(count)s):" msgstr[1] "Seuraavat paketit jätetään päivittämättä (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Noudetaan %sB." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Tämän toiminnon jälkeen %sB lisää levytilaa tullaan käyttämään." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Tämän toiminnon jälkeen %sB lisää levytilaa tulee vapautumaan." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Haluatko jatkaa [Y/n]" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Laita pakettien nimet lainausmerkkien sisälle suorittaaksesi toimenpiteitä " "useammalle kuin yhdelle paketille:\n" "aptdcon --install \"paketti1 paketti2\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Päivitä välimuisti" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Yritä selvittää rikkoutuneet riippuvaisuudet. Tämä on mahdollisesti " "vaarallinen toimenpide, sillä se saattaa yrittää poistaa useita paketteja." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Yritä suorittaa loppuun aiempi kesken jäänyt asennus" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Asenna annetut paketit" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Asenna annetut paketit uudelleen" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Poista annetut paketit" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Poista annetut paketit, mukaan lukien asetustiedostot" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Varhenna paketit" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Vanhentunut: käytä valintaa --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Päivitä järjestelmä turvallisella tavalla" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Päivitä järjestelmä mahdollisesti samalla asentaen tai poistaen paketteja" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Lisää toimittaja luotettuihin" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "Lisää toimittajan avaintunniste (tarvitsee myös valitsimen --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Käytä annettua avainpalvelinta avaimien hakuun" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Lisää uusi lähde annetulla deb-riviltä" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Määritä vaihtoehtoinen sources.list.d-tiedosto, johon lähteet lisätään." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Luettele luotetut toimittaja-avaimet" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Poista annetun sormenjäljen mukainen luotettu avain" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Tee asennettujen pakettien asetukset uudelleen. Kysyttävien kysymysten " "pienin tärkeysluokitus voidaan asettaa erikseen." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Pienin tärkeysaste näytettäville kysymyksille." #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Ă„lä kiinnitä apt-päätteeseen" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Salli paketit varmentamattomista lähteistä" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "Näytä lisätietoja paketeista (tällä hetkellä vain versionumero)." #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Odotetaan tunnistautumista" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Ă„lä sammuta taustaprosessia inaktiivisuuden takia" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Ă„lä lataa mitään liitännäisiä" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Näytä sisäiset käsittelytiedot" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Lopeta ja korvaa jo käynnissä oleva taustaprosessi" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Kuuntele DBus-istuntoväylää (Vaadittu ainoastaan testausta varten" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Suorita toimenpiteet määritetyssä chroot-ympäristössä" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Tallenna profiilin tiedot tiedostoon" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Ă„lä tee järjestelmään mitään muutoksia (hyödyllinen vain kehittäjille)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Asennettiin tiedosto" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Asennetut paketit" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Avain lisätty tiedostosta" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Välimuisti päivitetty" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Haku valmis" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Poistettiin luotettu avain" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Poistetut paketit" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Päivitetyt paketit" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Järjestelmä päivitetty" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Muutokset toteutettu" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Korjattiin keskeneräinen asennus" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Korjattiin rikkinäiset riippuvuudet" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Ohjelmalähde lisätty" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Otettiin jakelukomponentti käyttöön" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Poistettiin ladatut pakettitiedostot" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Asennettujen pakettien asetukset tehty uudelleen" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Onnistui" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Peruttiin" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Epäonnistui" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Asennetaan tiedostoa" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Asennetaan paketteja" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Lisätään avainta tiedostosta" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Päivitetään välimuistia" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Poistetaan luotettua avainta" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Poistetaan paketteja" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Päivitetään paketteja" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Päivitetään järjestelmää" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Toteutetaan muutoksia" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Korjataan keskeneräistä asennusta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Korjataan asennettua ohjelmistoa" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Lisätään ohjelmalähdettä" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Otetaan käyttöön jakelukomponenttia" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Poistetaan ladattuja pakettitiedostoja" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Tehdään asennettujen pakettien asetuksia uudelleen" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Haku käynnissä" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Pakettitiedoston asennus epäonnistui" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Ohjelmiston asennus epäonnistui" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Avaimen lisäys luotettujen sovellusten toimittajien listaan epäonnistui" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Ohjelmistoluettelon päivitys epäonnistui" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Avaimen poistaminen luotettavien ohjelmistotoimittajien luettelosta ei " "onnistunut" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Ohjelmiston poisto epäonnistui" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Ohjelmiston päivitys epäonnistui" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Järjestelmän päivitys epäonnistui" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Ohjelmistomuutosten toteutus epäonnistui" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Keskeneräisen asennuksen korjaus epäonnistui" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Rikkinäisten riippuvuuksien korjaus epäonnistui" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Ohjelmalähteen lisääminen epäonnistui" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Jakelukomponentin kytkeminen käyttöön epäonnistui" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Ladattujen pakettitiedostojen poisto epäonnistui" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Haku epäonnistui" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Lisätään lisenssiavain" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Tarkista Internet-yhteys." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Tarkista, onko käytössäsi kolmannen osapuolen ohjelmalähteitä. Jos on, ota " "ne pois käytöstä, sillä ne ovat yleensä syynä ongelmiin. Tämän jälkeen aja " "Päätteessä komento apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Valittu tiedosto ei ole kelvollinen GPG-avaintiedosto, tai se on " "vahingoittunut." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Valittua avainta ei voi poistaa. Tarkista että annoit oikean sormenjäljen." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Tarkista, ettet käytä samalla toista sovellusta pakettienhallintaan (esim. " "Synaptic tai aptitude). Useampi kuin yksi sovellus ei voi tehdä muutoksia " "samanaikaisesti." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Tämä on vakava ongelma, yritä myöhemmin uudestaan. Jos ongelma toistuu, " "raportoi siitä kehittäjille." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Tarkista paketin nimen oikeinkirjoitus ja että sopiva ohjelmalähde on " "käytettävissä." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Päivitykselle ei ole tarvetta." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Asennukselle ei ole tarvetta." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Poistamiselle ei ole tarvetta." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Valitsit poistettavaksi paketin, joka on olennainen osa järjestelmää." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "Yhteys taustapalveluun kadotettiin, se todennäköisesti kaatui." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Ohjelmapaketin asentaminen tai poistaminen epäonnistui." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Haluttua ominaisuutta ei tueta" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Aptdaemonissa, joka on ohjelmien asentamiseen, poistamiseen ja muuhun " "hallintaan tarkoitettu ohjelma, vaikuttaa olevan ohjelmointivirhe." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Tämä virhe saattaa johtua tarvittavien ohjelmistopakettien puuttumisesta tai " "asennuskelvottomuudesta. Myöskään keskenään ristiriidassa olevia paketteja " "ei voida asentaa samaan aikaan." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Tämä vaatii pakettien asentamista varmentamattomista ohjelmistolähteistä." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Asennus on saattanut epäonnistua ohjelmapaketissa olevan virheen tai " "pakotetun keskeyttämisen takia. Ongelma täytyy korjata, ennen kuin voit " "asentaa tai poistaa lisää sovelluksia." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "Kopioi tiedosto koneellesi ja tarkista tiedoston oikeudet." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Laatuvaatimuksia rikkovien pakettien asentaminen ei ole sallittua. Se voi " "aiheuttaa vakavia ongelmia tietokoneellesi. Ole hyvä ja ota yhteyttä paketin " "tarjonneeseen henkilöön tai organisaatioon ja liitä raporttisi mukaan alla " "olevat yksityiskohdat." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Tämän ohjelman käynnistämiseen vaadittava lisenssiavain ei ole oikea tai ei " "ole asentunut oikein.\n" "Lue lisätiedot." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Kaikki saatavilla olevat päivitykset on asennettu." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Tämän ohjelman ajamiseen vaadittavaa lisenssiavainta ei voitu ladata. Ole " "hyvä ja tarkista verkkoyhteytesi." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" "Sinulla ei ole tarvittavia oikeuksia suorittaaksesi tämän toimenpiteen." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Joko annoit väärän salasanan tai peruit tunnistautumisen.\n" "Tämän lisäksi tähän virheeseen saattaa liittyä tekninen syy jos et ole " "nähnyt salasanakyselyä: työpöytäympäristösi ei tuota PolicyKit-" "istuntoagenttia" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Pakettitiedostojen noutaminen epäonnistui" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Pakettitietojen noutaminen epäonnistui" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Pakettien riippuvuuksia ei voi selvittää" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Pakettijärjestelmä on rikkinäinen" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Avainta ei asennettu" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Avainta ei poistettu" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Paketinhallinnan lukitus epäonnistui" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Pakettiluettelon lataaminen epäonnistui" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakettia ei ole olemassa" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Paketti on jo ajan tasalla" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Paketti on jo asennettu" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakettia ei ole asennettu" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Järjestelmälle oleellisen paketin poisto epäonnistui" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Tehtävää ei voi valvoa tai hallita" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Pakettitoiminto epäonnistui" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Vaatii luottamattomien pakettien asentamista" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Aiempi asennus on jäänyt keskeneräiseksi" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Paketti on heikkolaatuinen" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Pakettitiedostoa ei voi avata" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Ominaisuutta ei tueta" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Lisenssiavaimen lataaminen epäonnistui" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Lisenssiavaimen asentaminen epäonnistui" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Järjestelmä on ajan tasalla" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Sinua ei voitu valtuuttaa" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Sinulla ei ole lupaa suorittaa tätä toimintoa" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Tapahtui virhe, jota ei voitu käsitellä" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Odotetaan palvelun käynnistymistä" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Odotetaan" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Odotetaan vaadittua mediaa" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Odotetaan muiden pakettienhallintasovellusten sulkemista" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Odota asetustiedostokyselyä" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Suoritetaan tehtävää" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Noudetaan" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Tutkitaan ohjelmalähteitä" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Siistitään" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Valmis" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Perutaan" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Ladataan ohjelmaluetteloa" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Asennetaan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Tehdään asetuksia: %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Poistetaan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Poistetaan kokonaan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Huomataan paketin %s katoaminen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Suoritetaan jälkiasennusliipaisinta %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Päivitetään %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Puretaan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Valmistellaan paketin %s asennusta" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Valmistellaan paketin %s asetuksia" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Valmistellaan paketin %s poistoa" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Valmistellaan paketin %s täydellistä poistoa" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s asennettu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s poistettiin kokonaan" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s poistettu" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Käsitellään %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Valmis" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Todennus epäonnistui" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Noudetaan" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Jouten" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Verkkoa ei saatavilla" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Yksityiskohdat" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Tiedosto" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Noudettu %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Noudettu" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD ”%s” vaaditaan" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Asenna yllä mainittu CD/DVD asemaan ”%s” asentaaksesi ohjelmistopaketteja " "levyltä." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "J_atka" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Asenna" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Asenna uudelleen" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Poista" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Poista asetuksineen" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Päivitä" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Vanhenna" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Ohita päivitys" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Tarkista alla olevat muutokset." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Ylimääräisiä ohjelmistoja tulee asentaa" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Ylimääräisiä ohjelmistoja tulee asentaa uudelleen" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Ylimääräisiä ohjelmistoja tulee poistaa" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Ylimääräisiä ohjelmistoja tulee poistaa asetuksineen" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Ylimääräisiä ohjelmistoja tulee päivittää" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Ylimääräisiä ohjelmistoja tulee vanhentaa" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Päivitykset ohitetaan" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Ylimääräisiä muutoksia vaaditaan" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB noudetaan yhteensä" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB levytilaa vapautuu" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB lisää levytilaa käytetään." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Korvataanko tiedostossa ”%s” olevat muutokset uudemmalla asetustiedoston " "versiolla?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Jos et tiedä miksi tiedosto on jo olemassa, on yleensä turvallista korvata " "se." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Muutokset" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Säilytä" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "Ko_rvaa" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Yksityiskohdat" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Odotetaan, että %s sulkeutuu" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Noudetaan %(files)s" msgstr[1] "Noudetaan %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "paikallinen ohjelmalähde" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Noudetaan lähteestä %s" msgstr[1] "Noudetaan lähteistä %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Lähteen %s rakenne" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Lähteen %s kuvaus" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Lähteen %s kuvauksen allekirjoitus" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Lähteestä %s saatavilla olevat paketit" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Lähteestä %s saatavilla olevat lähdekoodit" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Lähteestä %s saatavilla olevat käännökset" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Käännökset kielelle %s (%s) lähteestä %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Käännökset kielelle %s lähteestä %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Käännökset (kielelle %s) ohjelmistolähteestä %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Paketti %s ei ole saatavilla" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pakettia %s ei ole asennettu" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versiota %s paketista %s ei ole asennettu" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Paketti %s on jo asennettu" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Versiota %s (paketti %s) ei ole saatavilla." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Avainpalvelimen URL-osoite ei ole kelvollinen: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Palvelimen yhteyskäytäntö ei ole kelvollinen: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Virheellinen avaimen tunniste: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Avaimen %s lataaminen ja asentaminen sijainnista %s ei onnistunut:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Avainta %s ei voitu asentaa: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Avainta, jonka sormenjälkitunniste on %s, ei voitu poistaa: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Pakettia %s ei voi poistaa." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versiota %s paketista %s ei ole asennettu" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "%s:n aiempi versio %s on jo asennettu" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "%s:n versio %s on jo asennettu" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Versio %s paketista %s ei ole saatavilla" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Valitse, mihin versioon %s:n versio pudotetaan" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "%s:n uudempi versio %s on jo asennettuna" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Paketti %s ei ole tarjolla julkaisussa %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Pakettia %s ei voi poistaa" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Paketti ei sisällä kelvollista Installed-Size-kenttää. Lisätietoja: Debian " "Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Lisenssiavain on tyhjä" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Lisenssiavain ei saa sisältää ajettavaa koodia" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Lisenssiavaimen polku %s on virheellinen" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Lisenssiavain on jo olemassa: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Lisenssiavaimen sijainti ei ole turvallinen, sillä se sisältää symbolisia " "linkkejä. Polku %s johtaa kohteeseen %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Kansiota, johon avain asennetaan, ei ole vielä olemassa: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Avaintiedoston kirjoittaminen epäonnistui: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Seuraavien pakettien riippuvuuksia ei ole toteutettu:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "mutta se on virtuaalinen paketti" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "mutta sitä ei ole asennettu" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "mutta sitä ei olla asentamassa" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "mutta %s on asennettu" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "mutta %s tullaan asentamaan" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Avaimen lisääminen luotettavien ohjelmistotoimittajien luetteloon ei " #~ "onnistunut" aptdaemon-1.1.1/po/uz.po0000644000175000017500000010334012117271433015656 0ustar renaterenate00000000000000# Uzbek translation for aptdaemon # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-05-13 14:21+0000\n" "Last-Translator: Akmal Xushvaqov \n" "Language-Team: Uzbek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "ĐŃончли етказиб берŃвчилар калитлари рўйхати" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/sv.po0000644000175000017500000013305212117271433015653 0ustar renaterenate00000000000000# Swedish translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-04-03 15:40+0000\n" "Last-Translator: Arve Eriksson \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Lista nycklar för pĂĄlitliga leverantörer" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Du mĂĄste autentisera dig för att visa listan över pĂĄlitliga nycklar." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Ta bort hämtade paketfiler" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Du mĂĄste autentisera dig för att tömma hämtade paketfiler." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Ă„ndra programkonfiguration" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Du mĂĄste autentisera dig för att ändra programinställningar." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Ă„ndra programförrĂĄd" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Du mĂĄste autentisera dig för att ändra inställningar för programförrĂĄd." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Installera paketfil" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Du mĂĄste autentisera dig för att installera detta paket." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Uppdatera paketinformation" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Du mĂĄste autentisera dig för att uppdatera programkatalogen." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Installera eller ta bort paket" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Du mĂĄste autentisera dig för att installera eller ta bort program." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Lägg till ett nytt förrĂĄd och installera paket frĂĄn det" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Du mĂĄste autentisera dig för att installera program frĂĄn en ny källa." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Lägg till ett nytt förrĂĄd för inköpta program och installera paket frĂĄn det" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Du mĂĄste autentisera dig för att installera inköpta program." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Uppgradera paket" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Du mĂĄste autentisera dig för att installera uppdaterade program." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Avbryt ĂĄtgärden för en annan användare" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Du mĂĄste autentisera dig för att avbryta nĂĄgon annans programändringar." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Ställ in en proxyserver för programhämtningar" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Du mĂĄste autentisera dig för att använda en proxyserver för att hämta " "program." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "FEL" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Hämtat %sB av %sB i %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Hämtat %sB av %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "FEL:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Du har inte behörighet att genomföra denna ĂĄtgärd." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Kölägger" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Löser beroenden" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Följande NYTT paket kommer att installeras (%(count)s):" msgstr[1] "Följande NYA paket kommer att installeras (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Följande paket kommer att uppgraderas (%(count)s):" msgstr[1] "Följande paket kommer att uppgraderas (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Följande paket kommer att TAS BORT (%(count)s):" msgstr[1] "Följande paket kommer att TAS BORT (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Följande paket kommer att NEDGRADERAS (%(count)s):" msgstr[1] "Följande paket kommer att NEDGRADERAS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Följande paket kommer att installeras om (%(count)s):" msgstr[1] "Följande paket kommer att installeras om (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Följande paket har hĂĄllits tillbaka (%(count)s):" msgstr[1] "Följande paket har hĂĄllits tillbaka (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Behöver hämta %sB arkiv." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Efter denna ĂĄtgärd kommer ytterligare %sB diskutrymme att användas." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Efter denna ĂĄtgärd kommer %sB diskutrymme att frigöras." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Vill du fortsätta [J/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Ange paketnamnet inom citattecken för att göra ĂĄtgärder pĂĄ fler än ett " "paket:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Uppdatera cachen" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Försök att lösa trasiga beroenden. Potentiellt sett en farlig ĂĄtgärd " "eftersom den kan försöka att ta bort mĂĄnga paket." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Försök att färdigställa en tidigare ofullständig installation" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Installera angivna paket" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Installera om angivna paket" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Ta bort angivna paket" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Ta bort angivna paket inklusive konfigurationsfiler" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Nedgradera de angivna paketen" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "FörĂĄldrad: Använd --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Uppgradera systemet pĂĄ ett säkert sätt" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Uppgradera systemet, möjligen installera och ta bort paket" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Lägg till leverantören till de pĂĄlitliga" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Lägg till leverantörens nyckel-id (kräver ocksĂĄ --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Använd angiven nyckelserver för att slĂĄ upp nycklar" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Lägg till nytt förrĂĄd frĂĄn angiven deb-rad" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Ange en alternativ sources.list.d-fil som vilka förrĂĄden ska läggas till i." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Lista pĂĄlitliga leverantörsnycklar" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Ta bort pĂĄlitlig nyckel för angivet fingeravtryck" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Konfigurera om installerade paket. Det gĂĄr även att valfritt ange minsta " "prioritet för frĂĄgor" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Minsta prioritet för debconf-frĂĄgor att visa" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Anslut inte till apt-terminalen" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "TillĂĄt paket frĂĄn icke-autentiserade källor" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Visa ytterligare information om paketen. För närvarande endast versionsnumret" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Väntar pĂĄ autentisering" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Stäng inte av daemonen pĂĄ grund av inaktivitet" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Läs inte in nĂĄgra insticksmoduler" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Visa intern processinformation" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Avsluta och ersätt en redan körande demon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Lyssna pĂĄ DBus-sessionsbussen (krävs endast för tester" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Genomför ĂĄtgärder i angivet chroot-miljö" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Lagra profilstatistik i angiven fil" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Gör inte nĂĄgra ändringar i systemet (endast för utvecklare)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Installerade fil" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Installerade paket" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Lade till nyckel frĂĄn fil" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Uppdaterade cache" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Sökningen är färdig" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Tog bort pĂĄlitlig nyckel" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Tog bort paket" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Uppdaterade paket" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Uppgraderade systemet" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Verkställde ändringar" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Reparerade ofullständig installation" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Reparerade trasiga beroenden" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Lade till programkälla" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Aktiverade komponent för distributionen" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Tog bort hämtade paketfiler" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Konfigurera om installerade paket" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Lyckades" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Avbruten" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Misslyckades" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installerar fil" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installerar paket" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Lägger till nyckel frĂĄn fil" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Uppdaterar cache" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Tar bort pĂĄlitlig nyckel" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Tar bort paket" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Uppdaterar paket" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Uppgraderar systemet" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Verkställer ändringar" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Reparerar ofullständig installation" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Reparerar installerad programvara" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Lägger till programkälla" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Aktiverar komponent för distributionen" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Tar bort hämtade paketfiler" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Konfigurerar om installerade paket" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Söker" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Installation av paketfilen misslyckades" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Installation av programvaran misslyckades" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Uppdatering av programlistan misslyckades" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Borttagning av leverantören frĂĄn listan över pĂĄlitliga leverantörer " "misslyckades" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Borttagning av programvaran misslyckades" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Uppdatering av programvaran misslyckades" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Uppgradering av systemet misslyckades" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Verkställandet av programändringar misslyckades" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Reparation av ofullständig installation misslyckades" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Reparation av trasiga beroenden misslyckades" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Tillägg av programkällan misslyckades" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Aktivering av komponent för distributionen misslyckades" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Borttagning av hämtade paketfiler misslyckades" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Sökningen misslyckades" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Lägger till licensnyckel" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Kontrollera din internetanslutning." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Kontrollera om du använder tredjepartsförrĂĄd. Inaktivera dem i sĂĄ fall " "eftersom de är en vanlig problemkälla.\n" "Kör även följande kommando i en terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Den valda filen verkar inte vara en GPG-nyckel eller sĂĄ är filen trasig." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Den valda nyckeln kunde inte tas bort. Kontrollera att du angav ett giltigt " "fingeravtryck." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Kontrollera om du för närvarande kör ett annat verktyg för programhantering, " "tex. Synaptic eller aptitude. Endast ett verktyg ĂĄt gĂĄngen tillĂĄts att göra " "ändringar." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Detta är ett allvarligt problem. Försök igen senare. Om problemet sker igen " "sĂĄ rapportera detta som ett fel till utvecklarna." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Kontrollera stavningen av paketnamnet och att rätt förrĂĄd är aktiverat." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Det finns inget behov för en uppdatering." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Det finns inget behov för en installation" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Det finns inget behov för en borttagning." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Du begärde att ta bort ett paket som är en systemkritisk del av ditt system." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Anslutningen till demonen tappades. Mest sannolikt är att bakgrundsdemonen " "kraschade." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Installationen eller borttagningen av ett programpaket misslyckades." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Den begärda funktionen stöds inte." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Det verkar finnas ett programmeringsfel i aptdaemon, programvaran som lĂĄter " "dig installera/ta bort program och genomföra andra ĂĄtgärder relaterade till " "pakethantering." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Detta fel kan orsakas av att ytterligare nödvändiga programpaket saknas " "eller inte är installerbara. Det kan även finnas en konflikt mellan " "programpaket som inte tillĂĄts att installeras pĂĄ samma gĂĄng." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Installationen kan ha misslyckats pĂĄ grund av ett fel i programpaketet eller " "att den avbröts pĂĄ ett onormalt sätt. Du mĂĄste reparera detta innan du kan " "installera eller ta bort ytterligare program." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Kopiera filen till din lokala dator och kontrollera filrättigheterna." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Installation av ett paket som strider mot kvalitetsstandarderna tillĂĄts " "inte. Detta kan orsaka allvarliga problem pĂĄ din dator. Kontakta personen " "eller organisationen som tillhandahöll denna paketfil och inkludera " "nedanstĂĄende information." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Den hämtade licensnyckeln som krävs för att köra denna programvara är inte " "giltig eller kunde inte installeras korrekt.\n" "Se detaljerad information för ytterligare felsökning." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Alla tillgängliga uppgraderingar har redan installerats." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Licensnyckeln som lĂĄter dig använda denna programvara kunde inte hämtas. " "Kontrollera din nätverksanslutning." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Misslyckades med att hämta paketfiler" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Misslyckades med att hämta förrĂĄdsinformation" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Paketberoenden kan inte lösas" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Paketsystemet är trasigt" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Nyckeln installerades inte" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Nyckeln togs inte bort" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Misslyckades med att lĂĄsa pakethanteraren" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Misslyckades med att läsa in paketlistan" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paketet finns inte" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Paketet är redan uppdaterat" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Paketet är redan installerat" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Paketet är inte installerat" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Misslyckades med att ta bort ett systemkritiskt paket" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Ă…tgärden kan inte övervakas eller kontrolleras" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "PaketĂĄtgärden misslyckades" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Kräver installation av ej pĂĄlitliga paket" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Tidigare installation har inte färdigställts" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Paketet är av dĂĄlig kvalitet" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Paketfilen kunde inte öppnas" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Funktionen stöds inte" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Misslyckades med att hämta licensnyckeln" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Misslyckades med att installera licensnyckeln" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Systemet är redan uppdaterat" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Ett ohanterat fel inträffade" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Väntar pĂĄ att tjänsten ska starta" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Väntar" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Väntar pĂĄ nödvändigt media" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Väntar pĂĄ att andra programhanterare ska avslutas" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Väntar pĂĄ prompt för konfigurationsfil" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Kör aktivitet" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Hämtar" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Kontrollerar programkällor" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Rensar upp" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Färdig" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Avbryter" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Läser in programlista" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installerar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Konfigurerar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Tar bort %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Tar fullständigt bort %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Uppmärksammar att %s försvinner" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Kör efterinstallationsutlösare %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Uppgraderar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Packar upp %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Förbereder installation av %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Förbereder konfiguration av %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Förbereder borttagning av %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Förbereder fullständig borttagning av %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Installerade %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Tog bort hela %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Tog bort %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Behandlar %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Färdig" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Autentisering misslyckades" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Hämtar" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Overksam" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Nätverket är inte tillgängligt" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detaljer" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fil" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Hämtat %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Hämtat" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Cd/dvd-skivan \"%s\" krävs" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Mata in ovanstĂĄende cd/dvd-skiva i enheten \"%s\" för att installera " "programpaket frĂĄn den." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "F_ortsätt" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Installera" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Installera om" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Ta bort" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Rensa" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Uppgradera" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Nedgradera" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Hoppa över uppgradering" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Ta en titt pĂĄ ändringslistan nedan." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Ytterligare program behöver installeras" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Ytterligare program behöver installeras om" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Ytterligare program behöver tas bort" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Ytterligare program behöver rensas bort" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Ytterligare program behöver uppgraderas" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Ytterligare program behöver nedgraderas" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Uppdateringar kommer att hoppas över" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Ytterligare ändringar krävs" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB kommer totalt att hämtas." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB diskutrymme kommer att frigöras." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB ytterligare diskutrymme kommer att användas." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Ersätt dina ändringar i \"%s\" med en senare version av konfigurationsfilen?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Om du inte vet varför filen redan finns där sĂĄ är det oftast det bästa att " "ersätta den." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Ă„ndringar" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_BehĂĄll" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Ersätt" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detaljer" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Väntar pĂĄ att %s ska avslutas" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Hämtar %(files)s" msgstr[1] "Hämtar %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "lokalt förrĂĄd" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Hämtar frĂĄn %s" msgstr[1] "Hämtar frĂĄn %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Struktur för %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Beskrivning för %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Beskrivningssignatur för %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Tillgängliga paket frĂĄn %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Tillgängliga källor frĂĄn %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Tillgängliga översättningar frĂĄn %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Ă–versättningar till %s (%s) frĂĄn %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Ă–versättningar till %s frĂĄn %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Ă–versättningar (%s) frĂĄn %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Paketet %s finns inte tillgängligt" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Paketet %s är inte installerat" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Version %s av %s är inte installerat" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Paketet %s är redan installerat" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Version %s av %s finns inte tillgänglig." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Misslyckades med att hämta och installera nyckeln %s frĂĄn %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Nyckelfilen %s gick inte att installera: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Nyckeln med fingeravtrycket %s kunde inte tas bort: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Paketet %s kan inte tas bort." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Version %s av %s är inte installerad" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Den tidigare versionen %s av %s är redan installerad" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Version %s av %s är redan installerad" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Version %s av %s finns inte tillgänglig" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Du mĂĄste ange en version att nedgradera %s till" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Den senare versionen %s av %s är redan installerad" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Paketet %s finns inte tillgängligt i utgĂĄvan %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Paketet %s kan inte tas bort" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Paketet tillhandahĂĄller inte ett giltigt Installed-Size-kontrollfält. Se " "Debian Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Licensnyckeln är tom" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Licensnyckeln fĂĄr inte innehĂĄlla körbar kod." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Sökvägen till licensnyckeln %s är ogiltig" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Licensnyckeln finns redan: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Licensnyckelns plats är osäker eftersom den innehĂĄller symboliska länkar. " "Sökvägen %s mappas till %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Katalogen där nyckeln ska installeras finns ännu inte: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Kunde inte skriva nyckelfilen till: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Följande paket har otillfredsställda beroenden:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "men det är ett virtuellt paket" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "men är inte installerat" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "men kommer inte att installeras" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "men %s är installerat" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "men %s kommer att installeras" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Misslyckades med att lägga till nyckeln till listan över pĂĄlitliga " #~ "programleverantörer" aptdaemon-1.1.1/po/be.po0000644000175000017500000015563712117271433015626 0ustar renaterenate00000000000000# Belarusian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-04-14 16:03+0000\n" "Last-Translator: Mikhail_SaTuRn \n" "Language-Team: Belarusian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "ĐˇĐżŃ–Ń ĐşĐ»ŃŽŃ‡ĐľŃž давераных паŃтаўŃчыкоў" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Для ĐżŃ€Đ°ĐłĐ»ŃŹĐ´Ń ŃпіŃŃ Đ´Đ°Đ˛ĐµŃ€Đ°Đ˝Ń‹Ń… ключоў патрабŃецца аўтэнтыфікацыя." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Выдаліць файлы загрŃжаных пакетаў" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Вам неабходна аўтарызавацца для ачыŃткі файлаў загрŃжаных пакетаў." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Змяніць ŃховіŃча Đ· праграмамі" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Вам трэба аўтарызавацца для змены налад праграмнага забеŃпячэння." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Змяніць ŃховіŃча праграмнага забеŃпячэння" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Каб змяніць налады ŃховіŃча, вы павінны аўтарызавацца." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ĐŁŃталёўка файла пакета" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Каб ŃŃталяваць гэты пакет, вы павінны аўтарызавацца." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Đбнаўленне інфармацыі аб пакетах" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Для абнаўлення каталога праграмнага забеŃпячэння патрабŃецца аўтэнтыфікацыя." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ĐŁŃталяваць ці выдаліць пакеты" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Каб ŃŃталяваць ці выдаліць праграмŃ, вы павінны аўтарызавацца." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Дадаць новае ŃховіŃча Ń– ŃžŃталяваць пакеты Đ· яго" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Каб ŃŃталяваць праграмы Đ· новай крыніцы, вы павінны аўтарызавацца." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Дадаць новае ŃховіŃча платнага праграмнага забеŃпячэння Ń– ŃžŃталяваць пакеты " "Đ· яго" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Каб ŃŃталяваць набытыя праграмы, вы павінны аўтарызавацца." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Đбнаўленне пакетаў" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Для ŃžŃталёўкі абнаўленняў патрабŃецца аўтэнтыфікацыя." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Đдмяніць Đ·Đ°Đ´Đ°Ń‡Ń Ń–Đ˝Ńага карыŃтальніка" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Для ŃкаŃавання не Ńваіх змен Ń ĐżŃ€Đ°ĐłŃ€Đ°ĐĽĐ˝Ń‹ĐĽ забеŃпячэнні патрабŃецца " "аўтэнтыфікацыя." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "ĐŁŃталяваць прокŃŃ–-Ńервер для загрŃзак праграм" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Для карыŃтання Đ· прокŃŃ– Ńервера для загрŃзкі праграмнага забеŃпячэння " "патрабŃецца аўтэнтыфікацыя." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ĐźĐМЫЛКĐ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "ЗагрŃжана %sB Đ· %sB на Ń…ŃткаŃці %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "ЗагрŃжана %sB Đ· %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ĐźĐМЫЛКĐ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Вам не дазволена выконваць гэтае дзеянне." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Đрганізацыя чаргі" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ВыраŃэнне залежнаŃцяў" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "НаŃŃ‚Ńпны НОВЫ пакет бŃдзе ŃžŃталяваны (%(count)s):" msgstr[1] "НаŃŃ‚Ńпныя НОВЫЯ пакеты бŃĐ´Ńць ŃŃталяваныя (%(count)s):" msgstr[2] "НаŃŃ‚Ńпныя НОВЫЯ пакеты бŃĐ´Ńць ŃŃталяваныя (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "НаŃŃ‚Ńпны пакет бŃдзе абноўлены (%(count)s):" msgstr[1] "НаŃŃ‚Ńпныя пакеты бŃĐ´Ńць абноўленыя (%(count)s):" msgstr[2] "НаŃŃ‚Ńпныя пакеты бŃĐ´Ńць абноўленыя (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "НаŃŃ‚Ńпны пакет бŃдзе выдалены (%(count)s):" msgstr[1] "НаŃŃ‚Ńпныя пакеты бŃĐ´Ńць выдаленыя (%(count)s):" msgstr[2] "НаŃŃ‚Ńпныя пакеты бŃĐ´Ńць выдаленыя (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Для наŃŃ‚Ńпнага пакета бŃдзе праведзены ĐДКĐТ (%(count)s):" msgstr[1] "Для наŃŃ‚Ńпных пакетаў бŃдзе праведзены ĐДКĐТ (%(count)s):" msgstr[2] "Для наŃŃ‚Ńпных пакетаў бŃдзе праведзены ĐДКĐТ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "НаŃŃ‚Ńпны пакет бŃдзе пераўŃталяваны (%(count)s):" msgstr[1] "НаŃŃ‚Ńпныя пакеты бŃĐ´Ńць пераўŃталяваныя (%(count)s):" msgstr[2] "НаŃŃ‚Ńпныя пакеты бŃĐ´Ńць пераўŃталяваныя (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "НаŃŃ‚Ńпны пакет быў адноўлены (%(count)s):" msgstr[1] "НаŃŃ‚Ńпныя пакеты былі адноўленыя (%(count)s):" msgstr[2] "НаŃŃ‚Ńпныя пакеты былі адноўленыя (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "ПатрабŃецца атрымаць %sĐ‘ архіваў." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "ПаŃля гэтай аперацыі бŃдзе выкараŃтана %sĐ‘ дадатковага меŃца." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "ПаŃля гэтай аперацыі бŃдзе вызвалена %sĐ‘ дадатковага меŃца." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Đ’Ń‹ хочаце працягнŃць [Y - Так, N - Не]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Для правядзення аперацый над некалькімі пакетамі паŃтаўце Ń–Ń… імёны Ńž " "двŃкоŃŃе:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Đбнавіць кэŃ" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "ПаŃпрабаваць выраŃыць ŃапŃаваныя залежнаŃці. Гэта патэнцыйна небяŃпечная " "аперацыя, паколькі яна можа выдаліць Ńмат пакетаў." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ПаŃпрабŃйце Ńкончыць папярэднюю ŃžŃталёўкŃ" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ĐŁŃталяваць гэтыя пакеты" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ПераўŃталяваць гэтыя пакеты" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Выдаліць гэтыя пакеты" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Выдаліць гэтыя пакеты разам Đ· файламі канфігŃрацыі" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Đдкат выбраных пакетаў" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Забаронена: калі лаŃка выкарыŃтоўвайце --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Đбнавіць ŃŃ–ŃŃ‚ŃŤĐĽŃ Đ±ŃŹŃпечным чынам" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Đбнавіць ŃŃ–ŃŃ‚ŃŤĐĽŃ ŃžŃталёўваючы Ń– выдаляючы пакеты (калі магчыма)" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Дадаць паŃтаўніка Ńž давераныя" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Дадаць ідэнтыфікатар ключа паŃтаўніка (Ńпатрэбіца опцыя - keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "ВыкарыŃтоўваць дадзены Ńервер для поŃŃĐşŃ ĐşĐ»ŃŽŃ‡ĐľŃž" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Дадаць ŃховіŃча Đ· пазначанага deb-радка" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Пазначыць альтэрнатыўны файл sources.list.d, да якога неабходна дадаваць " "ŃховіŃчы" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "ĐˇĐżŃ–Ń Đ´Đ°Đ˛ĐµŃ€Đ°Đ˝Ń‹Ń… ключоў паŃтаўніка" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Выдаліць давераны ключ для дадзенага лічбавага подпіŃŃ" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Паўторная наладка ŃžŃталяваных пакетаў. Дадаткова можа быць паказаны " "мінімальны прыярытэт пытанняў" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Мінімальны прыярытэт Đ·Đ°ĐżŃ‹Ń‚Ń debconf для адлюŃтравання" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Не падлŃчацца да тэрмінала apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Дазваляць пакеты Đ· недавераных крыніц" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Паказаць дадатковŃŃŽ інфармацыю аб пакеце. ĐŁ дадзены момант толькі Đ˝Ńмар " "верŃŃ–Ń–" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Чаканне на аўтэнтыфікацыю" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Не выключайце дэман Đ·-за яго неактыўнаŃці" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Не загрŃжаць ніякія плагіны" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Паказваць інфармацыю аб ŃĐ˝Ńтранай апрацоўцы" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "ВыйŃці Ń– замяніць Ńжо запŃŃчаны дэман" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Чакаць на Ńігнал DBus для агŃльнай Ńыны (Толькі для тэŃтавання" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Праводзіць аперацыі Ńž дадзеным галоўным каталозе" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Захоўваць ŃтатыŃŃ‚Ń‹ĐşŃ Ńž пазначаным файле" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Не змяняць файлы Ńž ŃŃ–Ńтэме (карыŃна толькі раŃпрацоўнікам)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "ĐŁŃталяваны файл" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "ĐŁŃталяваныя пакеты" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Дададзены ключ Đ· файла" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "ĐšŃŤŃ Đ°Đ±Đ˝ĐľŃžĐ»ĐµĐ˝Ń‹" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "ПоŃŃĐş заверŃаны" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Давяральны ключ выдалены" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Выдаленыя пакеты" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Đбноўленыя пакеты" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Đбноўленая ŃŃ–Ńтэма" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Ужытыя змены" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Выпраўлена няŃкончаная ŃžŃталёўка" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Выпраўлены зламаныя залежнаŃці" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Крыніца праграм дададзеная" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "ПадлŃчаны кампанент Đ´Ń‹ŃтрыбŃтыва" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Сцёртыя файлы загрŃжаных пакетаў" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Нова наладжаныя пакеты" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ПаŃпяхова" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Đдменена" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Памылка" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ĐŁŃталёўка файла" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ĐŁŃталёўка пакетаў" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Даданне ключа Đ· файла" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Đбнаўленне кэŃа" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Выдаленне даверанага ключа" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Выдаленне пакетаў" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Đбнаўленне пакетаў" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Đбнаўленне ŃŃ–Ńтэмы" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Ужыванне зменаў" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Выпраўленне няŃкончанай ŃžŃталёўкі" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Đднаўленне ŃŃталяванага ПЗ" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Даданне крыніцы праграм" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "ПадлŃчэнне кампанента Đ´Ń‹ŃтрыбŃтыва" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Выдаленне файлаў загрŃжаных пакетаў" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Пераналадка ŃžŃталяваных пакетаў" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Выконваецца поŃŃĐş" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Не атрымалаŃŃŹ ŃžŃталяваць файл пакета" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Не атрымалаŃŃŹ ŃžŃталяваць праграмнае забеŃпячэнне" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Не атрымалаŃŃŹ абнавіць ŃĐżŃ–Ń ĐżŃ€Đ°ĐłŃ€Đ°ĐĽ" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Не атрымалаŃŃŹ выключыць паŃтаўніка праграм Ńа ŃпіŃа давераных" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Не атрымалаŃŃŹ выдаліць праграмнае забеŃпячэнне" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Не атрымалаŃŃŹ абнавіць праграмнае забеŃпячэнне" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Не атрымалаŃŃŹ абнавіць ŃŃ–ŃтэмŃ" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Не атрымалаŃŃŹ ўжыць змены Ńž праграмным забеŃпячэнні" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Не атрымалаŃŃŹ выпраўленне няŃкончанай ŃŃталёўкі" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Не атрымалаŃŃŹ выправіць зламаныя залежнаŃці" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Не атрымалаŃŃŹ дадаць ĐşŃ€Ń‹Đ˝Ń–Ń†Ń ĐżŃ€Đ°ĐłŃ€Đ°ĐĽ" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Не атрымалаŃŃŹ далŃчыць кампанент Đ´Ń‹ŃтрыбŃтыва" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Пры выдаленні загрŃжаных файлаў здарылаŃŃŹ памылка" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Памылка поŃŃĐşŃ" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Даданне ліцэнзійнага ключа" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Праверце інтэрнэт-Đ·Đ»Ńчэнне." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Калі Đ’Ń‹ выкарыŃтоўваеце Ń–Đ˝Ńыя крыніцы праграм, адключыце Ń–Ń…, паколькі яны " "Đ·'яўляюцца чаŃтай\n" "крыніцай праблем. ПаŃля гэтага выканайце Ńž тэрмінале наŃŃ‚ŃпнŃŃŽ камандŃ: apt-" "get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Выбраны файл можа быць паŃкоджаны, альбо не Đ·'яўляецца ключом PGP." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Đбраны ключ немагчыма выдаліць. Праверце, Ńто Đ’Ń‹ падалі дакладны лічбавы " "подпіŃ." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Праверце, ці не запŃŃчана Ń–Đ˝Ńая праграма кіравання праграмамі, напрыклад " "Synaptic или aptitude. Толькі адна праграма можа ўноŃіць змены Ńž адзін Ń– той " "жа чаŃ." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Гэта ŃŃŃ€'ёзная праблема. ПаŃпрабŃйце паўтарыць пазней. Калі праблема " "паўŃтане зноў, калі лаŃка, адпраўце ŃĐżŃ€Đ°Đ˛Đ°Đ·Đ´Đ°Ń‡Ń Đ°Đ± памылцы раŃпрацоўнікам." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Праверце ці правільна пазначана назва пакета Ń– ці ўключаны адпаведны " "рэпазітар." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Няма неабходнаŃці абнаўлення." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Няма неабходнаŃці ŃžŃталёўкі." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Няма неабходнаŃці выдалення." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Đ’Ń‹ падалі запыт на выдаленне пакета, які Đ·'яўляецца неад'емнай чаŃткай ваŃай " "ŃŃ–Ńтэмы." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "СŃвязь Đ· дэманам Ńтрачана. ĐĄŃтчэй за ŃžŃŃ‘, яго праца нечакана ŃкончылаŃŃŹ." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "ĐŁŃталёўка ці выдаленне пакетаў праграм не атрымалаŃŃŹ." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "МагчымаŃць не падтрымліваецца." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "МяркŃючы па ŃžŃŃ–ĐĽ, Ń aptdaemon, праграмным забеŃпячэнні, якое дазваляе вам " "ŃŃталёўваць / выдаляць праграмы Ń– выконваць звязаныя Đ· пакетамі задачы, " "прыŃŃтнічае праграмная памылка." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Гэтая памылка магла паўŃтаць Đ· прычыны дадатковых пакетаў, якія немагчыма " "ŃžŃталяваць ці якія адŃŃтнічаюць. Да таго ж можа мець меŃца канфлікт паміж " "пакетамі, якія не могŃць быць ŃŃталяваныя адначаŃова." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "ĐŁŃталёўка магла прайŃці няўдала Đ·-за памылкі Ńž адпаведным пакеце, альбо была " "няправільна Ńпыненая. Вам варта выправіць гэта ĐżĐµŃ€Ń Ń‡Ń‹ĐĽ ŃŃталёўваць ці " "выдаляць Ń–Đ˝Ńыя праграмы." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Калі лаŃка, ŃкапірŃйце файл на Đ˛Đ°Ń Đ»Đ°ĐşĐ°Đ»ŃŚĐ˝Ń‹ кампŃтар Ń– праверце правы на " "файл." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "ĐŁŃталёўка пакета, які не адпавядае Ńтандартам, не дазволена. Гэта можа " "прывеŃці да ŃŃŃ€'ёзных памылак на ваŃым кампŃтары. Калі лаŃка, звяжыцеŃŃŹ Đ· " "тымі, хто прапанаваў дадзены пакет, зазначыўŃŃ‹ падрабязнаŃці, змеŃчаныя " "ніжэй." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Đтрыманы ліцэнзійны ключ, неабходны для выканання гэтага кампанента праграмы " "няправільны, або не можа быць ŃŃталяваны належным чынам.\n" "Для атрымання дадатковых звеŃтак адчынеце падрабязнаŃці." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "ĐŁŃе даŃŃ‚Ńпныя абнаўленні ўжо ŃžŃталяваныя." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Ліцэнзійны ключ, які дазволіць вам выкарыŃтоўваць гэты кампанент праграмы, " "не можа быць атрыманы. Калі лаŃка, пераканайцеŃŃŹ Ńž працаздольнаŃці Ńеткавага " "Đ·Đ»Ńчэння." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Памылка загрŃзкі файлаў пакета" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Памылка пры загрŃзцы інфармацыі аб крыніцах праграмаў" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "ЗалежнаŃці пакета ня могŃць быць задаволены." #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "СіŃтэма пакетаў паŃкоджана." #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Ключ ня быў ŃŃталяваны" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Ключ быў ня выдалены" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Немагчыма заблакаваць мэнэджар пакетаў" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Ня ўдалоŃŃŹ загрŃзіць ŃĐżŃ–Ń ĐżĐ°ĐşĐµŃ‚Đ°Ńž" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Пакет не Ń–ŃĐ˝Ńе" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Пакет Ń Đ°ĐşŃ‚Ńальным Ńтане" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Пакет Ńжо ŃžŃталяваны" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Пакет не ŃžŃталяваны" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Памылка пры выдаленні важнага ŃŃ–Ńтэмнага пакета" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Заданне ня можа быць пракантралявана" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Памылка пакетнай аперацыі" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "ПатрабŃецца ŃžŃталёўка нязнойдзеных пакетаў" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Папярэдняя ŃžŃталёўка не была Ńкончана" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Гэты пакет кепŃкай якаŃці" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Не атрымалаŃŃŹ адкрыць пакет" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Гэтая магчымаŃць не падтрымліваецца" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Памылка атрымання ліцэнзійнага ключа" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Памылка ŃžŃталёўкі ліцэнзійнага ключа" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "СіŃтэма Ńž актŃальным Ńтане" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "ЗдарылаŃŃŹ непераадольная памылка" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Чаканне запŃŃка ŃĐ»Ńжбы" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Чаканне" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Чаканне на неабходны ноŃьбіт інфармацыі" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Чаканне на Ńканчэнне працы Ń–Đ˝Ńых мэнэджараў праграмнага забеŃпячэння" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Чаканне на запыт канфігŃрацыйнага файла" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "ЗапŃŃĐş задачы" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Ідзе загрŃзка" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Запыт крыніц праграм" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ĐчыŃчэнне" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Скончана" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "СкаŃавана" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "ЗагрŃзка ŃпіŃа праграмаў" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "ĐŁŃталёўка %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "КанфігŃраванне %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Выдаленне %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Выконваецца поўнае выдаленне %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "ĐпавяŃчэнне аб знікненні %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Выконваецца паŃляўŃталёвачны трыгер %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Đбнаўленне %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Выманне %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Падрыхтоўка да ŃžŃталёўкі %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Падрыхтоўка канфігŃрацыі %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Падрыхтоўка да выдалення%s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Падрыхтоўка да поўнага выдалення %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s ŃŃталяваны" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s цалкам выдалены" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s выдалены" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Đпрацоўка %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Выканана" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Няўдалая ідэнтыфікацыя" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Đтрыманне" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Чаканне" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Сетка недаŃяжная" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Падрабязна" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Файл" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "ЗагрŃжана %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "ЗагрŃжана" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "ПатрабŃецца наяўнаŃць CD/DVD «%s»" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "ĐŁŃтаўце паказаны выŃŃŤĐą CD/DVD Ń ĐżŃ€Ń‹Đ˛Đ°Đ´ '%s' для ŃžŃталёўкі пакетаў Đ· яго." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "Пра_цягнŃць" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ĐŁŃталяваць" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ПераўŃталяваць" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Выдаліць" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "ĐчыŃціць" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Đбнаўленне" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Панізіць верŃŃ–ŃŽ" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ПрапŃŃціць абнаўленне" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Калі лаŃка, паглядзіце на ŃĐżŃ–Ń Đ·ĐĽĐµĐ˝Đ°Ńž ніжэй." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Патрэбна ŃžŃталёўка дадатковых праграм" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Патрэбна паўторная ŃžŃталёўка дадатковых праграм" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Неабходна выдаленне дадатковых праграм" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Патрэбна ачыŃтка ад дадатковых праграм" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Неабходна абнаўленне дадатковых праграм" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Неабходна паніжэнне верŃŃ–Ń– дадатковых праграм" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Đбнаўленні бŃĐ´Ńць прапŃŃчаны" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "ПатрабŃюцца дадатковыя змены" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sĐ‘ ŃŃяго бŃдзе ŃцягнŃта" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sĐ‘ меŃца на цвёрдым Đ´Ń‹ŃĐşŃ Đ±Ńдзе вызвалена." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sĐ‘ Đ´Ń‹Ńкавай праŃторы бŃдзе занята." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "Замяніць файл «%s» Đ· ŃнеŃенымі Вамі зменамі Đ±ĐľĐ»ŃŚŃ ĐżĐľĐ·Đ˝ŃŹĐą верŃŃ–ŃŹĐą?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Калі Đ’Ń‹ ня ведаеце, для чаго быў Ńтвораны гэты файл, то Ń…Ńтчэй за ŃžŃŃ‘ яго " "можна бŃдзе бяŃпечна замяніць." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Змены" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_ПакінŃць" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Замяніць" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_ПадрабязнаŃці" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Чаканне на завярŃэнне працы %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "ЗагрŃзка %(files)s" msgstr[1] "ЗагрŃзка %(files)s" msgstr[2] "ЗагрŃзка %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "лакальны рэпазітар" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "ЗагрŃзка Đ· %s" msgstr[1] "ЗагрŃзка Đ· %s" msgstr[2] "ЗагрŃзка Đ· %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "СтрŃктŃра «%s»" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "ĐпіŃанне %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "ĐźĐľĐ´ĐżŃ–Ń Đ°ĐżŃ–Ńання %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "ДаŃŃ‚Ńпныя пакеты Đ· «%s»" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "ДаŃŃ‚Ńпныя крыніцы Đ· %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "ДаŃŃ‚Ńпныя пераклады Đ· %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Пераклады на %s (%s) Đ· %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Пераклады на %s Đ· %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Пераклад (%s) Đ· %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Пакет %s не даŃŃ‚Ńпны" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Пакет %s не ŃžŃталяваны" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "ВерŃŃ–ŃŹ %s пакета %s не ŃžŃталявана" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Пакет %s Ńжо ŃžŃталяваны" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "ВерŃŃ–ŃŹ %s пакета %s недаŃŃ‚Ńпная" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Не атрымалаŃŃŹ загрŃзіць Ń– ŃžŃталяваць значэнне %s Đ· %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Ключавы файл %s не можа быць ŃŃталяваны: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Ключ Đ· лічбавым подпіŃам %s не можа быць выдалены: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Пакет %s не можа быць выдалены." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "ВерŃŃ–ŃŹ %s пакета %s не ŃžŃталяваная" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Папярэдняя верŃŃ–ŃŹ %s пакета %s Ńжо ŃžŃталяваная" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "ВерŃŃ–ŃŹ %s пакета %s Ńжо ŃžŃталяваная" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "ВерŃŃ–ŃŹ %s пакета %s недаŃŃ‚Ńпная" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Вам неабходна пазначыць верŃŃ–ŃŽ, каб правеŃці адкат %s да" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Đ‘ĐľĐ»ŃŚŃ Đ˝ĐľĐ˛Đ°ŃŹ верŃŃ–ŃŹ %s пакета %s Ńжо ŃžŃталяваная" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Пакет %s недаŃŃ‚Ńпны Ńž рэлізе %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Пакет %s не можа быць выдалены" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "ĐŁ пакеце не пазначана поле \"занятае меŃца паŃля ŃžŃталёўкі\". Гл. правілы " "Debian Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Ліцэнзійны ключ не ўтрымлівае даных" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Ліцэнзійны ключ не павінен Ńтрымоўваць выкананы код." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "НедапŃŃчальнае размяŃчэнне ліцэнзійнага ключа %s" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Ліцэнзійны ключ Ńжо Ń–ŃĐ˝Ńе: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "МеŃцазнаходжанне ліцэнзійнага ключа не Đ·'яўляецца бяŃпечным, так ŃŹĐş Đ·ĐĽŃŹŃчае " "Ńімвалічныя ŃпаŃылкі. ĐĐ´Ń€Đ°Ń %s ŃпаŃылаецца на %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Папка Ń ŃŹĐşŃŃŽ бŃдзе выконвацца ŃžŃталёўка ключа, ŃŹŃчэ не Ń–ŃĐ˝Ńе: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Памылка запіŃŃ Ń„Đ°ĐąĐ»Đ° ключа Ńž: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Пакеты, маючыя нездаволеныя залежнаŃці:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "але гэта віртŃальны пакет" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "але ён не ŃžŃталяваны" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "але ён не бŃдзе ŃžŃталяваны" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "але %s Ńжо ŃžŃталяваны" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "але %s бŃдзе ŃžŃталяваны" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Не атрымалаŃŃŹ дадаць ключ да ŃпіŃа давераных паŃтаўнікоў праграм" aptdaemon-1.1.1/po/si.po0000644000175000017500000011432712117271433015642 0ustar renaterenate00000000000000# Sinhalese translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-05-06 05:02+0000\n" "Last-Translator: ŕ¶´ŕ·ŕ·’ŕ¶łŕ·” කාවින්ද \n" "Language-Team: Sinhalese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "විŕ·ŕ·Šŕ·€ŕ·Źŕ·ŕ·€ŕ¶±ŕ·Šŕ¶­ විකිණුම්කරුවන්ගේ යතුරු ŕ¶˝ŕ·ŕ¶şŕ·’ŕ·ŕ·Šŕ¶­ŕ·”ŕ¶śŕ¶­ කරන්න" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "විŕ·ŕ·Šŕ·€ŕ·ŕ¶±ŕ·“ŕ¶ş යතුරු ŕ¶˝ŕ·ŕ¶şŕ·’ŕ·ŕ·Šŕ¶­ŕ·”ŕ·€ ŕ¶±ŕ·ŕ¶»ŕ¶ąŕ·“ම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "ŕ¶¶ŕ·Źŕ¶śŕ¶­ කරන ලද ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ ගොනු ඉවත් කරන්න" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "ŕ¶¶ŕ·Źŕ¶śŕ¶­ කෙරූ ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ ගොනු පවිත්‍ර කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś ŕ·„ŕ·ŕ¶©ŕ·„ුරුව වෙනŕ·ŕ·Š කරන්න" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś ŕ·ŕ·ŕ¶šŕ·ŕ·”ම් වෙනŕ·ŕ·Š කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś ŕ¶śŕ¶¶ŕ¶©ŕ·Źŕ·€ වෙනŕ·ŕ·Š කරන්න" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś කෝෂ්ඨාගාර ŕ·ŕ·ŕ¶šŕ·ŕ·”ම් වෙනŕ·ŕ·Š කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ ගොනුවක් ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කරන්න" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "මෙම ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶ş ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶şŕ·š තොරතුරු යාවත්කාලීන කරන්න" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "මෙම මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś නාමාවලිය යාවත්කාලීන කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş ŕ·„ŕ·ť ŕ¶…ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කරන්න" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş ŕ·„ŕ·ť ඉවත් කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "අලුත් ගබඩාවක් ŕ¶‘ŕ¶šŕ¶­ŕ·” ŕ¶šŕ¶» එමගින් ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කරන්න" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "නව මූලාŕ·ŕ·Šâ€Ťŕ¶»ŕ¶şŕ¶šŕ·’න් මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "මිලදී ŕ¶śŕ¶­ŕ·Š මŕ·ŕ¶Żŕ·”කාංගවල අලුත් ගබඩාවක් ŕ¶‘ŕ¶šŕ¶­ŕ·” ŕ¶šŕ¶» එමගින් ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කරන්න" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "මිලදීගත් මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶şŕ¶±ŕ·Š ŕ¶‹ŕ·ŕ·ŕ·Š කරන්න" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "යාවත්කාලීන කෙරූ මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට ŕ·ŕ·’දුවේ." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "අනෙත් පරිŕ·ŕ·“ලකගේ කාර්යන් අවලංගු කරන්න" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "වෙනත් ŕ¶…ŕ¶ş විŕ·ŕ·’න් ŕ·ŕ·’ŕ¶Żŕ·” කෙරූ මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś වෙනŕ·ŕ·Šŕ¶šŕ¶¸ŕ·Š ŕ¶…ŕ·„ŕ·ťŕ·ŕ·’ කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š " "කිරීමට ŕ·ŕ·’දුවේ." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś අවපතන ŕ·ŕ¶łŕ·„ŕ·Ź පෙරකලාŕ·ŕ·’ŕ¶ş ŕ·ŕ¶šŕ·ŕ¶±ŕ·Šŕ¶±" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "මŕ·ŕ¶Żŕ·”ŕ¶šŕ·Źŕ¶‚ŕ¶ś බාගතකිරීමට පෙරකලාŕ·ŕ·’ ŕ·ŕ¶»ŕ·Šŕ·€ŕ¶»ŕ¶şŕ¶šŕ·Š භාවිතා කිරීම ŕ·ŕ¶łŕ·„ŕ·Ź, ඔබට ŕ·ŕ¶­ŕ·Šâ€Ťŕ¶şŕ·€ŕ¶­ŕ·Š කිරීමට " "ŕ·ŕ·’දුවේ." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ŕ¶Żŕ·ťŕ·‚ŕ¶ş" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ŕ¶Żŕ·ťŕ·‚ŕ¶ş:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "මෙම ක්‍රියාව ŕ·ŕ·’ŕ¶Żŕ·” කිරීමට ඔබට ඉඩ ලබා නොදේ." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "ඔබට ඉදිරියට යාමට ŕ¶…ŕ·€ŕ·ŕ·Šâ€Ťŕ¶şŕ¶Ż [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ŕ¶Żŕ·“ ඇති ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶şŕ¶±ŕ·Š ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කරන්න" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ŕ¶Żŕ·“ ඇති ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶şŕ¶±ŕ·Š යලි ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කරන්න" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "ŕ¶Żŕ·“ ඇති ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶şŕ¶±ŕ·Š ŕ¶…ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කරන්න" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ·’ŕ¶­ ගොනුව" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ·’ŕ¶­ ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶şŕ¶±ŕ·Š" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "ŕ¶…ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කෙරූ ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶şŕ¶±ŕ·Š" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "යාවත්කාලීන කෙරූ ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶şŕ¶±ŕ·Š" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "ŕ¶‹ŕ·ŕ·ŕ·Š කෙරූ ŕ¶´ŕ¶Żŕ·Šŕ¶°ŕ¶­ŕ·’ŕ¶ş" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ŕ·ŕ·Źŕ¶»ŕ·Šŕ¶®ŕ¶š" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "ŕ¶…ŕ·„ŕ·ťŕ·ŕ·’ ŕ¶šŕ¶˝" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "ŕ¶…ŕ·ŕ·Źŕ¶»ŕ·Šŕ¶®ŕ¶š විය" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ගොනුව ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කරමින්" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ŕ¶şŕ¶±ŕ·Š ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කරමින්" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "ŕ¶´ŕ·ŕ¶šŕ·šŕ¶˘ ඉවත් කරමින්" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "ŕ¶´ŕ¶Żŕ·Šŕ¶°ŕ¶­ŕ·’ŕ¶ş ŕ¶‹ŕ·ŕ·ŕ·Š කරමින්" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "ŕ·ŕ·śŕ¶şŕ¶¸ŕ·’න්" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "නමුත් %s ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş ŕ¶šŕ·śŕ¶§ ඇත" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "නමුත් %s ŕ·ŕ·Šŕ¶®ŕ·Źŕ¶´ŕ¶±ŕ¶ş කිරීමට ඇත" aptdaemon-1.1.1/po/ru.po0000644000175000017500000016223412117271433015655 0ustar renaterenate00000000000000# Russian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-12-30 08:29+0000\n" "Last-Translator: Aleksey Kabanov \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "СпиŃок ключей доверенных поŃтавщиков" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Для проŃмотра ŃпиŃка доверенных ключей требŃетŃŃŹ аŃтентификация." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Удалить файлы загрŃженных пакетов" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Вам необходимо авторизоватьŃŃŹ для очиŃтки файлов загрŃженных пакетов." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Đзменить наŃтройки программного обеŃпечения" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Вам необходимо авторизоватьŃŃŹ для изменения наŃтроек программного " "обеŃпечения." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Đзменить репозиторий Ń ĐżŃ€ĐľĐłŃ€Đ°ĐĽĐĽĐ°ĐĽĐ¸" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Для изменения наŃтроек репозитория Ń ĐżŃ€ĐľĐłŃ€Đ°ĐĽĐĽĐ°ĐĽĐ¸ требŃетŃŃŹ аŃтентификация." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ĐŁŃтановка файла пакета" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Для ŃŃтановки этого пакета требŃетŃŃŹ аŃтентификация." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Обновление информации Đľ пакетах" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Для обновления каталога программного обеŃпечения требŃетŃŃŹ аŃтентификация." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ĐŁŃтановить или Ńдалить пакеты" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Для ŃŃтановки или Ńдаления программ требŃетŃŃŹ аŃтентификация." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "ĐŁŃтановка приложений Ń ĐżŃ€ĐľĐ˛ĐµŃ€ĐµĐ˝Đ˝ĐľĐłĐľ репозитория." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Для ŃŃтановки программ требŃетŃŃŹ аŃтентификация." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Добавить новый репозиторий и ŃŃтановить пакеты Ń Đ˝ĐµĐłĐľ" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Для ŃŃтановки приложений из нового иŃточника вам необходимо пройти " "аŃтентификацию." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Добавить новый репозиторий платных приложений и ŃŃтановить пакеты Ń Đ˝ĐµĐłĐľ" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Для ŃŃтановки ĐşŃпленных приложений необходима аŃтентификация." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Обновление пакетов" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Для ŃŃтановки обновлений требŃетŃŃŹ аŃтентификация." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Отменить Đ·Đ°Đ´Đ°Ń‡Ń Đ´Ń€Ńгого пользователя" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Для отмены не Ńвоих изменений в программном обеŃпечении требŃетŃŃŹ " "аŃтентификация." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "ĐŁŃтановить прокŃи-Ńервер для загрŃзок приложений" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Для иŃпользования прокŃи Ńервера для загрŃзки программного обеŃпечения " "требŃетŃŃŹ аŃтентификация." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ОШĐБКĐ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "ЗагрŃжено %sĐ‘ из %sĐ‘ на ŃкороŃти %sĐ‘/Ń" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "ЗагрŃжено %sĐ‘ из %sĐ‘" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ОШĐБКĐ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Вам не разреŃено выполнять ŃŤŃ‚Ń ĐľĐżĐµŃ€Đ°Ń†Đ¸ŃŽ." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Организация очереди" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "РазреŃение завиŃимоŃтей" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "СледŃющий НОВЫЙ пакет бŃдет ŃŃтановлен (%(count)s):" msgstr[1] "СледŃющие НОВЫЕ пакеты бŃĐ´ŃŃ‚ ŃŃтановлены (%(count)s):" msgstr[2] "СледŃющие НОВЫЕ пакеты бŃĐ´ŃŃ‚ ŃŃтановлены (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "СледŃющий пакет бŃдет обновлен (%(count)s):" msgstr[1] "СледŃющие пакеты бŃĐ´ŃŃ‚ обновлены (%(count)s):" msgstr[2] "СледŃющие пакеты бŃĐ´ŃŃ‚ обновлены (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "СледŃющий пакет бŃдет ĐŁĐ”ĐĐ›ĐĐť (%(count)s):" msgstr[1] "СледŃющие пакеты бŃĐ´ŃŃ‚ ĐŁĐ”ĐЛЕНЫ (%(count)s):" msgstr[2] "СледŃющие пакеты бŃĐ´ŃŃ‚ ĐŁĐ”ĐЛЕНЫ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Для ŃледŃющего пакета бŃдет произведен ОТКĐТ (%(count)s):" msgstr[1] "Для ŃледŃющих пакетов бŃдет произведен ОТКĐТ (%(count)s):" msgstr[2] "Для ŃледŃющих пакетов бŃдет произведен ОТКĐТ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "СледŃющий пакет бŃдет переŃŃтановлен (%(count)s):" msgstr[1] "СледŃющие пакеты бŃĐ´ŃŃ‚ переŃŃтановлены (%(count)s):" msgstr[2] "СледŃющие пакеты бŃĐ´ŃŃ‚ переŃŃтановлены (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "СледŃющий пакет был воŃŃтановлен (%(count)s):" msgstr[1] "СледŃющие пакеты были воŃŃтановлены (%(count)s):" msgstr[2] "СледŃющие пакеты были воŃŃтановлены (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "ТребŃетŃŃŹ полŃчить %sĐ‘ архивов." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "ПоŃле этой операции бŃдет иŃпользовано %sĐ‘ дополнительного диŃкового " "проŃтранŃтва." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "ПоŃле этой операции бŃдет ĐľŃвобождено %sĐ‘ диŃкового проŃтранŃтва." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Đ’Ń‹ хотите продолжить [Y - Да, N - Нет]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Для произведения операций над неŃколькими пакетами заключите их имена в " "кавычки:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Обновить кэŃ" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "ПопытатьŃŃŹ воŃŃтановить Ńломанные завŃиŃĐĽĐľŃти. Эта операция потенциально " "опаŃна, поŃĐşĐľĐ»ŃŚĐşŃ ĐĽĐľĐ¶ĐµŃ‚ привеŃти Đş Ńдалению многих пакетов." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ПопытайтеŃŃŚ закончить предыдŃщŃŃŽ незаверŃённŃŃŽ ŃŃтановкŃ" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ĐŁŃтановить данные пакеты" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Повторно ŃŃтановить данные пакеты" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Удалить данные пакеты" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Удалить данные пакеты, включая конфигŃрационные файлы" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Откат выбранных пакетов" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Запрещено: пожалŃĐąŃта иŃпользŃйте --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Обновить ŃиŃŃ‚ĐµĐĽŃ Đ±ĐµĐ·ĐľĐżĐ°Ńным ŃпоŃобом" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Обновить ŃиŃŃ‚ĐµĐĽŃ ŃŃтанавливая и Ńдаляя пакеты (еŃли возможно)" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Добавить поŃтавщика в доверенные" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Добавить идентификатор ключа поŃтавщика (Đ˝Ńжна опция --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "ĐŃпользовать данный Ńервер для поиŃка ключей" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Добавить репозиторий из Ńказанной deb-Ńтроки" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Указать альтернативный файл sources.list.d, в который ŃледŃет добавлять " "репозитории." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "СпиŃок доверенных ключей поŃтавщика" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Удалить доверенный ключ для данной цифровой подпиŃи" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Повторная наŃтройка ŃŃтановленных пакетов. Дополнительно может быть Ńказан " "минимальный приоритет вопроŃов" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Минимальный приоритет запроŃа debconf для отображения" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Не \"приŃоединятьŃŃŹ\" Đş Ń‚ĐµŃ€ĐĽĐ¸Đ˝Đ°Đ»Ń apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "РазреŃать пакеты из недоверенных иŃточников" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Показать дополнительнŃŃŽ информацию Đľ пакете. Đ’ наŃтоящее время только номер " "верŃии" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Ожидание аŃтентификации" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Не выключайте демона из-за его неактивноŃти" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Не загрŃжать никакие плагины" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Показывать информацию Đľ внŃтренней обработке" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Выйти и заменить Ńже запŃщенный демон" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Ждать Ńигнала DBus для общей Ńины (Только для теŃтирования" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Проводить операции в данном корневом каталоге" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Хранить ŃтатиŃŃ‚Đ¸ĐşŃ ĐżŃ€ĐľŃ„Đ¸Đ»ŃŹ в Ńказанном файле" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Не изменять файлы в ŃиŃтеме (полезно только разработчикам)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "ĐŁŃтановленный файл" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "ĐŁŃтановленные пакеты" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Добавленный ключ из файла" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Обновлённые временные файлы" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "ПоиŃĐş заверŃён" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Удалённый доверительный ключ" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Удалённые пакеты" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Обновлённые пакеты" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Обновлённая ŃиŃтема" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Примененные изменения" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "ĐŃправленная неоконченная ŃŃтановка" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "ĐŃправленные нарŃŃенные завиŃимоŃти" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Добавленный иŃточник приложений" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Подключенный компонент диŃтрибŃтива" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Удалённые файлы загрŃженных пакетов" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "ПеренаŃтроенные пакеты" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ĐŁŃпеŃно" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Отменено" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "ĐžŃибка" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ĐŁŃтановка файла" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ĐŁŃтановка пакетов" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Добавление ключа из файла" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Обновление временных файлов" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Удаление доверенного ключа" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Удаление пакетов" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Обновление пакетов" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Обновление ŃиŃтемы" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Применение изменений" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "ĐŃправление неоконченной ŃŃтановки" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Đ’ĐľŃŃтановление ŃŃтановленного ПО" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Добавление иŃточника приложений" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Подключение компонента диŃтрибŃтива" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Удаление файлов загрŃженных пакетов" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "ПеренаŃтройка ŃŃтановленных пакетов" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "ВыполняетŃŃŹ поиŃĐş" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Не ŃдалоŃŃŚ ŃŃтановить файл пакета" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Не ŃдалоŃŃŚ ŃŃтановить программное обеŃпечение" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Не ŃдалоŃŃŚ добавить ключ в ŃпиŃок доверенных поŃтавщиков программного " "обеŃпечения" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Не ŃдалоŃŃŚ обновить ŃпиŃок программ" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Не ŃдалоŃŃŚ иŃключить поŃтавщика программ из ŃпиŃка доверенных" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Не ŃдалоŃŃŚ Ńдалить программное обеŃпечение" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Не ŃдалоŃŃŚ обновить программное обеŃпечение" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Не ŃдалоŃŃŚ обновить ŃиŃтемŃ" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Не ŃдалоŃŃŚ применить изменения в программном обеŃпечении" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "ĐŃправление неоконченной ŃŃтановки не ŃдалоŃŃŚ" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "ĐŃправление нарŃŃенных завиŃимоŃтей не ŃдалоŃŃŚ" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Не ŃдалоŃŃŚ добавить иŃточник приложений" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Не ŃдалоŃŃŚ подключить компонент диŃтрибŃтива" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "При Ńдалении загрŃженных файлов произоŃла ĐľŃибка" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "ĐžŃибка поиŃка" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Добавление лицензионного ключа" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Проверьте интернет-Ńоединение." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Đ•Ńли вы иŃпользŃете Ńторонние иŃточники приложений, отключите их, поŃĐşĐľĐ»ŃŚĐşŃ " "они являютŃŃŹ чаŃтым\n" "иŃточником проблем. ПоŃле этого выполните в терминале ŃледŃющŃŃŽ командŃ: apt-" "get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Возможно, выбранный файл не являетŃŃŹ файлом GPG ключа или поврежден." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Выбранный ключ невозможно Ńдалить. Проверьте, что вы предоŃтавили вернŃŃŽ " "цифровŃŃŽ подпиŃŃŚ." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Проверьте, не запŃщено ли Đ´Ń€Ńгое приложение Ńправления программами, например " "Synaptic или aptitude. Только одно приложение может вноŃить изменения в одно " "и тоже время." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Это Ńерьёзная проблема. ПопробŃйте повторить позже. Đ•Ńли проблема возникнет " "вновь, пожалŃĐąŃта, отправьте отчёт об ĐľŃибке разработчикам." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Проверьте правильно ли Ńказано название пакета и включён ли ŃоответŃтвŃющий " "репозиторий." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Đ’ обновлении нет необходимоŃти." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Đ’ ŃŃтановке нет необходимоŃти" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Đ’ Ńдалении нет необходимоŃти." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Đ’Ń‹ запроŃили Ńдаление пакета, который являетŃŃŹ неотъемлемой чаŃтью ваŃей " "ŃиŃтемы." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Связь Ń Đ´ĐµĐĽĐľĐ˝ĐľĐĽ Ńтеряна. Скорее вŃего, его работа внезапно заверŃилаŃŃŚ." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "ĐŁŃтановка или Ńдаление пакетов программ не ŃдалоŃŃŚ." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "ВозможноŃть не поддерживаетŃŃŹ." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "СŃĐ´ŃŹ по вŃемŃ, в aptdaemon, программном обеŃпечении, позволяющем вам " "ŃŃтанавливать/Ńдалять программы и выполнять Ńвязанные Ń ĐżĐ°ĐşĐµŃ‚Đ°ĐĽĐ¸ задачи, " "приŃŃŃ‚ŃтвŃет программная ĐľŃибка." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Эта ĐľŃибка могла возникнŃть по причине дополнительных пакетов, которые " "невозможно ŃŃтановить или отŃŃŃ‚ŃтвŃŃŽŃ‚. Đš Ń‚ĐľĐĽŃ Đ¶Đµ может иметь меŃто конфликт " "ĐĽĐµĐ¶Đ´Ń ĐżĐ°ĐşĐµŃ‚Đ°ĐĽĐ¸, которые не должны быть ŃŃтановлены одновременно." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Необходимо ŃŃтановить пакеты из неавторизированных иŃточников." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "ĐŁŃтановка могла пройти неŃдачно из-за ĐľŃибки в ŃоответŃтвŃющем пакете, либо " "она была прервана неправильным ŃпоŃобом. Вам ŃледŃет иŃправить это, прежде " "чем вы Ńможете ŃŃтанавливать или Ńдалять любые Đ´Ń€Ńгие программы." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "ПожалŃĐąŃта, ŃкопирŃйте файл на Đ˛Đ°Ń Đ»ĐľĐşĐ°Đ»ŃŚĐ˝Ń‹Đą компьютер и проверьте права на " "файл." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "ĐŁŃтановка пакета, который не ŃоответŃтвŃет Ńтандартам, не разреŃена. Это " "может привеŃти Đş Ńерьёзным ĐľŃибкам на ваŃем компьютере. ПожалŃĐąŃта, " "ŃвяжитеŃŃŚ Ń Ń‚ĐµĐĽĐ¸, кто предоŃтавили данный пакет, Ńказав подробноŃти, " "изложенные ниже." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "ПолŃченный лицензионный ключ, необходимый для выполнения этого компонента " "программы неправильный или не может быть ŃŃтановлен надлежащим образом.\n" "Для полŃчения дополнительных Ńведений откройте подробноŃти." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Đ’Ńе Đ´ĐľŃŃ‚Ńпные обновления Ńже ŃŃтановлены." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Лицензионный ключ, который позволит вам иŃпользовать этот компонент " "программы, не может быть полŃчен. ПожалŃĐąŃта, ŃбедитеŃŃŚ в работоŃпоŃобноŃти " "Ńетевого Ńоединения." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "НедоŃтаточно прав для выполнения этого дейŃтвия." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "ПредоŃтавлен неправильный пароль или авторизация была отменена.\n" "Также ĐľŃибка могла произойти по техничеŃким причинам, еŃли не появлялоŃŃŚ " "окно ввода пароля: иŃпользŃемое вами окрŃжение рабочего Ńтола не " "предоŃтавило агента ŃеанŃа PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Не ŃдалоŃŃŚ закачать файлы пакета" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "ĐžŃибка при загрŃзке информации об иŃточниках приложений" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "ЗавиŃимоŃти пакета не могŃŃ‚ быть разреŃены" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "СиŃтема пакетов повреждена" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Ключ не ŃŃтановлен" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Ключ не Ńдалён" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Невозможно заблокировать менеджер пакетов" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Не ŃдалоŃŃŚ загрŃзить ŃпиŃок пакетов" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Пакет не ŃŃщеŃтвŃет" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Пакет в актŃальном ŃĐľŃтоянии" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Пакет Ńже ŃŃтановлен" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Пакет не ŃŃтановлен" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "ĐžŃибка при Ńдалении важного ŃиŃтемного пакета" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Задание не может быть проконтролировано" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "ĐžŃибка операции над пакетом" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "ТребŃетŃŃŹ ŃŃтановка ненадёжных пакетов" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "ПредыдŃщая ŃŃтановка не была заверŃена" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Этот пакет плохого качеŃтва" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Не ŃдалоŃŃŚ открыть пакет" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Эта возможноŃть не поддерживаетŃŃŹ" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "ĐžŃибка полŃчения лицензионного ключа" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "ĐžŃибка ŃŃтановки лицензионного ключа" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "СиŃтема в актŃальном ŃĐľŃтоянии" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Đвторизация пользователя не может быть выполнена" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "НедоŃтаточно прав для выполнения этого дейŃтвия" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "ПроизоŃла непреодолимая ĐľŃибка" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Ожидание запŃŃка ŃĐ»Ńжбы" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Ожидание" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Ожидание требŃемого ноŃителя информации" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Ожидание окончания работы Đ´Ń€Ńгих менеджеров программного обеŃпечения" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Ожидание запроŃа конфигŃрационного файла" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "ЗапŃŃĐş задачи" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Đдёт загрŃзка" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Đ—Đ°ĐżŃ€ĐľŃ Đ¸Ńточников программ" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ОчиŃтка" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ЗаверŃено" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Отмена" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "ЗагрŃзка ŃпиŃка приложений" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "ĐŁŃтанавливаетŃŃŹ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "НаŃтройка %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Удаление %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "ВыполняетŃŃŹ полное Ńдаление %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Уведомление об иŃчезновении «%s»" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "ВыполняетŃŃŹ поŃлеŃŃтановочный триггер %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Обновление %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Đзвлечение %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Подготовка Đş ŃŃтановке %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Подготовка конфигŃрации %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Подготовка Đş Ńдалению %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Подготовка Đş ĐżĐľĐ»Đ˝ĐľĐĽŃ Ńдалению %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s ŃŃтановлен" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s полноŃтью Ńдалён" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s Ńдалён" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Обработка %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Выполнено" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "ĐŃтентификация не ŃдалаŃŃŚ" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "ПолŃчение" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Ожидание" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Сеть недоŃŃ‚Ńпна" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Подробно" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Файл" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "ЗагрŃжено %sĐ‘" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "ЗагрŃжено" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "ТребŃетŃŃŹ наличие CD/DVD '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Đ’Ńтавьте Ńказанный выŃе CD/DVD в привод '%s' для ŃŃтановки пакетов Ń Đ˝ĐµĐłĐľ." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "Đź_родолжить" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ĐŁŃтановить" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "ПереŃŃтановить" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Удалить" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "ОчиŃтить" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Обновить" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Понизить верŃию" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ПропŃŃтить обновление" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "ПожалŃĐąŃта, поŃмотрите на ŃпиŃок изменений ниже." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Необходима ŃŃтановка дополнительных программ" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Необходима повторная ŃŃтановка дополнительных программ" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Необходимо Ńдаление дополнительных программ" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Необходима очиŃтка от дополнительных программ" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Необходимо обновление дополнительных программ" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Необходимо понижение верŃии дополнительных программ" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Обновления бŃĐ´ŃŃ‚ пропŃщены" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "ТребŃŃŽŃ‚ŃŃŹ дополнительные изменения" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Đ’Ńего бŃдет загрŃжено %sĐ‘." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sĐ‘ меŃта на жёŃтком диŃке бŃдет ĐľŃвобождено." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sĐ‘ диŃкового проŃтранŃтва бŃдет занято." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Заменить файл '%s' Ń Đ˛Đ˝ĐµŃенными вами изменениями более поздней верŃией?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Đ•Ńли вы не знаете, зачем был Ńоздан этот файл, то его Ńкорее вŃего можно " "безопаŃно заменить." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Đзменения" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_ĐžŃтавить как еŃть" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Заменить" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Подробнее" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Ожидание заверŃения работы %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "ЗагрŃзка %(files)s" msgstr[1] "ЗагрŃзка %(files)s" msgstr[2] "ЗагрŃзка %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "локальный репозиторий" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "ЗагрŃзка из %s" msgstr[1] "ЗагрŃзка из %s" msgstr[2] "ЗагрŃзка из %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "СтрŃктŃра «%s»" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "ОпиŃание %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "ПодпиŃŃŚ опиŃания %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "ДоŃŃ‚Ńпные пакеты из «%s»" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "ДоŃŃ‚Ńпные иŃточники из «%s»" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "ДоŃŃ‚Ńпные переводы из «%s»" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Переводы на %s (%s) из %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Переводы на %s из %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Языковая поддержка (%s) Ń Đ°Đ´Ń€ĐµŃа %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Пакет %s не Đ´ĐľŃŃ‚Ńпен" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Пакет %s не ŃŃтановлен" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "ВерŃия %s пакета %s не ŃŃтановлена" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Пакет %s Ńже ŃŃтановлен" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "ВерŃия %s пакета %s недоŃŃ‚Ńпна." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Неправильный Đ°Đ´Ń€ĐµŃ Ńервера ключей: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Неправильный протокол Ńервера: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Неправильный идентификатор ключа: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Не ŃдалоŃŃŚ загрŃзить и ŃŃтановить значение %s из %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Ключевой файл %s не может быть ŃŃтановлен: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Ключ Ń Ń†Đ¸Ń„Ń€ĐľĐ˛ĐľĐą подпиŃŃŚŃŽ %s не может быть Ńдалён: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Пакет %s не может быть Ńдалён." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "ВерŃия %s пакета %s не ŃŃтановлена" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "ПредыдŃщая верŃия %s пакета %s Ńже ŃŃтановлена" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "ВерŃия %s пакета %s Ńже ŃŃтановлена" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "ВерŃия %s пакета %s недоŃŃ‚Ńпна" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Вам необходимо Ńказать верŃию, чтобы произвеŃти откат %s Đş" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Более новая верŃия %s пакета %s Ńже ŃŃтановлена" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Пакет %s недоŃŃ‚Ńпен в релизе %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Пакет %s не может быть Ńдалён" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Đ’ пакете не Ńказано поле \"занятое меŃто поŃле ŃŃтановки\". См. правила " "Debian 5.6.20" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Лицензионный ключ не Ńодержит данных" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Лицензионный ключ не должен Ńодержать иŃполняемый код." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "НедопŃŃтимое раŃположение лицензионного ключа %s" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Лицензионный ключ Ńже ŃŃщеŃтвŃет: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "МеŃтоположение лицензионного ключа не являетŃŃŹ безопаŃным, так как Ńодержит " "ŃимволичеŃкие ŃŃылки. ĐĐ´Ń€ĐµŃ %s ŃŃылаетŃŃŹ на %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" "Папка в которŃŃŽ бŃдет выполнятьŃŃŹ ŃŃтановка ключа, ещё не ŃŃщеŃтвŃет: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "ĐžŃибка запиŃи файла ключа в: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "СледŃющие пакеты имеют неŃдовлетворённые завиŃимоŃти:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "но это виртŃальный пакет" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "но он не ŃŃтановлен" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "но он не бŃдет ŃŃтановлен" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "но %s Ńже ŃŃтановлен" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "но %s должен быть ŃŃтановлен" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Не ŃдалоŃŃŚ добавить ключ в ŃпиŃок доверенных поŃтавщиков программ" aptdaemon-1.1.1/po/eu.po0000644000175000017500000013107712117271433015641 0ustar renaterenate00000000000000# Basque translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-04-26 20:21+0000\n" "Last-Translator: Ibai Oihanguren \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Konfidantzazko saltzaileak" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Konfidantzazko gakoen zerrenda ikusteko autentikatu egin behar duzu" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Kendu deskargatutako pakete-fitxategiak" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Deskargatutako pakete-fitxategiak garbitzeko, autentikatu beharra duzu" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Aldatu software-konfigurazioa" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Software-ezarpenak aldatzeko, autentifikatu behar duzu" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Aldatu softwarearen errepositorioa" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Software errepositorioaren ezarpenak aldatzeko autentikatu egin behar zara" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Pakete-fitxategia instalatu" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Pakete hau instalatzeko zure burua identifikatu behar duzu" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Pakete-informazioa eguneratu" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Software katalogoa eguneratzeko autentikatu egin behar zara" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Paketeak gehitu edo kendu" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Softwarea instalatu edo kentzeko, zure burua identifikatu behar duzu" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Instalatu softwarea zerrenda zuriko errepositorio erabat fidagarritik." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Softwarea instalatzeko autentifikatu beharra daukazu." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Gehitu errepositorio berria eta instalatu paketeak bertatik" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Iturri berri bateko softwarea instalatzeko, zure burua identifikatu behar " "duzu" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Erositako softwarearentzako errepositorio berria gehitu eta instalatu " "paketeak bertatik" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Erositako softwarea instalatzeko autentikatu egin behar zara" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Paketeak bertsio-berritu" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "Eguneratutako softwarea instalatzeko zure burua identifikatu behar duzu" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Beste erabiltzaile baten ataza ezeztatu" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Beste norbaiten softwarea aldaketak ezeztatzeko autentikatu egin behar zara" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Softwarea deskargatzeko proxy bat ezarri." #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Softwarea deskargatzeko proxy zerbitzari bat erabiltzeko autentikatu egin " "behar duzu" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROREA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB / %sB deskargatuta (%sB/s)" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%sB / %sB deskargatuta" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROREA:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Ez duzu ekintza hau egiteko baimenik" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Ilararatzen" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Menpekotasunak ebazten" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Hurrengo pakete BERRIA instalatuko da (%(count)s):" msgstr[1] "Hurrengo pakete BERRIAK instalatuko dira (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Hurrengo pakete BERRIA berrituko da (%(count)s):" msgstr[1] "Hurrengo pakete BERRIAK berrituko dira (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Hurrengo paketea EZABATUKO da (%(count)s):" msgstr[1] "Hurrengo paketeak EZABATUKO dira (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" "Ondorengo paketearen BERTSIO ZAHARRAGOA instalatuko da (%(count)s):" msgstr[1] "Ondorengo paketeen BERTSIO ZAHARRAGOA instalatuko da (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Hurrengo paketea berriz instalatuko da (%(count)s):" msgstr[1] "Hurrengo paketeak berriz instalatuko dira (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Ondorengo paketearen bertsioa mantendu da (%(count)s):" msgstr[1] "Ondorengo paketeen bertsioa mantendu da (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "%sB fitxategi lortu behar dira." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Eragiketa honen ostean, diskoko %sB gehiago erabiliko dira." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Eragiketa honen ostean, diskoko %sB libratuko dira." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Jaraitzea nahi duzu [B/e]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Pakete bat baino gehiagoren gaineko eragiketak egiteko, erabiliko komatxo " "bikoitzak:\n" "aptdcon --install \"urlia sandia\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Katxea eguneratu" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Saiatu hautsitako menpekotasunak konpontzen. Eragiketa arriskutsua izan " "daiteke hainbat pakete ezabatu ditzakeelako." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Saiatu aurretik amaitu gabeko instalazioa bukatzen" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Esandako paketeak instalatu" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Esandako paketeak berriz instalatu" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Esandako paketeak ezabatu" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Esandako paketeak eta konfigurazio fitxategiak ezabatu" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Instalatu pakete hauen bertsio zaharragoa" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Baztertuta: erabili mesedez --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Sistema era seguruan eguneratu" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Sistema eguneratu, seguraski paketeak instalatu eta ezabatuz" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Saltzailea konfidantzazkoen zerrendara gehitu" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Saltzailearen gakoa gehitu (--keyserver ere behar du)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Esandako zerbitzaria erabili gakoak bilatzeko" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Errepositorio berria gehitu esandako deb lerroa erabilita" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Errepositorioen zerrenda gehitzeko beste sources.list.d fitxategi bat " "erabili." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Zerrendatu konfidantzazko saltzaileen giltzak" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Birkonfiguratu instalatutako paketeak. Galderen gutxieneko lehentasuna " "zehazteko aukera dago" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Erakutsiko den galderaren gutxieneko debconf lehentasuna" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Ez erantsi apt terminalera" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Onartu autentifikatu gabeko jatorrietako paketeak" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Paketeei buruzko informazio gehiago erakutsi. Oraingoz bertsio-zenbakia " "bakarrik" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Autentikazioaren zai" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Ez itzali daemon-a inaktibitateagatik" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Ez kargatu pluginik" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Barneko prozesu-informazioa erakutsi" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Jadanik martxan dagoen daemon bat itxi eta ordezkatu" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "DBus saioko bus-ean entzun (Probak egiteko bakarrik beharrezkoa" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Profilaren estatistikak zehaztutako fitxategian gorde" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Ez egin aldaketarik sistemari (garatzaileek erabiltzeko soilik)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Instalatu den fitxategia" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paketeak instalatuta" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Fitxategiko gakoa gehituta" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Cache-a eguneratuta" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Bilaketa eginda" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Gako fidagarria kenduta" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Paketeak ezabatuta" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Paketeak eguneratuta" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistema bertsio-berrituta" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Aldaketak aplikatuta" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Osatu gabeko instalazioa konponduta" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Hautsitako menpekotasunak konponduta" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Software-jatorria gehitu da" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Deskargatutako pakete-fitxategiak ezabatu dira" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Instalatutako paketeak berkonfiguratu dira" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Arrakasta" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Ezeztatuta" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Huts egin du" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Fitxategia instalatzen" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Paketeak instalatzen" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Fitxategiko gakoa gehitzen" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Cache-a eguneratzen" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Gako fidagarria kentzen" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Paketeak ezabatzen" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Paketeak eguneratzen" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Sistema bertsio-berritzen" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Aldaketak aplikatzen" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Osatu gabeko instalazioa konpontzen" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Instalatutako softwarea konpontzen" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Software-jatorria gehitzen" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Banaketaren osagaia gaitzen" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Deskargatutako pakete-fitxategiak ezabatzen" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Instalatutako paketeak berkonfiguratzen" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Bilatzen" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Pakete-fitxategiaren instalazioak huts egin du" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Softwarearen instalazioak huts egin du" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Software-zerrenda berritzeak huts egin du" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Software-hornitzaile fidagarrien zerrendatik hornitzailea kentzeak huts egin " "du" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Softwarea ezabatzeak huts egin du" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Softwarea eguneratzeak huts egin du" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Sistema bertsio-berritzeak huts egin du" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Software-aldaketak aplikatzeak huts egin du" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Osatu gabeko instalazioa konpontzean huts egin du" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Hautsitako menpekotasunak instalatzeak huts egin du" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Huts egin du software-jatorria gehitzeak" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Banaketaren osagaia gaitzeak huts egin du" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Huts egin du deskargatutako pakete-fitxategiak ezabatzeak" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Bilaketak huts egin du" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Lizentzia-gakoa gehitzen" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Egiaztatu zure Interneterako konexioa." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Egiaztatu hirugarrengoen errepositorioak darabiltzazun. Hala bada, ezgaitu " "itzazu, arazoak ekarri ohi dituzte eta.\n" "Honez gain, exekutatu agindu hau terminal batean: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Hautatutako fitxategia ez da GPG gako-fitxategia edo apurtuta dago." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Egiaztatu beste software-kudeaketa tresnarik irekita daukazun, adibidez " "Synaptic edo aptitude. Aldaketak egiteko aldi berean tresna bakar bat " "onartzen da." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Arazo larria da hau. Saiatu berriro geroxeago. Arazo hau berriro agertzen " "bada, mesedez eman errorearen berri garatzaileei." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Egiaztatu pakete-izena ondo idatzi duzula, eta errepositorio egokia gaituta " "dagoela." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Ez dago eguneratzeko beharrik." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Ez dago instalatzeko beharrik" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Ez dago ezabatzeko beharrik." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Zure sistemarentzat funtsezkoa den pakete bat ezabatzeko eskatu duzu." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Daemon-arekiko konexioa galdu da. Ziurrenik, atzealdeko daemon-a kraskatu da." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Huts egin du software-pakete bat instalatu edo ezabatzeak." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Eskatutako ezaugarria ez da sostengatzen." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Litekeena da instalazioak huts egin izana dagokion software-paketearen " "errore baten ondorioz edo instalazioa behar ez bezala eten delako. Software " "gehiago instalatu edo ezabatzeko aurrena arazo hau konpondu behar duzu." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Kopiatu fitxategia ordenagailu lokalera eta egiaztatu fitxategiaren baimenak." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Kalitate maila estandarra betetzen ez duen pakete baten instalazioa ez dago " "baimendurik. Honek arazo larriak sor litzake ordenagailuan. Jarri " "harremanetan pakete-fitxategi hau eman dizun pertsona edo erakundearekin eta " "jakinarazi iezazkiozu jarraian datozen xehetasunak." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Deskargatutako lizentzia-gakoa, software hau exekutatzeko beharrezkoa, ez da " "baliozkoa edo ezin izan da behar bezala\n" "instalatu. Ikusi xehetasunak informazio gehiagorako." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Eskuragarri zeuden bertsio-berritze guztiak insalatu dira dagoeneko." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Software hau erabiltzea ahalbidetzen dizun lizentzia-gakoa ezin izan da " "deskargatu. Egiaztatu zure sare-konexioa." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Ezin izan dira pakete-fitxategiak deskargatu" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Ezin izan da errepositorio-informazioa deskargatu" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Ezin dira paketeen menpekotasunak ebatzi" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Pakete-sistema apurtuta dago" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Ez da gakoa instalatu" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Ez da gakoa kendu" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Ezin izan da pakete-kudeatzailea blokeatu" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Ezin izan da pakete-zerrenda kargatu" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paketea ez da existitzen" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Paketea dagoeneko eguneratuta dago" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Jadanik instalatuta dago paketea" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Paketa ez dago instalatuta" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Ezin izan da sistemarentzako funtsezkoa den paketea ezabatu" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Ezin da ataza monitorizatu edo kontrolatu" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Huts egin du pakete-ekintzak" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Pakete ez fidagarrien instalazioa behar du" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Ez da aurreko instalazioa osatu" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Paketea kalitate txarrekoa da" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Pakete-fitxategia ezin izan da ireki" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Jasan gabeko ezaugarria" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Huts egin du lizentzia-gakoa deskargatzeak" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Huts egin du lizentzia-gakoa instalatzeak" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Sistema dagoeneko eguneratuta dago" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Errore manieazina gertatu da" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Zerbitzua hasi arte itxaroten" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Zain" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Beharrezko euskarriari itxaroten" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Beste software-kudeatzaileak itxi arte itxaroten" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Konfigurazio-fitxategi elkarrizketari itxaroten" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Ataza exekutatzen" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Deskargatzen" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Software-jatorriak kontsultatzen" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Garbitzen" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Burututa" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Ezeztatzen" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Software-zerrenda kargatzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s instalatzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s konfiguratzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s ezabatzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s guztiz ezabatzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "%s paketea desagertu dela antzeman da" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Instalazio-ondorengo %s abiarazlea exekutatzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s bertsio-berritzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s paketetik ateratzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "%s instalatzeko prestatzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "%s konfiguratzeko prestatzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "%s ezabatzeko prestatzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "%s guztiz ezabatzeko prestatzen" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s instalatu da" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s guztiz ezabatu da" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s ezabatu da" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "%s prozesatzen" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Egina" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Autentifikazioak huts egin du" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Eskuratzen" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inaktibo" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Sarea ez dago eskuragarri" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Xehetasunak" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fitxategia" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sB deskargatuta" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Deskargatuta" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "'%s' CD/DVDa behar da" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Sartu goiko CD/DVDa '%s' unitatean eta instalatu software-paketeak bertatik." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_Jarraitu" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instalatu" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Berrinstalatu" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Ezabatu" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Araztu" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Bertsio-berritu" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Itzuli aurreko bertsiora" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Saltatu bertsio-berritzea" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Ikusi aldaketen zerrenda azpian." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Software gehigarria instalatu beharra dago" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Software gehigarria berrinstalatu beharra dago" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Software gehigarria ezabatu beharra dago" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Software gehigarria araztu beharra dago" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Software gehigarria bertsio-berritu beharra dago" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Software gehigarria aurreko bertsiora itzuli beharra dago" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Eguneraketak saltatuko dira" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Aldaketa gehigarriak egin behar dira" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB deskargatuko dira guztira." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB libratuko dira diskoan." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Diskoko %sB gehiago erabiliko dira." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Zure '%s' fitxategiko aldaketak ordezkatu konfigurazio-fitxategiaren bertsio " "berriago batekin?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Ez badakizu zergatik existitzen den fitxategi hori dagoeneko, normalean " "ordezkatzea segurua da." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Aldaketak" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Mantendu" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Ordezkatu" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Xehetasunak" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "%s itxi arte itxaroten" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Paketea deskargatzen: %(files)s" msgstr[1] "Paketeak deskargatzen: %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "errepositorio lokala" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Hemendik deskargatzen: %s" msgstr[1] "Hemendik deskargatzen: %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s(r)en egitura" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s(r)en deskribapena" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%s(r)en sinadura-deskribapena" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "%s(e)ko pakete eskuragarriak" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "%s(e)ko jatorri eskuragarriak" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "%s(e)ko itzulpen eskuragarriak" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%s (%s) hizkuntzarako itzulpenak, hemendik: %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s hizkuntzarako itzulpenak, hemendik: %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Itzulpenak (%s), hemendik: %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "%s paketea ez dago eskuragarri" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "%s paketea ez dago instalatuta" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "%s / %s bertsioa ez dago instalatuta" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "%s paketea dagoeneko instalatuta dago" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "%s / %s bertsioa ez dago eskuragarri." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Gako-zerbitzariaren URLa baliogabea da: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Huts egin du %s gakoa deskargatu eta instalatzeak (hemendik: %s):\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "%s gako-fitxategia ezin izan da instalatu: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "%s paketea ezin da ezabatu." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "%s / %s bertsioa ez dago instalatuta" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "%s / %s bertsio zaharragoa dagoeneko instalatuta dago" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "%s / %s bertsioa dagoeneko instalatuta dago" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "%s / %s bertsioa ez dago eskuragarri" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "%s paketea ez dago eskuragarri %s bertsiorako." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "%s paketea ezin da ezabatu" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Ondorengo paketeek bete gabeko menpekotasunak dituzte:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "baina pakete birtuala da" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Gakoa software-hornitzaile fidagarrien zerrendara gehitzeak huts egin du" aptdaemon-1.1.1/po/ug.po0000644000175000017500000015546512117271433015652 0ustar renaterenate00000000000000# Uyghur translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # Gheyret T.Kenji , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-10-09 23:47+0000\n" "Last-Translator: Gheyret T.Kenji \n" "Language-Team: Uyghur Computer Science Association \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "ئىشەنچلى٠vendor لارنىڭ ئاچقۇچلىرىنى Ůۆرسىتىش" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "ئىشەنچلى٠ئاچقۇچلارنى ŮۆرŰŘ´ ئŰÚ†Űن سالاھىيەت دەلىللەش زۆرŰردۇر" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Ú†ŰŘ´Űرگەن بŮغچا ھۆججەتلىرىنى ئۆچŰر" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Ú†ŰŘ´Űرگەن بŮغچا ھۆججەتلىرىنى تازىلاش ئŰÚ†Űن، سالاھىيىتىڭىزنى ŘŞŰ•ŮŘ´ŰرŰŘ´ زۆرŰر." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "يۇمشاق ŘŻŰتال سەپلىمىسىنى ئۆزگەرت" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "يۇمشاق ŘŻŰتال سەپلىمىسىنى ئۆزگەرتىش ئŰÚ†Űن، سالاھىيىتىڭىزنى ŘŞŰ•ŮŘ´ŰرŰŘ´ زۆرŰر." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "يۇمشاق ŘŻŰتال خەزىنىسىنى ئۆزگەرتىش" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "يۇمشاق ŘŻŰتال خەزىنە تەڭشىŮىنى ئۆزگەرتىش ئŰÚ†Űن دەلىللەش زۆرŰردۇر" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "بŮغچا ھۆججىتىنى ئŮرنىتىش" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "بۇ بŮغچىنى ئŮرنىتىش ئŰÚ†Űن دەلىللەش زۆرŰردۇر" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "بŮغچىغا مۇناسىۋەتلى٠ئۇچۇرلارنى ŮŠŰڭىلاش" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "يۇمشاق ŘŻŰتال ŮاتالŮگىنى ŮŠŰڭىلاش ئŰÚ†Űن دەلىللەش زۆرŰردۇر" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "بŮغچىلارنى ئŮرنىتىش ياŮى ئۆچŰرŰŘ´" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "يۇمشاق ŘŻŰتال ئŮرنىتىش ياŮى ئۆچŰرŰŘ´ ئŰÚ†Űن دەلىللەش زۆرŰردۇر." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "ئاق تىزىمدىŮى، يۇقىرى ئىشەنچلى٠خەزىنىلەردىن يۇمشاق ŘŻŰتاللارنى ئŮرناتسۇن." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "يۇمشاق ŘŻŰتالنى ئŮرنىتىش ئŰÚ†Űن Ůىملى٠دەلىللەش زۆرŰردۇر." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "ŮŠŰڭى خەزىنە Ů‚Ůشۇپ بŮغچىلارنى ئۇنىڭدىن ئŮرنىتىش" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "ŮŠŰڭى مەنبەدىن يۇمشاق ŘŻŰتال ئŮرنىتىش ئŰÚ†Űن دەلىللەش زۆرŰردۇر" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "ŘłŰتىۋالغان يۇمشاق ŘŻŰتالنىڭ خەزىنىسى Ů‚Ůشۇپ بŮغچىلارنى ئۇنىڭدىن ئŮرنىتىش" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "يۇمشاق ŘŻŰتال ŘłŰتىۋŰلىش ئŰÚ†Űن دەلىللەش زۆرŰردۇر." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "بŮغچىلارنى ŮŠŰŮسەلدŰرŰŘ´" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "ŮŠŰڭىلانغان يۇمشاق ŘŻŰتالنى ئŮرنىتىش ئŰÚ†Űن دەلىللەش زۆرŰردۇر" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" "باشقا ئىشلەتŮŰچىنىڭ ۋەزىپىسىنى(ئىجرا قىلىۋاتقان پرŮگراممىسىنى) ئەمەلدىن " "قالدۇرۇش" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "باشقىلار ئŰلىپ يۇمشاق ŘŻŰتال ئۆزگەرتىشلىرىنى ئەمەلدىن قالدۇرۇش ئŰÚ†Űن دەلىللەش " "زۆرŰردۇر" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "يۇمشاق ŘŻŰتال Ú†ŰŘ´ŰرŰŘ´ŘŞŰ• ئىشلىتىدىغان ۋاŮالەتچىنى بŰŮىتىش" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "يۇمشاق ŘŻŰتال Ú†ŰŘ´ŰرŰŘ´ŘŞŰ• ئىشلىتىلىدىغان ۋاŮالەتچى مۇلازىمŰتىرنى ئىشلىتىش ئŰÚ†Űن " "دەلىللەش زۆرŰردۇر" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Ú†ŰŘ´ŰرŰلگىنى %sB / %sBŘŚ ŘŞŰزلىŮى %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Ú†ŰŘ´ŰرŰلگىنى %sB / %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROR:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "سىزنىڭ بۇ مەشغۇلاتنى قىلىش ÚľŮقۇقىڭىز ŮŠŮŮ‚." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "رەتŮŰ• تىزىلىش" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "بŰقىندىلىق مۇناسىۋەتنى ھەل قىلىۋاتىدۇ" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "تۆۋەندىŮى (%(count)s) دانە ŮŠŰڭى بŮغچىلار ئŮرنىتىلىدۇ:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "تۆۋەندىŮى (%(count)s) دانە بŮغچىنىڭ نەشرى يۇقىرىلىتىلىدۇ:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "تۆۋەندىŮى (%(count)s) دانە بŮغچا ئۆچŰرŰلىدۇ:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "تۆۋەندىŮى (%(count)s) دانە بŮغچىنىڭ نەشرى تۆۋەنلىتىلىدۇ:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "تۆۋەندىŮى (%(count)s) دانە بŮغچا قايتا ئŮرنىتىلىدۇ:" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "تۆۋەندىŮى بŮغچىلار ساقلاپ Ů‚Űلىندى(%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "ئارخىپتىن %sB ئŮقۇش زۆرŰر." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "بۇ مەشغۇلات تاماملانسا، %sB دىسŮا بŮشلۇقى ئىشلىتىلىدۇ." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "بۇ مەشغۇلات تاماملانسا، %sB دىسŮا بŮشلۇقى بىŮارلىنىدۇ." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "داۋاملاشتۇرامسىز[Y/n]Řź" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "بىر ياŮى بىر قانچە بŮغچىغا مەشغۇلات قىلماقچى بŮلسىڭىز، بŮغچا ئاتلىرىنى " "تىرناق ئىچىگە ئŰلىڭ:\n" "aptdcon --install \"boghcha ati\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "غەملەŮنى ŮŠŰڭىلا" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "بۇزۇلغان بŰقىنىشچانلىقنى ھەل قىلىشنى سىناپ ŮۆرŰÚ­. بۇ مەشغۇلات خەتەرلىŮŘŚ " "Ú†ŰنŮى ئۇ نۇرغۇن بŮغچىلارنى ئۆچŰرŰŘ´ ئŰھتىماللىقى بار." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ئالدىنقى Ů‚Űتىملىق چالا ئŮرنىتىشنى تاماملاشنى سىناپ ŮۆرŰÚ­." #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "بŰرىلگەن بŮغچىلارنى ئŮرنىتىش" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "بŰرىلگەن بŮغچىلارنى قايتا ئŮرنىتىش" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "بŰرىلگەن بŮغچىلارنى ئۆچŰرŰŘ´" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "بŰرىلگەن بŮغچىلارنى تەڭشە٠ھۆججەتلىرى بىلەن Ů‚Ůشۇپ ئۆچŰرŰŘ´" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "بŰرىلگەن بŮغچىلارنىڭ نەشرىنى تۆۋەنلىتىدۇ" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "چەŮلەنگەن: --safe-upgrade نى ئىشلىتىڭ" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "سىستŰمىنى بىخەتەر ŮŠŰŮسەلدŰرىدۇ" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "سىستŰمىنى ŮŠŰŮسەلدŰرىدۇ، بەلŮىم بŮغچىلارنى ئŮرنىتىدۇ ياŮى ئۆچŰرىدۇ" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "vendor نى ئىشەنچلى٠قاتارىغا Ů‚ŮŘ´" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "vendor keyid نى Ů‚Ůشۇڭ(--keyserver مۇ زۆرŰردۇر)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "ئاچقۇچلارنى ئىزدەپ ŘŞŰپىش ئŰÚ†Űن بŰرىلگەن keyserver نى ئىشلىتىڭ" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "بŰرىلگەن deb-line نى ئارقىلىق ŮŠŰڭى خەزىنە Ů‚Ůشۇش" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "خەزىنە Ů‚Ůشىدىغان باشقا بىر sources.list.d ھۆججىتىنى Ůۆرسىتىڭ" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "ئىشەنچلى٠vendor ئاچقۇچلىرىنى Ůۆرسىتىش" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "بŰرىلگەن fingerprint نىڭ ئىشەنچلى٠ئاچقۇچىنى ئۆچŰرŰŘ´" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "ئŮرنىتىلىپ بŮلغان بŮغچىلارنى قايتا سەپلەيدۇ. تاللانما ئارقىلىق ŘłŮئالنىڭ " "ئالدىنلىقىنى ئەڭ ŮىچىŮŮŰ• تەڭشەشŮŰ• بŮلىدۇ" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "debconf نىڭ ئالدىنقى ئەڭ تۆۋەن بŮلغان ŘłŮئالنىلا Ůۆرسىتىدۇ" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "apt ŘŞŰرمىنالغا باغلانما" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "دەلىللەنمىگەن مەنبەدىŮى بŮغچىلارنى ئىشلەتسۇن" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "بۇ بŮغچا ھەققىدىŮى Ů‚Ůشۇمچە ھۆججەتلەرنى Ůۆرسىتىدۇ. نۆۋەتتە نەشر نŮمۇرىلا " "Ůۆرسىتىلگەن." #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "دەلىللەشنى ساقلاۋاتىدۇ" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "پاسسىپ بŮلغانلىقى ئŰÚ†Űن مۇئەŮŮەلنى تاقىما" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "ÚľŰچقانداق قىستۇرمىنى ئŮقۇمىسۇن" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "ئىچŮى processing ئۇچۇرلىرىنى Ůۆرسىتىش" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "ئىجرا بŮلۇۋاتقان مۇئەŮŮەلنى ŘŞŮختات ۋە ئالماشتۇر" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "DBus ئەڭگىمە باش لىنىيىسىدە تىڭشا (سىناقتىلا زۆرŰر بŮلىدۇ" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "بŰرىلگەن chroot مۇھىتىدا مەشغۇلات قىلىدۇ" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "profile stats نى بەلگىلەنگەن ھۆججەتŮŰ• ساقلاش" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "سىستŰمىغا Ů‚ŮŮ„ تەگŮŰزمە(ئىجادىيەتچىلەر ئŰÚ†Űنلا)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "ئŮرنىتىلغان ھۆججەت" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "ئŮرنىتىلغان بŮغچىلار" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "ھۆججەتتىن Ů‚Ůشۇلغان ئاچقۇچ" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "ŮŠŰڭىلانغان غەملەŮ" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "ئىزدەش تامام" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "ئۆچŰرŰلگەن ئىشەنچلى٠ئاچقۇچ" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "ئۆچŰرŰلگەن بŮغچىلار" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "ŮŠŰڭىلانغان بŮغچىلار" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "ŮŠŰŮسەلدŰرŰلگەن سىستŰما" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Ů‚Ůللىنىلغان ئۆزگەرتىشلەر" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "رŰŮ…Ůنت قىلىنغان چالا ئŮرناتما" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "رŰŮ…Ůنت قىلىنغان بۇزۇلغان بŰقىنىشچانلىقلار" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Ů‚Ůشۇلغان يۇمشاق ŘŻŰتال مەنبەسى" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "تارقىتىلمىنىڭ ئىناۋەتلى٠قىلىنغان بۆلەŮلىرى." #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "ئۆچŰرŰلگەن Ú†ŰŘ´Űرگەن بŮغچا ھۆججەتلىرى" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "قايتا سەپلەنگەن ئŮرنىتىلغان بŮغچىلار" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "غەلىبىلى٠تاماملاندى" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "قالدۇرۇۋŰتىلدى" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ھۆججەت ئŮرنىتىۋاتىدۇ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "بŮغچىلارنى ئŮرنىتىۋاتىدۇ" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "ھۆججەتتىن ئاچقۇچ Ů‚Ůشۇۋاتىدۇ" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "غەملەŮنى ŮŠŰڭىلاۋاتىدۇ" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "ئىشەنچلى٠ئاچقۇچنى ئۆچŰرŰۋاتىدۇ" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "بŮغچىلار ئۆچŰرŰۋاتىدۇ" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "بŮغچىلار ŮŠŰڭىلاۋاتىدۇ" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "سىستŰمىنى ŮŠŰŮسەلدŰرŰۋاتىدۇ" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ئۆزگەرتىشلەرنى Ů‚Ůللىنىۋاتىدۇ" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "چالا ئŮرناتمىلارنى ŘŞŰزىتىۋاتىدۇ" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "ئŮرنىتىلغان يۇمشاق ŘŻŰتالنى ئŮڭشاۋاتىدۇ" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "يۇمشاق ŘŻŰتال مەنبەسىنى Ů‚Ůشۇۋاتىدۇ" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "distribution نىڭ component نى ئىناۋەتلى٠قىلىۋاتىدۇ" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Ú†ŰŘ´Űرگەن بŮغچا ھۆججەتلىرى ئۆچŰرŰۋاتىدۇ" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "ئŮرنىتىلغان بŮغچىلارنى قايتا سەپلەۋاتىدۇ" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "ئىزدەۋاتىدۇ" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "بŮغچا ھۆججىتىنى ئŮرنىتىش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "يۇمشاق ŘŻŰتال ئŮرنىتىش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "يۇمشاق ŘŻŰتال تىزىمىنى ŮŠŰڭىلاش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "vendors نى ئىشەنچلى٠تىزىمىدىن ئۆچŰرŰŘ´ مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "يۇمشاق ŘŻŰتالنى ئۆچŰرŰŘ´ مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "يۇمشاق ŘŻŰتالنى ŮŠŰڭىلاش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "سىستŰمىنى ŮŠŰŮسەلدŰرŰŘ´ مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "يۇمشاق ŘŻŰتال ئۆزگەرتىشلىرىنى Ů‚Ůللىنىش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "چالا ئŮرناتمىلارنى رŰŮ…Ůنت قىلىش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "بۇزۇلغان بŰقىنىشچانلىقنى رŰŮ…Ůنت قىلىش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "يۇمشاق ŘŻŰتال مەنبەسىنى Ů‚Ůشۇش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "distribution نىڭ component نى ئىناۋەتلى٠قىلىش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Ú†ŰŘ´Űرگەن بŮغچا ھۆججەتلىرى ئۆچŰرŰۋاتقاندا مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "ئىزدەش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "ئىجازەتنامە ئاچقۇچىنى Ů‚Ůشۇۋاتىدۇ" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "ئىنتŰرنŰŘŞ باغلىنىشنى ŘŞŰ•ŮŘ´ŰرŰÚ­." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "باشقا بىر يۇمشاق ŘŻŰتال خەزىنىسىنى ئىشلىتىۋاتامسىز؟ شۇنداق بŮلسا ئۇنى " "ئŰتىۋŰتىڭ، Ú†ŰنŮى ئۇ نۇرغۇن مەسىلىلەرنىڭ سەۋەبŮارىدۇر. ئۇنىڭدىن ŮŰيىن " "ŘŞŰرمىنالدا: apt-get install -f ŘŻŰگەن بۇيرۇقنى ئىجرا قىلىڭ." #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "تاللانغان ھۆججەت GPG ئاچقۇچ ھۆججىتى ئەمەس ياŮى بۇزۇلغان." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "تاللانغان ئاچقۇچنى ئۆچŰرگىلى بŮلمىدى. ئىناۋەتلى٠fingerprint بŰرىلگەنمۇ " "ŘŞŰ•ŮŘ´ŰرŰÚ­" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "باشقا بىر يۇمشاق ŘŻŰتال باشقۇرۇش Ů‚Ůرالى(Synaptic ياŮى aptitude) " "ئىشلىتىۋاتامسىز؟ ئادەتتە پەقەت بىرىنىلا ئىشلىتىپ مەشغۇلات قىلغىلى بŮلىدۇ." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "بۇ ناھايىتى ئŰغىر مەسىلە. ŮŰيىن يەنە سىناپ ŮۆرŰÚ­. ئەگەر يەنە ŘŞŰ•Ůرارلانسا، " "ئىجادىيەتچىگە مەلۇم قىلىڭ." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "بŮغا ئاتى ŘŞŮغرىمۇ، مۇناسىۋەتلى٠خەزىنىنى ئىشلەتŮىلى بŮلامدۇ ŘŞŰ•ŮŘ´ŰرŰÚ­." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "ŮŠŰڭىلاشنىڭ زۆرŰرىيىتى ŮŠŮŮ‚." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "ئŮرنىتىشنىڭ زۆرŰرىيىتى ŮŠŮŮ‚." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "ئۆچŰرŰشنىڭ زۆرŰرىيىتى ŮŠŮŮ‚." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "سىستŰمىنىڭ ئاساسلىق بŮلىقىنى ئۆچŰرمەŮچى بŮلدىڭىز." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Demon بىلەن بŮلغان باغلىنىش ئŰزŰلدى. ئارقا تەرەپ مۇئەŮŮەلى ŘŞŮختاپ قالغاندە٠" "قىلىدۇ" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "يۇمشاق ŘŻŰتال بŮلىقىنى ئŮرنىتىش ياŮى ئۆچŰرŰŘ´ مەغلۇپ بŮلدى." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "تەلەپ قىلغان ئىقتىدارىنى Ů‚Ůللىمايدۇ." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "پرŮگراممىنى ئŮرنىتىش/چىقىرىۋŰتىش ۋە باشقا بŮغچا باشقۇرۇشقا مۇناسىۋەتلى٠" "ئىشلارنى قىلىدىغان aptdaemon پرŮگراممىسىدا خاتالىق باردە٠قىلىدۇ." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "بۇ خاتالىق، زۆرŰر Ů‚Ůشۇمچە يۇمشاق ŘŻŰتال بŮغچىسىنىڭ ŮŠŮقلۇقى ياŮى ئۇنى " "ئŮرناتقىلى بŮلماسلىقى سەۋەبىدىن ŮŰلىپ چىققان. يەنە ŮŰلىپ بىرگە ئŮرناتقىلى " "بŮلمايدىغان يۇمشاق ŘŻŰتال بŮغچىسى(چىقىشالمايدىغان) ئارىسىدا ŘŞŮقۇنۇش ŮŰلىپ " "چىققان ئŰھتىماللىقمۇ بار." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "بۇنىڭ ئŰÚ†Űن ŮىملىŮى دەلىللەنمىگەن مەنبەلەردىن بŮغچىلارنى ئŮرنىتىش زۆرŰر." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "بۇ خاتالىق ماس يۇمشاق ŘŻŰتال بŮلىقىدا خاتالىق بŮلغاچقا ياŮى ئۇنىڭ نŮرمال " "ئاخىرلاشتۇرۇلمىغانلىقىدىن ŮŰلىپ چىقىدۇ. باشقا بŮغچىلارنى ئŮرنىتىش ياŮى " "ئۆچŰرŰشتىن ئاۋۋال بۇ خاتالىقنى ŘŞŰزىتىڭ." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "ھۆججەتنى ŮŮمپيۇتŰرىڭىزغا ŮۆچŰرŰŮľ ئۇنىڭ ئىمتىيازلىرىنى ŘŞŰ•ŮŘ´ŰرŰÚ­." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "ŘłŰپەتŮŰ• Ůاپالەتلى٠قىلىنمىغان بۇزۇق بŮغچىلارنى ئŮرنىتىشقا ŮŠŮŮ„ Ů‚Ůيۇلمايدۇ. " "بۇلارنىڭ ŮŮمپيۇتŰرغا ئŰغىر زىيانلارنى ŘłŰلىش ئŰھتىماللىقى بار. شۇڭا مۇشۇ " "بŮغچىنى ياسىغان ئادەم ياŮى ئŮرۇن بىلەن ئالاقە قىلىپ ŮۆرŰÚ­." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "پرŮگراممىنى ئىجرا قىلىشقا زۆرŰر بŮلغان Ú†ŰŘ´ŰرŰلگەن ئىجازەتنامە ئاچقۇچى " "ئىناۋەتسىز، ياŮى ŘŞŮغرا ئŮرناتقىلى بŮلمىدى.\n" "ŘŞŰخىمۇ ŮŮŮľ بىلمەŮچى بŮلسىڭىز تەپسىلاتلىرىغا قاراڭ." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "بار بŮلغان بارلىق ŮŠŰڭىلانمىلار ئŮرنىتىلغان." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "پرŮگراممىنى ئىجرا قىلىشقا زۆرŰر بŮلغان ئىجازەتنامە ئاچقۇچىنى Ú†ŰŘ´Űرگىلى " "بŮلمىدى. ŘŞŮر باغلىنىشىنى ŘŞŰ•ŮŘ´ŰرŰÚ­." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "بŮغچا ھۆججەتلىرىنى Ú†ŰŘ´ŰرŰŘ´ مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "خەزىنە ئۇچۇرلىرىنى Ú†ŰŘ´ŰرŰŘ´ مەغلۇپ بŮلدى." #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "بŮغچا بŰقىنىشچانلىقىنى ھەل قىلغىلى بŮلمىدى" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "بŮغچا سىستŰمىسى بۇزۇلغان" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "ئاچقۇچ ئŮرنىتىلمىغان" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "ئاچقۇچ ئۆچŰرŰلمىگەن" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "بŮغچا باشقۇرغۇچنى قۇلۇپلاش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "بŮغچا تىزىمىنى ئŮقۇش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "بŮغچا مەۋجۇت ئەمەس" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "بŮغچا ئەڭ ŮŠŰڭى ھالەتتە" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "بŮغچا ئاللىقاچان ئŮرنىتىلغان" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "بŮغچا ئŮرنىتىلمىغان" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "ئاساسلىق سىستŰما بŮغچىلىرىنى ئۆچŰرŰŘ´ مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "ۋەزىپىنى ŮۆزەتŮىلى ياŮى باشقۇرغىلى بŮلمىدى" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "بŮغچا مەشغۇلاتى مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "ئىشەنچسىز بŮغچىنى ئŮرنىتىشنى تەلەپ قىلىۋاتىدۇ." #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "ئالدىنقى Ů‚Űتىملىق ئŮرنىتىش تاماملانماپتۇ" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "بۇ بŮغچىنىڭ ŘłŰپىتى بە٠ناچار ئىŮەن" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "بŮغچا ھۆججىتىنى ئاچقىلى بŮلمىدى" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Ů‚Ůللىمايدىغان ئىقتىدار" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "ئىجازەتنامە ئاچقۇچىنى Ú†ŰŘ´ŰرŰŘ´ مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "ئىجازەتنامە ئاچقۇچىنى ئŮرنىتىش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "سىستŰمىڭىز ئاللىقاچان ئەڭ ŮŠŰڭى ھالەتتە" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "تۇتقىلى بŮلمايدىغان خاتالىق ŮŠŰز بەردى" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "مۇلازىمەتنىڭ ئىجرا بŮلۇشىنى ŮŰŘŞŰۋاتىدۇ" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "ŮŰŘŞŰۋاتىدۇ" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "زۆرŰر بŮلغان CD/DDV نى ŮŰŘŞŰۋاتىدۇ" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" "باشقا يۇمشاق ŘŻŰتال باشقۇرۇش پرŮگراممىلىرىنىڭ تاماملىنىشىنى ŮŰŘŞŰۋاتىدۇ" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "سەپلىمە ھۆججىتىنىڭ Ůۆرسەتمە چىقىرىشىنى ساقلاۋاتىدۇ." #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "ۋەزىپىنى ئىجرا قىلىۋاتىدۇ" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Ú†ŰŘ´ŰرŰۋاتىدۇ" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "يۇمشاق ŘŻŰتال مەنبەلىرىنى ŘłŰرŰŘ´ŘŞŰرŰۋاتىدۇ" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "تازىلاۋاتىدۇ" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "تاماملاندى" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "ئەمەلدىن قالدۇرۇۋاتىدۇ" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "يۇمشاق ŘŻŰتال تىزىمىنى ئŮقۇۋاتىدۇ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "ئŮرنىتىۋاتقىنى %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "سەپلەۋاتقىنى %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "ئۆچŰرŰۋاتقىنى %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "ŘŞŮلۇق ئۆچŰرŰۋاتقىنى %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "%s نىڭ ŮŠŮقىلىشىنى خاتىرىلەۋاتىدۇ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "ئŮرنىتىلغاندىن ŮŰيىنŮى trigger %s نى ئىجرا قىلىۋاتىدۇ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "ŮŠŰŮسەلدŰرŰۋاتقىنى %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "ŮŠŰيىۋاتقىنى %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "بŮغچا %s نى ئŮرنىتىشقا تەييارلىنىۋاتىدۇ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "بŮغچا %s نى سەپلەشŮŰ• تەييارلىنىۋاتىدۇ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "بŮغچا %s نى چىقىرىۋەتىشŮŰ• تەييارلىنىۋاتىدۇ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "بŮغچا %s نى ŘŞŮلۇق چىقىرىۋەتىشŮŰ• تەييارلىنىۋاتىدۇ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "ئŮرنىتىلغىنى %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "بŮغچا %s ŘŞŮلۇق چىقىرىۋŰتىلدى" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "چىقىرىۋŰتىلگىنى %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "بىر تەرەپ قىلىۋاتقىنى %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "تامام" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "سالاھىيەت دەلىللەش مەغلۇپ بŮلدى" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "ئŰلىۋاتىدۇ" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "بىŮار" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "ŘŞŮرنى ئىشلەتŮىلى بŮلمايدۇ" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "تەپسىلاتلار" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "ھۆججەت" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Ú†ŰŘ´ŰرŰلگىنى %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Ú†ŰŘ´ŰرŰلدى" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "'%s' ŘŻŰگەن CD/DVD زۆرŰر." #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "ئۇستىدىŮى CD/DVD دىن يۇمشاق ŘŻŰتال بŮغچىلىرىنى ئŮرنىتىش ئŰÚ†Űن، ئۇنى Ů‚Ůزغاتقۇچ " "'%s' غا ŘłŰلىڭ" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "داۋاملاشتۇر(_O)" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ئŮرنات" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "قايتا ئŮرنات" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "ئۆچŰر" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "پاŮىزلا" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "ŮŠŰŮسەلدŰر" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "نەشرىنى تۆۋەنلەت" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ŮŠŰŮسەلدŰرŰشنى ئۆتŮŰزŰۋەت" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "تۆۋەندىŮى ئۆزگىرىشلەرنىڭ تىزىمىغا قاراپ چىقىڭ." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "ئŮرنىتىلىدىغان Ů‚Ůشۇمچە يۇمشاق ŘŻŰتال" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "قايتا ئŮرنىتىلىدىغان Ů‚Ůشۇمچە يۇمشاق ŘŻŰتال" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "ئۆچŰرŰلىدىغان Ů‚Ůشۇمچە يۇمشاق ŘŻŰتال" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "پاŮىزلىنىدىغان Ů‚Ůشۇمچە يۇمشاق ŘŻŰتال" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "ŮŠŰŮسەلدŰرىدىغان Ů‚Ůشۇمچە يۇمشاق ŘŻŰتال" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "نەشرىنى تۆۋەنلىتىدىغان Ů‚Ůشۇمچە يۇمشاق ŘŻŰتال" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "ŮŠŰڭىلاش ئۆتŮŰزŰŰ‹Űتىلىدۇ" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Ů‚Ůشۇمچە ئۆزگىرىشلەر تەلەپ قىلىنىدۇ" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "جەمئىي %sB Ú†ŰŘ´ŰرŰلىدۇ" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB بŮشلۇق بىŮارلىنىدۇ." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB بŮشلۇق ئىشلىتىلىدۇ." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "'%s' نىڭدىŮى ئۆزگىرىشلەرنى ŮŰيىنŮى نەشرىدىŮى سەپلىمە ھۆججەتلەر بىلەن " "قاپلىۋŰتەمسىز؟" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "بۇ ھۆججەتنىڭ بۇ يەرگە قانداق پەيدا بŮلۇپ قالغانلىقىنى بىلمىسىڭىز خاتىرجەم " "قاپلىۋŰتىڭ." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "ئۆزگىرىشلەر(_C)" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "تەگمە(_K)" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "ئالماشتۇر(_R)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "تەپسىلاتلار(_D)" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "%s نىڭ ئاخىرلىشىشىنى ŮŰŘŞŰۋاتىدۇ" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Ú†ŰŘ´ŰرŰۋاتقىنى %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "يەرلى٠خەزىنە" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "خەزىنە %s دىن Ú†ŰŘ´ŰرŰۋاتىدۇ" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "خەزىنە %s نىڭ قۇرۇلمىسى" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "خەزىنە %s نىڭ Ú†ŰشەندŰرŰŮ„Űشى" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "خەزىنە %s Ú†ŰشەندŰرŰŘ´ ئىمزاسى" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "خەزىنە %s نىڭدا بار بŮغچىلار" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "خەزىنە %s نىڭدا بار مەنبەلەر" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "خەزىنە %s نىڭدا بار تەرجىمىلەر" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%s (%s) نىڭ %s تەرجىمىسى" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s نىڭ %s تەرجىمىسى" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "(%s) چە تەرجىمىسى، %s ئامباردىن Ůەلگەن" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "%s بŮغچا مەۋجۇت ئەمەس" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "%s بŮغچا ئŮرنىتىلمىدى" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "%s نەشرىنىڭ %s ئŮرنىتىلمىغان" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "%s بŮغچا ئاللىقاچان ئŮرنىتىلغان" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "%s نەشرىنىڭ %s نى ئىشلەتŮىلى بŮلمايدۇ" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "ئاچقۇچ مۇلازىمŰتىر(keyserver) نىڭ ŘŞŮر ئادرŰسى ئىناۋەتسىز: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "مۇلازىمŰتىر ŮŰلىشىمنامىسى ئىناۋەتسىز: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "ئاچقۇچ id سى ئىناۋەتسىز: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "ئاچقۇچ %s نى %s دىن Ú†ŰŘ´ŰرŰŮľ ئŮرنىتىش مەغلۇپ بŮلدى:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "ئاچقۇچ %s نى ئŮرناتقىلى بŮلمىدى: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "بارماق ئىزى %s بŮلغان ئاچقۇچنى چىقىرىۋەتŮىلى بŮلمىدى: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "%s بŮغچىنى چىقىرىۋەتŮىلى بŮلمىدى" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "%s نەشرىنىڭ %s ئŮرنىتىلمىغان" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "ئىلگىرىŮى %s نەشرىنىڭ %s ئاللىقاچان ئŮرنىتىلغان" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "%s نەشرىنىڭ %s ئاللىقاچان ئŮرنىتىلغان" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "%s نەشرىنىڭ %s نى ئىشلەتŮىلى بŮلمايدۇ" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "تۆۋەنلىتىدىغان نەشرى %s نى بەلگىلىشىڭىز ŮŰرەŮ." #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "ئەڭ ŮŠŰڭى %s نەشرىنىڭ %s ئاللىقاچان ئŮرنىتىلغان" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "%s ŘŻŰگەن بŮغچا %s نەشرىدە ŮŠŮŮ‚." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "%s بŮغچىنى چىقىرىۋەتŮىلى بŮلمىدى" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "بۇ بŮغچىدا ئىناۋەتلى٠ئŮرنىتىش Ú†Ůڭلۇقى(Install-Size) بۆلىŮى ŮŠŮŮ‚. Debian " "Policy 5.6.20 غا قاراڭ" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "ئىجازەتنامە ئاچقۇچى قۇرۇق" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "ئىجازەتنامە ئاچقۇچى تەرŮىبىدە ئىجرا بŮلىدىغان ŮŮŘŻ بŮلسا بŮلمايدۇ." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "ئىجازەتنامە ئاچقۇچىنىڭ ŮŠŮلى %s ئىناۋەتسىز" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "ئىجازەتنامە ئاچقۇچى مەۋجۇت: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "ئىجازەتنامە ئاچقۇچى تەرŮىبىدە symbolic ئۇلانمىلار بŮلغاچقا ئۇنىڭ ئŮرنى ئŰنىق " "ئەمەس. ŮŠŮŮ„ %s ŘŚ خەرىتىسى %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "ئاچقۇچنى ئŮرنىتىدىغان مۇندەرىجە ŘŞŰخى مەۋجۇت ئەمەس: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "ئاچقۇچ ھۆججىتىنى ŮŠŰزىش مەغلۇپ بŮلدى: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "تۆۋەندىŮى بŮغچا بŰقىنىش تەلىپىنى قاندۇرالمىدى:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "بىراق ئۇ بىر مەۋھۇم بŮغچا" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "بىراق ئۇ ئŮرنىتىلمىغان" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "بىراق ئۇ ئŮرنىتىلمايدۇ" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "بىراق %s ئŮرنىتىلغان" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "بىراق %s ئŮرنىتىلىدۇ" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "ئاچقۇچنى ئىشەنچلى٠يۇمساق ŘŻŰتال vendors تىزىمىغا Ů‚Ůشۇش مەغلۇپ بŮلدى" aptdaemon-1.1.1/po/ku.po0000644000175000017500000010411512117271433015640 0ustar renaterenate00000000000000# Kurdish translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-01-16 11:56+0000\n" "Last-Translator: Michael Vogt \n" "Language-Team: Kurdish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Agahiya pakĂŞtan rojane bike" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "PakĂŞtan bilind bike" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "PakĂŞtĂŞn sazbĂ»yĂ®" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "PĂŞĹźbĂ®r hate rojanekirin" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "PakĂŞtĂŞn rakirĂ®" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "PakĂŞt hatin rojanekirin" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Pergal hate bilindkirin" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Guhartin bi kĂŞr hat" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "SerkeftĂ®" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Hat betalkirin" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Biserneket" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Pel tĂŞ sazkirin" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "PakĂŞt tĂŞ sazkirin" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "PĂŞĹźbĂ®r tĂŞ rojanekirin" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "PakĂŞt tĂŞn rakirin" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "PakĂŞt tĂŞn rojanekirin" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Pergal tĂŞ bilindkirin" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Guherandin tĂŞn bi kar anĂ®n" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "PelĂŞ hilbijartĂ® dibe ku ne pelĂŞ mifteyan ya GPG be an jĂ® dibe ku xerabe be." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/ta.po0000644000175000017500000012411112117271433015623 0ustar renaterenate00000000000000# Tamil translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-12-15 16:33+0000\n" "Last-Translator: Barneedhar \n" "Language-Team: Tamil \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "நம்பகமான விற்பனŕŻŕ®Żŕ®ľŕ®łŕ®°ŕŻŤŕ®•ŕ®łŕ®żŕ®©ŕŻŤ சாவிகளŕŻŕ®ŞŕŻŤ பட்டியலிடவŕŻŕ®®ŕŻŤ" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "நம்பகமான சாவிகள் பட்டியலŕŻŕ®•் காண வேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் அங்கீகரிக்க வேண்டŕŻŕ®®ŕŻŤ." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "பதிவிறக்கப்பட்ட தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻ ŕ®•ŕŻ‹ŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠நீக்கவŕŻŕ®®ŕŻŤ" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "பதிவிறக்கப்பட்ட தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•் கோப்பŕŻŕ®•ள௠சŕŻŕ®¤ŕŻŤŕ®¤ŕ®®ŕŻŤ செய்யவேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் " "அங்கீகரிக்க வேண்டŕŻŕ®®ŕŻŤ." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "மென்பொரŕŻŕ®łŕŻŤ கட்டமŕŻŕ®ŞŕŻŤŕ®ŞŕŻ ŕ®®ŕ®ľŕ®±ŕŻŤŕ®±ŕ®µŕŻŕ®®ŕŻŤ" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "மென்பொரŕŻŕ®łŕŻŤ ŕ®…ŕ®®ŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠மாற்றவேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் அங்கீகரிக்க வேண்டŕŻŕ®®ŕŻŤ." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "மென்பொரŕŻŕ®łŕŻŤ களஞ்சியத்த௠மாற்றவŕŻŕ®®ŕŻŤ" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "மென்பொரŕŻŕ®łŕŻŤ களஞ்சிய ŕ®…ŕ®®ŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠மாற்றவேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் அங்கீகரிக்க " "வேண்டŕŻŕ®®ŕŻŤ." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "பொதிக் கோப்ப௠நிறŕŻŕ®µŕŻ" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "இந்த தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻ ŕ®¨ŕ®żŕ®±ŕŻŕ®µ வேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் அங்கீகரிக்க வேண்டŕŻŕ®®ŕŻŤ." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "பொதித் தகவல௠இற்றŕŻŕ®ŞŕŻŤŕ®Şŕ®źŕŻŕ®¤ŕŻŤŕ®¤ŕŻ" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "மென்பொரŕŻŕ®łŕŻŤ வரிசŕŻŕ®ŞŕŻŤŕ®Şŕ®źŕŻŤŕ®źŕ®żŕ®Żŕ®˛ŕŻŕ®ŞŕŻŤ பŕŻŕ®¤ŕŻŕ®ŞŕŻŤŕ®Şŕ®żŕ®•ŕŻŤŕ®• வேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் அங்கீகரிக்க " "வேண்டŕŻŕ®®ŕŻŤ." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠நிறŕŻŕ®µŕŻŕ®• அல்லத௠நீக்கŕŻŕ®•" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "மென்பொரŕŻŕ®łŕŻŤŕ®•ŕ®łŕŻ ŕ®¨ŕ®żŕ®±ŕŻŕ®µŕ®µŕŻ‹ அல்லத௠நீக்கவோ வேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் அங்கீகரிக்க " "வேண்டŕŻŕ®®ŕŻŤ." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "பŕŻŕ®¤ŕ®żŕ®Ż களஞ்சியத்தŕŻŕ®šŕŻŤ சேர்த்தŕŻ, அதிலிரŕŻŕ®¨ŕŻŤŕ®¤ŕŻ ŕ®¤ŕŻŠŕ®•ŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠நிறŕŻŕ®µŕ®µŕŻŕ®®ŕŻŤ" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "பŕŻŕ®¤ŕ®żŕ®Ż மூலத்தில் இரŕŻŕ®¨ŕŻŤŕ®¤ŕŻ ŕ®®ŕŻ†ŕ®©ŕŻŤŕ®ŞŕŻŠŕ®°ŕŻŕ®łŕŻŤŕ®•ŕ®łŕŻ ŕ®¨ŕ®żŕ®±ŕŻŕ®µ வேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் " "அங்கீகரிக்க வேண்டŕŻŕ®®ŕŻŤ." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "விற்பனŕŻŕ®•்கிரŕŻŕ®•்கŕŻŕ®®ŕŻŤ மென்பொரŕŻŕ®łŕŻŤŕ®•ŕ®łŕŻŕ®•் கொண்டிரŕŻŕ®•்கŕŻŕ®®ŕŻŤ பŕŻŕ®¤ŕ®żŕ®Ż களஞ்சியத்தŕŻŕ®šŕŻŤ " "சேர்த்தŕŻ, அதிலிரŕŻŕ®¨ŕŻŤŕ®¤ŕŻ ŕ®¤ŕŻŠŕ®•ŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠நிறŕŻŕ®µŕ®µŕŻŕ®®ŕŻŤ" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "வாங்கப்பட்ட மென்பொரŕŻŕ®łŕŻŤŕ®•ŕ®łŕŻ ŕ®¨ŕ®żŕ®±ŕŻŕ®µ வேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் அங்கீகரிக்க வேண்டŕŻŕ®®ŕŻŤ." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "பொதிகள௠திறமŕŻŕ®Żŕ®°ŕŻŤŕ®¤ŕŻŤŕ®¤ŕŻ" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "பŕŻŕ®¤ŕŻŕ®ŞŕŻŤŕ®Şŕ®żŕ®•ŕŻŤŕ®•ŕ®ŞŕŻŤŕ®Şŕ®źŕŻŤŕ®ź மென்பொரŕŻŕ®łŕŻŤŕ®•ŕ®łŕŻ ŕ®¨ŕ®żŕ®±ŕŻŕ®µ வேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் அங்கீகரிக்க " "வேண்டŕŻŕ®®ŕŻŤ." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "மற்ற பயனாளரின் பணிய௠ரத்த௠செய்யவŕŻŕ®®ŕŻŤ" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "மற்றவரின் மென்பொரŕŻŕ®łŕŻŤ மாற்றங்கள௠ரத்த௠செய்யவேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, நீங்கள் அங்கீகரிக்க " "வேண்டŕŻŕ®®ŕŻŤ." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "மென்பொரŕŻŕ®łŕŻŤ பதிவிறக்கங்களŕŻŕ®•்க௠பதிலிய௠அமŕŻŕ®•்கவŕŻŕ®®ŕŻŤ" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "மென்பொரŕŻŕ®łŕŻŕ®ŞŕŻŤ பதிவிறக்கŕŻŕ®µŕ®¤ŕ®±ŕŻŤŕ®•ŕŻ ŕ®Şŕ®¤ŕ®żŕ®˛ŕ®ż சேவŕŻŕ®Żŕ®•த்தŕŻŕ®ŞŕŻŤ பயன்படŕŻŕ®¤ŕŻŤŕ®¤ வேண்டŕŻŕ®®ŕ®ľŕ®©ŕ®ľŕ®˛ŕŻŤ, " "நீங்கள் அங்கீகரிக்க வேண்டŕŻŕ®®ŕŻŤ." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "பிழŕŻ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB %sB லிரŕŻŕ®¨ŕŻŤŕ®¤ŕŻ %sB/s வேகத்தில் பதிவிறக்கப்பட்டŕŻŕ®łŕŻŤŕ®łŕ®¤ŕŻ" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%sB %sB லிரŕŻŕ®¨ŕŻŤŕ®¤ŕŻ ŕ®Şŕ®¤ŕ®żŕ®µŕ®żŕ®±ŕ®•ŕŻŤŕ®•ŕ®ŞŕŻŤŕ®Şŕ®źŕŻŤŕ®źŕŻŕ®łŕŻŤŕ®łŕ®¤ŕŻ" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "பிழŕŻ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "கொடŕŻŕ®•்கப்பட்டŕŻŕ®łŕŻŤŕ®łŕ®¤ŕŻŤ தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠நிறŕŻŕ®µŕ®µŕŻŕ®®ŕŻŤ" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "கொடŕŻŕ®•்கப்பட்டŕŻŕ®łŕŻŤŕ®łŕ®¤ŕŻŤ தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠மீண்டŕŻŕ®®ŕŻŤ நிறŕŻŕ®µŕ®µŕŻŕ®®ŕŻŤ" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "கொடŕŻŕ®•்கப்பட்டŕŻŕ®łŕŻŤŕ®łŕ®¤ŕŻŤ தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠நீக்கவŕŻŕ®®ŕŻŤ" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "பாதŕŻŕ®•்காப்பான ŕ®®ŕŻŕ®±ŕŻŕ®Żŕ®żŕ®˛ŕŻŤ கணினிய௠மேம்படŕŻŕ®¤ŕŻŤŕ®¤ŕŻŕ®•" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "நம்பகமான விற்பனŕŻŕ®Żŕ®ľŕ®łŕ®°ŕŻŤ சாவிகளŕŻŕ®ŞŕŻŤ பட்டியலிடவŕŻŕ®®ŕŻŤ" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "அங்கீகரிக்கப்படாத மூலங்களிலிரŕŻŕ®¨ŕŻŤŕ®¤ŕŻ ŕ®¤ŕŻŠŕ®•ŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•ள௠அனŕŻŕ®®ŕ®¤ŕ®żŕ®•்கவŕŻŕ®®ŕŻŤ" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "அங்கீகாரத்திற்காக காத்திரŕŻŕ®•்கிறதŕŻ" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "உட்பŕŻŕ®± செயலாக்கத் தகவலŕŻŕ®•் காண்பிக்கவŕŻŕ®®ŕŻŤ" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "நிறŕŻŕ®µŕ®ŞŕŻŤŕ®Şŕ®źŕŻŤŕ®ź கோப்பŕŻ" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "நிறŕŻŕ®µŕ®ŞŕŻŤŕ®Şŕ®źŕŻŤŕ®ź பொதிகள்" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "கோப்பிலிரŕŻŕ®¨ŕŻŤŕ®¤ŕŻ ŕ®šŕ®ľŕ®µŕ®ż சேர்க்கப்பட்டŕŻŕ®łŕŻŤŕ®łŕ®¤ŕŻ" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "தேடல் ŕ®®ŕŻŕ®źŕ®żŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "நீக்கப்பட்ட பொதிகள்" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "இற்றŕŻŕ®ŞŕŻŤŕ®Şŕ®źŕŻŕ®¤ŕŻŤŕ®¤ŕ®ŞŕŻŤŕ®Şŕ®źŕŻŤŕ®ź பொதிகள்" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "திறமŕŻŕ®Żŕ®°ŕŻŤŕ®¤ŕŻŤŕ®¤ŕ®ŞŕŻŤŕ®Şŕ®źŕŻŤŕ®ź ŕ®…ŕ®®ŕŻŕ®ŞŕŻŤŕ®ŞŕŻ" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "மென்பொரŕŻŕ®łŕŻŤ மூலம் சேர்க்கப்பட்டŕŻŕ®łŕŻŤŕ®łŕ®¤ŕŻ" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "பதிவிறக்கப்பட்ட தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•் கோப்பŕŻŕ®•ள் நீக்கப்பட்டŕŻŕ®łŕŻŤŕ®łŕ®¤ŕŻ" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "வெற்றிகரமாக ŕ®®ŕŻŕ®źŕ®żŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "இரத்த௠செய்யப்பட்டதŕŻ" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "தோல்வியடŕŻŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "கோப்ப௠நிறŕŻŕ®µŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "பொதிகள௠நிறŕŻŕ®µŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "பொதிகள௠நீக்கŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "பொதிகள௠இற்றŕŻŕ®ŞŕŻŤŕ®Şŕ®źŕŻŕ®¤ŕŻŤŕ®¤ŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "ŕ®…ŕ®®ŕŻŕ®ŞŕŻŤŕ®ŞŕŻ ŕ®¤ŕ®żŕ®±ŕ®®ŕŻŕ®Żŕ®°ŕŻŤŕ®¤ŕŻŤŕ®¤ŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "மாற்றங்கள௠செயல்படŕŻŕ®¤ŕŻŤŕ®¤ŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "மென்பொரŕŻŕ®łŕŻŤ மூலம் சேர்க்கப்படŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "பதிவிறக்கப்பட்ட தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•் கோப்பŕŻŕ®•ள் நீக்கப்படŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "தேடப்படŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "மென்பொரŕŻŕ®łŕŻ ŕ®¨ŕŻ€ŕ®•ŕŻŤŕ®•ŕŻŕ®µŕ®¤ŕŻ ŕ®¤ŕŻ‹ŕ®˛ŕŻŤŕ®µŕ®żŕ®Żŕ®źŕŻŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "மென்பொரŕŻŕ®łŕŻŕ®ŞŕŻŤ பŕŻŕ®¤ŕŻŕ®ŞŕŻŤŕ®Şŕ®żŕ®ŞŕŻŤŕ®Şŕ®¤ŕŻ ŕ®¤ŕŻ‹ŕ®˛ŕŻŤŕ®µŕ®żŕ®Żŕ®źŕŻŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "கணினிய௠மேம்படŕŻŕ®¤ŕŻŤŕ®¤ŕŻŕ®µŕ®¤ŕŻ ŕ®¤ŕŻ‹ŕ®˛ŕŻŤŕ®µŕ®żŕ®Żŕ®źŕŻŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "மென்பொரŕŻŕ®łŕŻŤ மூலத்தŕŻŕ®šŕŻŤ சேர்ப்பத௠தோல்வியடŕŻŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "பதிவிறக்கப்பட்டத் தொகŕŻŕ®ŞŕŻŤŕ®ŞŕŻŕ®•் கோப்பŕŻŕ®•ள௠நீக்கŕŻŕ®µŕ®¤ŕŻ ŕ®¤ŕŻ‹ŕ®˛ŕŻŤŕ®µŕ®żŕ®Żŕ®źŕŻŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "தேடல் தோல்வியடŕŻŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "உமத௠இணŕŻŕ®Ż இணŕŻŕ®ŞŕŻŤŕ®ŞŕŻ ŕ®šŕŻ‹ŕ®¤ŕ®żŕ®•ŕŻŤŕ®•ŕ®µŕŻŕ®®ŕŻŤ." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "காத்தŕŻŕ®•் கொண்டிரŕŻŕ®•்கிறதŕŻ" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "பதிவிறக்கப்படŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ŕ®®ŕŻŕ®źŕ®żŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "ரத்த௠செய்யப்படŕŻŕ®•ிறதŕŻ" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "ŕ®®ŕŻŕ®źŕ®żŕ®µŕŻŕ®±ŕŻŤŕ®±ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "அங்கீகாரம் தோல்வியடŕŻŕ®¨ŕŻŤŕ®¤ŕ®¤ŕŻ" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "விவரங்கள்" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "கோப்பŕŻ" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "பதிவிறக்கப்பட்டத௠%sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "பதிவிறக்கப்பட்டதŕŻ" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "தொடரவŕŻŕ®®ŕŻŤ (_o)" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "நிறŕŻŕ®µŕŻŕ®•" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "மீண்டŕŻŕ®®ŕŻŤ நிறŕŻŕ®µŕŻŕ®•" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "நீக்கŕŻŕ®•" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "மேம்படŕŻŕ®¤ŕŻŤŕ®¤ŕŻŕ®•" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "மாற்றங்கள் (_C)" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "வŕŻŕ®¤ŕŻŤŕ®¤ŕŻŕ®•்கொள்க (_K)" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "மாற்ற௠(_R)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "விவரங்கள் (_D)" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/ca@valencia.po0000644000175000017500000013711712117271433017417 0ustar renaterenate00000000000000# Catalan translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-10-19 09:16+0000\n" "Last-Translator: Joan Duran \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" "Language: ca\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "ObtenciĂł d'una llista de claus dels proveĂŻdors de confiança" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Cal que vos autentiqueu per obtindre la llista de claus de confiança." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "SupressiĂł dels fitxers de paquet baixats" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Cal que vos autentiqueu per poder netejar els fitxers de paquet baixats." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Canvi de la configuraciĂł del programari" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Cal que vos autentiqueu per poder canviar els parĂ metres del programari." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Canvi de dipòsit de programari" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Cal que vos autentiqueu per canviar els parĂ metres dels dipòsits de " "programari." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instal·laciĂł d'un fitxer de paquet" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Cal que vos autentiqueu per instal·lar este paquet." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ActualitzaciĂł de la informaciĂł dels paquets" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Cal que vos autentiqueu per actualitzar el catĂ leg de programari." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instal·laciĂł o supressiĂł de paquets" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Cal que vos autentiqueu per instal·lar o suprimir programari." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Instal·laciĂł de programari d'un dipòsit de confiança alta." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Per instal·lar programari, cal autenticar-se." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "AddiciĂł d'un dipòsit nou i instal·laciĂł de paquets d'este" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Heu d'autenticar-vos per instal·lar programari d'una font nova." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "AddiciĂł d'un dipòsit nou de programari que s'haja comprat i instal·laciĂł de " "paquets d'este" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Heu d'autenticar-vos per instal·lar programari que hĂ geu comprat." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ActualitzaciĂł dels paquets" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Cal que vos autentiqueu per instal·lar programari actualitzat." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Cancel·laciĂł de la tasca d'un altre usuari" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Cal que vos autentiqueu per cancel·lar els canvis que algĂş altre realitzi al " "programari." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Establiment d'un servidor intermediari per baixar programari" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Cal que vos autentiqueu per utilitzar un servidor intermediari per baixar " "programari." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "S'han baixat %sB de %sB a %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "S'han baixat %sB de %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROR:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "No teniu permĂ­s per realitzar esta acciĂł." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "S'estĂ  encuant" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "S'estan resolent les dependències" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "S'instal·larĂ  el paquet segĂĽent NOU (%(count)s):" msgstr[1] "S'instal·laran els paquets segĂĽents NOUS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "S'actualitzarĂ  el paquet segĂĽent (%(count)s):" msgstr[1] "S'actualitzaran els paquets segĂĽents (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Se SUPRIMIRĂ€ el paquet segĂĽent (%(count)s):" msgstr[1] "Se SUPRIMIRAN els paquets segĂĽents (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Es tornarĂ  a una versiĂł anterior del paquet segĂĽent (%(count)s):" msgstr[1] "" "Es tornarĂ  a una versiĂł anterior dels paquets segĂĽents (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Es tornarĂ  a instal·lar el paquet segĂĽent (%(count)s):" msgstr[1] "Es tornaran a instal·lar els paquets segĂĽents (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "S'ha retingut el paquet segĂĽent (%(count)s):" msgstr[1] "S'han retingut els paquets segĂĽents (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "S'han d'obtindre %sB de fitxers." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "DesprĂ©s d'esta operaciĂł, s'utilitzaran %sB d'espai addicional del disc." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" "Un cop finalitzada esta operaciĂł s'alliberaran %sB d'espai addicional de " "disc." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Voleu continuar [S/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Per operar en mĂ©s d'un paquet heu de posar els noms dels paquets entre " "cometes:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Refresca la memòria cau" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Intenta resoldre les dependències trencades. L'operaciĂł Ă©s potencialment " "perillosa ja que podria intentar suprimir molts paquets." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Intenta finalitzar una instal·laciĂł prèvia no completada" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instal·la els paquets especificats" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Torna a instal·lar els paquets especificats" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Suprimeix els paquets especificats" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "Suprimeix els paquets especificats, incloent-ne els fitxers de configuraciĂł" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Torna a una versiĂł anterior dels paquets especificats" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Obsolet: utilitzeu --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Actualitza el sistema de manera segura" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Actualitza el sistema, segurament mitjançant la instal·laciĂł i la supressiĂł " "de paquets" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Afig el proveĂŻdor als de confiança" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" "Afig l'identificador de la clau del proveĂŻdor (tambĂ© cal --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Utilitza el servidor de claus proporcionat per cercar claus" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Afig un dipòsit nou d'una lĂ­nia deb proporcionada" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Especifiqueu un fitxer sources.list.d alternatiu on s'haurien d'afegir els " "dipòsits." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Mostra la llista de claus dels proveĂŻdors de confiança" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Suprimeix la clau de confiança de l'empremta proporcionada" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Torna a configurar els paquets instal·lats. Opcionalment es pot especificar " "la prioritat mĂ­nima de les preguntes." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "La prioritat mĂ­nima de la pregunta del debconf que es mostrarĂ " #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "No t'adjuntis al terminal de l'apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Permet paquets de fonts sense autenticar" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Mostra informaciĂł addicional sobre els paquets. Actualment nomĂ©s es mostra " "el nĂşmero de la versiĂł" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "S'estĂ  esperant l'autenticaciĂł" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "No atures el dimoni per inactivitat" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "No carregues cap connector" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Mostra la informaciĂł interna de processament" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Ix i reemplaça un dimoni que s'estiga executant" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Escolta en el bus de sessiĂł DBus (nomĂ©s cal per a proves)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Realitza les operacions en el chroot especificat" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Alça estadĂ­stiques de perfil en el fitxer especificat" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "No faces cap canvi al sistema (nomĂ©s Ăştil per als desenvolupadors)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Fitxer instal·lat" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paquets instal·lats" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "S'ha afegit la clau des d'un fitxer" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "S'ha actualitzat la memòria cau" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Ha finalitzat la cerca" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "S'ha suprimit la clau de confiança" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "S'han suprimit els paquets" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "S'han actualitzat els paquets" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "S'ha actualitzat el sistema" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "S'han aplicat els canvis" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Instal·laciĂł incompleta reparada" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Dependències no vĂ lides reparades" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "S'ha afegit una font de programari" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "S'ha habilitant un component de la distribuciĂł" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "S'han suprimit els fitxers de paquets baixats" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "S'han tornat a configurar els paquets instal·lats" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Correcte" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Cancel·lat" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Ha fallat" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "S'estĂ  instal·lant un fitxer" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "S'estan instal·lant els paquets" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "S'estĂ  afegint la clau des del fitxer" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "S'estĂ  actualitzant la memòria cau" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "S'estĂ  suprimint la clau de confiança" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "S'estan suprimint els paquets" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "S'estan actualitzant els paquets" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "S'estĂ  actualitzant el sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "S'estan aplicant els canvis" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "S'estĂ  reparant la instal·laciĂł incompleta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "S'estĂ  reparant el programari instal·lat" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "S'estĂ  afegint la font de programari" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "S'estĂ  habilitant el component de la distribuciĂł" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "S'estan suprimint els fitxers de paquets baixats" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "S'estan tornant a configurar els paquets instal·lats" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "S'estĂ  cercant" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Ha fallat la instal·laciĂł del paquet" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Ha fallat la instal·laciĂł del programari" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Ha fallat l'actualitzaciĂł de la llista de programari" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "S'ha produĂŻt un error en eliminar el proveĂŻdor de la llista de confiança" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Ha fallat la supressiĂł del programari" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Ha fallat l'actualitzaciĂł del programari" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Ha fallat l'actualitzaciĂł del sistema" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Ha fallat l'aplicaciĂł de canvis de programari" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Ha fallat la reparaciĂł de la instal·laciĂł incompleta" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Ha fallat la reparaciĂł de dels dependències no vĂ lides" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Ha fallat l'addiciĂł de la font de programari" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Ha fallat l'habilitaciĂł del component de la distribuciĂł" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Ha fallat la supressiĂł dels fitxers de paquets baixats" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Ha fallat la cerca" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "S'estĂ  afegint la clau de llicència" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Comproveu la connexiĂł a Internet." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Comproveu si esteu utilitzant dipòsits de tercers. Si este Ă©s el cas, Ă©s " "recomanable que els inhabiliteu, ja que sĂłn una font habitual de problemes.\n" "Addicionalment, haurĂ­eu d'executar l'orde segĂĽent en un terminal: apt-get " "install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Pot ser que el fitxer que heu seleccionat no siga un fitxer de clau GPG o " "que estiga malmĂ©s." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "No s'ha pogut suprimir la clau seleccionada. Comproveu que hĂ geu " "proporcionat una empremta vĂ lida." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Comproveu si actualment esteu executant una altra eina de gestiĂł del " "programari, com ara el Synaptic o l'aptitude. NomĂ©s es permet utilitzar una " "eina a la vegada per fer canvis." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Este s'un problema seriĂłs. Torneu a intentar-ho mĂ©s tard. Si el problema " "reapareix, informeu-ne els desenvolupadors." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Comproveu l'ortografia del nom del paquet i que el dipòsit apropiat estiga " "activat." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "No cal fer cap actualitzaciĂł." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "No cal fer cap instal·laciĂł." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "No cal fer cap supressiĂł." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Heu sol·licitat la supressiĂł d'un paquet que Ă©s una part essencial del " "sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "S'ha perdut la connexiĂł amb el dimoni. Segurament el dimoni en segon pla ha " "tingut una fallada." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Ha fallat la instal·laciĂł o supressiĂł d'un paquet de programari." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "La funciĂł que s'ha sol·licitat no estĂ  implementada." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Pareix que s'ha produĂŻt un error de programaciĂł a l'Aptdaemon, l'aplicaciĂł " "que vos permet insta·lar i suprimir programari i realitzar altres tasques " "relacionades amb la gestiĂł de paquets." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Pot ser que este error siga degut al fet que calguen paquets de programari " "addicionals que no estan disponibles o no es poden instal·lar. TambĂ© podria " "ser un conflicte entre paquets de programari que no es poden instal·lar " "simultĂ niament." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Esta acciĂł requereix la instal·laciĂł de fonts no identificades." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Pot ser que la instal·laciĂł haja fallat degut a un error en el paquet de " "programari corresponent o que fou cancel·lada d'una manera incorrecta. " "Haureu de reparar-ho abans de poder instal·lar o eliminar qualsevol " "programari." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Copieu el fitxer a l'ordinador local i comproveu els permisos del fitxer." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "No es permet la instal·laciĂł d'un paquet que no compleix els estĂ ndards de " "qualitat. Això podria causar problemes seriosos a l'ordinador. Contacteu amb " "la persona o organitzaciĂł que vos ha proporcionat este fitxer de paquet i " "incloeu el detalls de sota." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "La clau de llicència que s'ha baixat i que Ă©s necessĂ ria per executar esta " "aplicaciĂł no Ă©s vĂ lida o no s'ha pogut instal·lar correctament.\n" "Vegeu els detalls per obtindre mĂ©s informaciĂł." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Ja s'han instal·lat totes les actualitzacions disponibles." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "La clau de llicència que Ă©s necessaria per executar esta aplicaciĂł no s'ha " "pogut baixar. Comproveu la connexiĂł de xarxa." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Ha fallat la baixada de fitxers de paquets" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Ha fallat la baixada de la informaciĂł del dipòsit" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "No es poden resoldre les dependències dels paquets" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "El sistema de paquets estĂ  malmĂ©s" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "No s'ha instal·lat la clau" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "No s'ha suprimit la clau" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Ha fallat el blocatge del gestor de paquets" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Ha fallat la cĂ rrega de la llista de paquets" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "El paquet no existeix" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "El paquet ja estĂ  actualitzat" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "El paquet ja estĂ  instal·lat" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "El paquet no estĂ  instal·lat" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Ha fallat la supressiĂł d'un paquet essencial del sistema" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "No es pot fer un seguiment o control de la tasca" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Ha fallat l'operaciĂł amb el paquet" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Requereix la instal·laciĂł de paquets que no sĂłn de confiança" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "No s'ha completat la instal·laciĂł anterior" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "El paquet Ă©s de mala qualitat" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "No s'ha pogut obrir el fitxer de paquet" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "La funciĂł no estĂ  implementada" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Ha fallat la baixada de la clau de llicència" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Ha fallat la instal·laciĂł de la clau de llicència" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "El sistema ja estĂ  actualitzat" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "S'ha produit un error que no es pot gestionar" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "S'estĂ  esperant que comence el servei" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "En espera" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "S'estĂ  esperant el suport necessari" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "S'estĂ  esperant que altres gestors de programari isquen" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "S'estĂ  esperant el diĂ leg del fitxer de configuraciĂł." #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "S'estĂ  executant la tasca" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "S'estĂ  baixant" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "S'estan consultant les fonts de programari" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "S'estĂ  netejant" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "S'ha finalitzat" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "S'estĂ  cancel·lant" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "S'estĂ  carregant la llista de programari" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "S'estĂ  instal·lant %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "S'estĂ  configurant %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "S'estĂ  suprimint %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "S'estĂ  suprimint completament el paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "S'estĂ  anotant la desapariciĂł del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "S'estĂ  executant l'activador de postinstal·laciĂł %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "S'estĂ  actualitzant %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "S'estĂ  desempaquetant el paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "S'estĂ  preparant la instal·laciĂł del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "S'estĂ  preparant la configuraciĂł del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "S'estĂ  preparant la supressiĂł del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "S'estĂ  preparant la supressiĂł completa del paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "S'ha instaĹ€lat el paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "S'ha suprimit completament el paquet %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "S'ha suprimit el paquet %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "S'estĂ  processant %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Fet" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Ha fallat l'autenticaciĂł" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "S'estĂ  recollint" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inactiu" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "La xarxa no es troba disponible" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalls" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fitxer" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "S'han baixat %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Baixat" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Cal el CD o DVD «%s»" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "Inseriu el CD/DVD a la unitat «%s» per instal·lar-ne els paquets." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinua" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instal·la" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstal·la" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Suprimeix" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Neteja" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Actualitza" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Torna a una versiĂł anterior" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Omet l'actualitzaciĂł" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Comproveu la llista de canvis de mĂ©s avall." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Cal instal·lar programari addicional" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Cal tornar a instal·lar programari addicional" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Cal suprimir programari addicional" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "S'ha de netejar el programari addicional" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Cal actualitzar programari addicional" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Cal tornar a una versiĂł anterior de programari addicional" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "S'ometran les actualitzacions" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Calen canvis addicionals" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Es baixaran %sB en total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "S'alliberaran %sB d'espai de disc." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "S'utilitzaran %sB mĂ©s d'espai de disc." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Voleu reemplaçar els vostres canvis a «%s» amb l'Ăşltima versiĂł del fitxer de " "configuraciĂł?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Si no sabeu com Ă©s que el fitxer ja es troba allĂ­, Ă©s mĂ©s segur que el " "reemplaceu." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Canvis" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_MantĂ©" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Reemplaça" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalls" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "S'estĂ  esperant al %s per eixir" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "S'estĂ  baixant %(files)s" msgstr[1] "S'estan baixant %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "dipòsit local" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "S'estĂ  baixant de %s" msgstr[1] "S'estan baixant de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Estructura del dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "DescripciĂł del dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Signatura de la descripciĂł del dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Paquets disponibles al dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Fonts disponibles al dipòsit %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Traduccions disponibles al dipòsit %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Traduccions en %s (%s) del dipòsit %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Traduccions en %s del dipòsit %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traduccions (%s) del dipòsit %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "El paquet %s no estĂ  disponible" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "El paquet %s no estĂ  instal·lat" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "La versiĂł %s de %s no estĂ  instal·lada" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "El paquet %s ja estĂ  instal·lat" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "La versiĂł %s de %s no estĂ  disponible." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "L'URL del servidor de claus no Ă©s vĂ lid: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "El protocol del servidor no Ă©s vĂ lid: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "L'identificador de la clau no Ă©s vĂ lid: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "No s'ha pogut baixar i instal·lar la clau %s de %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "No s'ha pogut instal·lar el fitxer clau %s: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "No s'ha pogut suprimir la clau amb empremta dactilar %s: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "No es pot suprimir el paquet %s." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "La versiĂł %s de %s no estĂ  instal·lada" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "L'antiga versiĂł %s de %s ja estĂ  instal·lada" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "La versiĂł %s de %s ja estĂ  instal·lada" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "La versiĂł %s de %s no estĂ  disponible" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Heu d'especificar la versiĂł anterior a la qual ha de tornar %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "L'Ăşltima versiĂł %s de %s ja estĂ  instal·lada" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "El paquet %s no estĂ  disponible en la versiĂł %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "No es pot suprimir el paquet %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "El paquet no proporciona un camp de control de mida d'instal·laciĂł vĂ lid. " "Vegeu la polĂ­tica de Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "La clau de llicència Ă©s buida" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "La clau de llicència no pot contindre codi executable." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "El camĂ­ %s de la clau de llicència no Ă©s vĂ lid" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "La clau de llicència ja existeix: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "La ubicaciĂł de la clau de llicència no Ă©s segura perquè contĂ© enllaços " "simbòlics. El camĂ­ %s correspon a %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "El directori on s'ha d'instal·lar la clau encara no existeix: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Ha fallat l'escriptura del fitxer de clau a: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Els paquets segĂĽents tenen dependències sense satisfer:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "però Ă©s un paquet virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "però no estĂ  instal·lat" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "però no s'instal·larĂ " #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "però %s estĂ  instal·lat" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "però %s s'instal·larĂ " #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "S'ha produĂŻt un error en afegir la clau a la llista de proveĂŻdors de " #~ "programari de confiança" aptdaemon-1.1.1/po/af.po0000644000175000017500000011261512117271433015613 0ustar renaterenate00000000000000# Afrikaans translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-01-16 11:40+0000\n" "Last-Translator: Michael Vogt \n" "Language-Team: Afrikaans \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Installeer pakketlĂŞer" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Opdateer pakketinformasie" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Opgradeer pakkette" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Kanselleer die taak van 'n ander gebruiker" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB van %sB by %sB/s afgelaai" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%sB van %sB afgelaai" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Los afhanklikhede op" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Moet nie die daemoon afskakel weens onaktiwiteit nie" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Vertoon die interne verwerkingsinligting" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Beeindig en vervang 'n reeds hardlopende daemoon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Stoor profielstatistieke in die gespesifiseerde lĂŞer" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Moenie veranderings maak op die stelsel nie (Slegs van nut vir " "programmeerders)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "GeĂŻnstalleerde lĂŞer" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "GeĂŻnstalleerde pakkette" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Sleutel bygevoeg vanuit lĂŞer" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Opgedateerde kas" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Betroubare sleutel verwyder" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Verwyderde pakkette" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Opgedateerde pakkette" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Opgegradeerde stelsel" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Toegepaste veranderings" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Onvoltooide installasie herstel" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Gebroke afhanklikhede herstel" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Suksesvol" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Gekanselleer" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Gefaal" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installeer lĂŞer" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installeer pakkette" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Voeg sleutel by vanuit lĂŞer" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Opdateer kas" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Verwyder betroubare sleutel" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Verwyder pakkette" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Opdateer pakkette" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Opgradeer stelsel" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Pas veranderings toe" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Herstel onvolledige installasie" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Installasie van die pakketlĂŞer het misluk" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Installasie van die sagteware het misluk" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Verfrissing van die sagteware lys het misluk" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Verwydering van die handelaar vanuit die lys van betroubare handelaars het " "misluk" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Verwydering van sagteware het misluk" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Opdatering van sagteware het misluk" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Opgradering van stelsel het misluk" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Toepas van die sagteware veranderinge het misluk" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Herstel van onvolledige installasie het misluk" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Herstel van gebroke afhanklikhede het misluk" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Gaan jou internetkonneksie na" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Kontroleer of jy derdeparty sagtwarebronne gebruik. Indien wel, skakel dit " "uit aangesien dit 'n algemene bron van probleme is.\n" "Verder hardloop die volgende bevel in 'n terminaal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Die gekose lĂŞer mag dalk nie 'n GPG sleutel lĂŞer wees nie of is dalk " "beskadig." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Hierdie is 'n ernstige probleem. Probeer weer later. As die probleem weer " "voorkom, rapporteer die fout aan die programmeerders." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Daar is geen behoefte vir 'n opdatering nie." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Daar is geen behoefte vir 'n installasie nie" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Daar is geen behoefte vir 'n verwydering nie" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Jy het versoek dat 'n pakket, wat 'n noodsaaklike deel van jou stelsel is, " "verwyder word" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Die konneksie tot die daemoon is gebreek. Heel moontlik omdat die " "agtergronddaemoon gefaal het." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Die installasie of verwydering van 'n sagtewarepakket het misluk" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Die installasie kon misluk het as gevolg van 'n fout in die ooreenstemmende " "sagtewarepakket, of dit was gekanselleer op 'n ongeldige manier. Jy sal dit " "moet herstel alvorens jy enige verdere sagteware kan installeer of verwyder." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Aflaai van pakketlĂŞers het misluk" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Aflaai van sagtewarebron informasie het misluk" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Pakketafhanklikhede kon nie opgelos word nie" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Die pakketstelsel is gebreek" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Sleutel was nie geĂŻnstalleer nie" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Sleutel is nie verwyder nie" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Kon nie die pakketbestuurder sluit nie" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Kon nie die pakketlys laai nie" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakket bestaan nie" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakket is reeds geĂŻnstalleer" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakket is nie geĂŻnstalleer nie" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Kon nie die noodsaaklike stelselpakket verwyder nie" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Taak kan nie gemonitor of uitgevoer word nie" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Pakket operasie het misluk" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Vereis die installasie van onbetroubare pakkette" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Vorige installasie is onvoltooid" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Wag vir die diens om aan te skakel" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Wag tans" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Wag tans op die vereiste medium" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Wag tans vir die ander sagtewarebestuurders om af te sluit" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Wag tans op die por vanaf die verstellingslĂŞer" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Aktiewe taak" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Besig om af te laai" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Opruim" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Afgehandel" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Kanselleer" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Laai van sagteware lys" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installeer %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Verstel %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Verwyder %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Hardloop postinstallasie sneller %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Opgradeer %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Details" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' word benodig" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "Gaan v_oort" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Vervang jou veranderings in '%s' met 'n latere weergawe van die " "verstellingslĂŞer" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Indien jy onseker is hoekom die lĂŞer reeds daar voorkom is dit gewoonlik " "veilig om te vervang." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Veranderings" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Behou" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "Ve_rvang" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Details" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Die byvoeging van die sleutel tot die lys van vertroude sagtewarehandelaars " #~ "het misluk" aptdaemon-1.1.1/po/id.po0000644000175000017500000012375412117271433015627 0ustar renaterenate00000000000000# Indonesian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-03-02 11:08+0000\n" "Last-Translator: Arif Budiman \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Daftar kunci dari vendor-vendor yang terpercaya" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Untuk melihat daftar kunci yang terpercaya, anda perlu melakukan " "otentifikasi." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Hapus berkas-berkas paket yang sudah diunduh" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Untuk membersihkan berkas-berkas paket yang sudah diunduh, Anda perlu " "melakukan otentifikasi." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Ubah konfigurasi perangkat lunak" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Untuk mengubah pengaturan perangkat lunak, Anda perlu melakukan otentifikasi." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Mengubah repositori perangkat lunak." #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Untuk merubah pengaturan repositori perangkat lunak, anda perlu melakukan " "otentifikasi." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Memasang berkas paket" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Untuk memasang paket ini, Anda perlu melakukan otentifikasi." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Update informasi paket" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Untuk memutakhirkan katalog perangkat lunak, Anda perlu melakukan " "otentifikasi." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Memasang atau menghapus paket-paket." #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Untuk memasang atau menghapus perangkat lunak, anda perlu melakukan " "otentikasi." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Memasang perangkat lunak dari sumber lumbung yang terpercaya" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Untuk memasang perangkat lunak, anda memerlukan otentifikasi" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Tambahkan sebuah repositori baru dan pasang paket darinya." #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Untuk memasang perangkat lunak dari sumber yang baru, Anda perlu melakukan " "otentifikasi." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Tambahkan sebuah repositori baru dari perangkat lunak yang sudah dibeli dan " "pasanglah darinya" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "Untuk memasang perangkat lunak yang sudah dibeli, Anda perlu melakukan " "otentifikasi." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Upgrade paket" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "Untuk memasang perangkat lunak yang sudah dimutakhirkan, Anda perlu " "melakukan otentifikasi." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Membatalkan tugas pengguna lain" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Untuk membatalkan perubahan perangkat lunak orang lain, anda perlu melakukan " "otentikasi." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Atur proxy untuk pengunduhan perangkat lunak" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Menggunakan server proxy untuk mengunduh perangkat lunak, anda perlu " "melakukan otentifikasi." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "KESALAHAN" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Terunduh %sB dari %sB pada %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Terunduh %sB dari %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "KESALAHAN:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Anda tidak diizinkan melakukan tindakan ini." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Mengantri" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Menghitung dependensi" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Jumlah Paket BARU yang akan dipasang adalah (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Paket-paket ini akan ditingkatkan (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Paket-paket ini akan DIHAPUS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Paket-paket ini akan diTURUN-TINGKATkan (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Paket-paket ini akan segera dipasang ulang (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Paket-paket ini telah ditahan (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Perlu mendapatkan %sB dari arsip." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Setelah operasi ini, %sB ruang kosong harddisk akan digunakan." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Setelah operasi ini, %sB ruang diska tambahan akan dibebaskan:" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Apakah Anda ingin melanjutkannya [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Untuk beroperasi pada lebih dari satu paket, taruh nama paket dalam tanda " "petik:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Segarkan ulang tembolok" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Cobalah untuk mengatasi dependensi rusak. Operasi berpotensi berbahaya " "karena bisa mencoba untuk menghapus banyak paket." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Mencoba untuk menyelesaikan pemasangan yang tidak selesai sebelumnya" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Pasang paket yang diberikan" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Pasang ulang paket yang diberikan" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Hapus paket yang diberikan" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Hapus paket yang diberikan termasuk berkas konfigurasi" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Turunkan tingkatan paket yang diberikan" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Usang: Silakan gunakan --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Naikkan tingkatan sistem dalam cara aman" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Meningkatkan Sistem, mungkin akan ada pemasangan dan penghapusan beberapa " "Paket" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Tambahkan vendor menjadi yang terpercaya" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Tambahkan keyid vendor (juga butuh --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Pakai keyserver yang diberikan untuk mencari kunci" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Tambahkan repository baru dari baris-deb yang diberikan" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Tentukan berkas sources.list.d alternatif ke repository mana yang seharusnya " "akan ditambahkan." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Daftar kunci vendor terpercaya" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Hapus kunci terpercaya dari sidik jari yang diberikan" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Susun ulang paket-paket yang telah terpasang. Secara opsional, prioritas " "minimum pertanyaan bisa ditetapkan" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Prioritas minimal debconf dari pertanyaan yang akan ditampilkan" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Jangan lampirkan pada terminal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Perbolehkan paket-paket dari sumber yang tidak otentik" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Tampilkan informasi tambahan tentang Paket ini. Saat ini hanya menampilkan " "nomor versi" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Menunggu otentikasi" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Jangan shutdown daemon karena ketidakaktifan" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Jangan memuat setiap pengaya" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Tampilkan informasi pemrosesan internal" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Berhenti dan mengganti daemon yang sudah berjalan" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Menaruh statistik profil di berkas yang ditentukan" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Jangan melakukan perubahan pada sistem (Hanya untuk developer)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "File terinstall" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paket-paket terinstall" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Tambahkan kunci dari berkas" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Tembolok terbarui" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Pencarian selesai" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Hapus kunci terpercaya" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Hapus paket-paket" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Paket-paket sudah terbarui" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistem sudah diperbaharui" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Terapkan perubahan" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Proses instal yang terputus sudah diperbaiki" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Sumber perangkat lunak yang telah ditambahkan" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Mengkonfigurasi ulang paket-paket yang telah terpasang" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Dengan sukses" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Dibatalkan" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Gagal" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Memasang berkas" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Memasang paket-paket" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Tambahkan kunci dari berkas" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Memperbaharui tembolok" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Menghapus kunci yang dipercaya" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Menghapus paket-paket" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Memperbaharui paket-paket" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Upgrade sistem" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Sahkan perubahan" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Sedang melakukan perbaikan instalasi" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Menambahkan sumber perangkat lunak" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Berkas paket gagal diinstal" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Piranti lunak gagal diinstal" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Gagal menampilkan daftar piranti lunak" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Gagal menghapus vendor dari daftar yang aman" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Gagal menghapus piranti lunak" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Gagal memperbarui piranti lunak" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Gagal memperbarui sistem" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Gagal melakukan perubahan perangkat lunak" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Periksa koneksi Internet Anda." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Periksa apakah anda menggunakan repositori pihak ketiga. Jika begitu, " "nonaktifkan mereka, karena mereka adalah sumber masalahnya.\n" "Selanjutnya jalankan perintah berikut di Terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Berkas terpilih mungkin bukan berkas kunci GPG atau berkas mungkin korup." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Ini adalah masalah serius. Coba lagi nanti. Jika masalah ini muncul lagi, " "tolong laporkan kesalahan ke pengembang." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Tidak perlu untuk melakukan pembaruan." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Tidak perlu untuk melakukan pemasangan." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Tidak perlu untuk melakukan penghapusan." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Anda diminta untuk menghapus sebuah paket yang merupakan bagian penting dari " "sistem anda." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "Koneksi ke daemon hilang. Daemon background crash." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Pemasangan atau penghapusan Paket peranti lunak gagal." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Sepertinya ada pemrograman yang salah pada aptdaemon, yaitu piranti lunak " "yang memperbolehkan Anda memasang/menghapus piranti lunak dan melakukan " "tugas-tugas yang berhubungan dengan manajemen Paket." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Pemasangan gagal kemungkinan karena kerusakan pada paket perangkat lunak " "atau instalasi dibatalkan dengan paksa. Anda harus memperbaikinya sebelum " "menginstal atau menghapus piranti lunak yang lain." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Gagal mengunduh berkas paket" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Gagal mengunduh informasi repositori" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Dependensi paket tidak bisa dipecahkan" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Sistem paket rusak" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Kunci tidak terinstal" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Kunci tidak dihapus" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Gagal untuk mengunci manajer paket" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Gagal untuk me-load daftar paket" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paket tidak ada" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Paket sudah terinstal" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Paket tidak terinstal" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Gagal untuk menghapus paket penting sistem" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Tugas tidak dapat dimonitor atau dikontrol" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Operasi paket gagal" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Membutuhkan pemasangan dari paket yang tidak terpercaya" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Pemasangan sebelumnya belum selesai" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Paket ini berkualitas buruk" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Berkas Paket tidak dapat dibuka" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Terjadi kesalahan yang tidak dapat ditangani" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Menunggu servis untuk memulai" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Sedang menunggu" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Menunggu untuk media yang dibutuhkan" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Menunggu peranti lunak lainnya untuk keluar" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Menunggu prompt berkas konfigurasi" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Tugas yang berjalan" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Mengunduh" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Membersihkan" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Selesai" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Membatalkan" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Memuat daftar perangkat lunak" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Menginstal %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Sedang mengonfigurasi %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Memindahkan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Menjalankan pemacu %s setelah instalasi" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Diperbaharui %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Selesai" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Otentikasi gagal" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Menganggur" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Jaringan tidak tersedia" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Rincian" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Berkas" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Terunduh %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Telah diunduh" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Membutuhkan '%s' CD/DVD" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Tolong masukkan CD/DVD ke dalam penggerak '%s' untuk memasang perangkat " "lunak darinya." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Pasang" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Memasang ulang" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Hapus" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Meningkatkan" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Menurunkan" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Lewati peningkatan" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Tolong periksa daftar perubahan berikut." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Perangkat lunak tambahan telah terpasang" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Perangkat lunak tambahan telah dipasang ulang" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Perangkat lunak tambahan telah dihapus" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Perangkat lunak tambahan harus ditingkatkan" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Perangkat lunak tembahan harus diturunkan" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Pemutakhiran akan dilewatkan" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Dibutuhkan beberapa perubahan lagi" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Total %sB akan diunduh." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "Apakah akan mengganti '%s' dengan file konfigurasi terbaru?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Jika anda tidak tahu kenapa file tersebut ada di sana, biasanya aman untuk " "mengganti file itu." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Perubahan" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Pertahankan" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Timpa" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Rincian" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Mengunduh %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Paket %s tidak tersedia" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Paket %s tidak terpasang" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versi %s dari %s tidak terpasang" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Paket %s sudah terpasang" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Versi %s dari %s tidak tersedia" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Gagal mengunduh dan memasang kunci %s dari %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Kunci berkas %s tidak dapat dipasang: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Paket %s tidak bisa dihapus" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versi %s dari %s tidak terpasang" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Versi lama %s dari %s sudah terpasang" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Versi %s dari %s sudah terpasang" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Versi %s dari %s tidak tersedia" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Anda perlu menentukan versi %s yang akan diturunkan" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Versi yang lebih baru %s dari %s sudah terpasang" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Paket %s tidak tersedia pada rilis %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Paket %s tidak dapat dihapus" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "tapi paket tersebut adalah paket virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "tapi paket tersebut tidak diinstal" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "tapi %s telah terpasang" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "tapi %s yang akan dipasang" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Gagal menambahkan kunci pada daftar piranti lunak yang aman" aptdaemon-1.1.1/po/ky.po0000644000175000017500000010320312117271433015641 0ustar renaterenate00000000000000# Kirghiz translation for aptdaemon # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-05-31 05:38+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Kirghiz \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/nn.po0000644000175000017500000011467012117271433015643 0ustar renaterenate00000000000000# Norwegian Nynorsk translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-10-29 20:36+0000\n" "Last-Translator: Andreas N. \n" "Language-Team: Norwegian Nynorsk \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Vis nøklane til godkjende utgjevarar" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ visa godkjende nøklar." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Fjern nedlasta pakkefiler" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ rydda opp i nedlasta pakkefiler." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Endra programvareinnstillingane" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ endra programvareinnstillingar." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Endra programvarearkiv" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Du mĂĄ autentisera deg for ĂĄ endra innstillingar for programvarearkiv." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Installer pakkefil" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ installera denne pakken." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Oppdater pakkeinformasjon" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ oppdatera programkatalogen." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Installer eller fjern pakkar" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ installera eller fjerna programvare." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Legg til eit nytt pakkearkiv og installer pakkar frĂĄ det" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ installera programvare frĂĄ ei ny kjelde." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Legg til eit nytt pakkearkiv for kjøpt programvare og installer pakkar frĂĄ " "det" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ installera kjøpt programvare." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Oppgrader pakkar" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ installera den oppdaterte programvara." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Avbryt ei oppgĂĄve frĂĄ ein annan brukar" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "Du mĂĄ autentisera deg for ĂĄ avbryta andre sine programvareendringar." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Vel ein mellomtenar for programnedlastingar" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Du mĂĄ autentisera deg for ĂĄ bruka ein mellomtenar til programnedlastingar." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "FEIL" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Lasta ned %sB av %sB frĂĄ %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Lasta ned %sB av %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "FEIL:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Du har ikkje løyve til ĂĄ utføra denne handlinga." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Legg i kø" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Ordnar opp i bindingar" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Denne NYE pakken vil installerast (%(count)s):" msgstr[1] "Desse NYE pakkane vil installerast (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Denne pakken vil oppgraderast (%(count)s):" msgstr[1] "Desse pakkane vil oppgraderast (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Denne pakken vil FJERNAST (%(count)s):" msgstr[1] "Desse pakkane vil FJERNAST (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Denne pakken vil nedgraderast (%(count)s):" msgstr[1] "Desse pakkane vil nedgraderast (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Denne pakken vil installerast pĂĄ nytt (%(count)s):" msgstr[1] "Desse pakkane vil installerast pĂĄ nytt (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Denne pakken vil haldast att (%(count)s):" msgstr[1] "Desse pakkane vil haldast att (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "MĂĄ henta %sB med arkiv." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Etter denne operasjonen vil %sB ekstra diskplass verta brukt." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Etter denne operasjonen vil %sB frigjerast." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Ikkje avslutt daemon om han er inaktiv" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Vis informasjon om interne prosessar" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Avslutt og erstatt ein allereie køyrande daemon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Lagra profilstatistikk i valt fil" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Ikkje gjer endringar pĂĄ systemet (berre til bruk for utviklarar)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Installert fil" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Installerte pakkar" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "La til nøkkel frĂĄ fil" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Oppdaterte hurtiglageret" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Fjerna tiltrudd nøkkel" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Fjerna pakkar" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Oppdaterte pakkar" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Oppgraderte systemet" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Iverksette endringar" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Reparerte ein ufullstendig installasjon" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Vellukka" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Avbrote" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Mislukka" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installerer fil" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installerer pakkar" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Legg til nøkkel frĂĄ fil" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Oppdaterar mellomlageret" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Fjernar tiltrudd nøkkel" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Fjernar pakkar" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Oppdaterar pakkar" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Oppgraderar systemet" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Utfører endringar" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Reparerar ufullstendig installasjon" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Klarte ikkje ĂĄ installera pakkefil" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Klarte ikkje ĂĄ installera programvara" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Klarte ikkje ĂĄ oppdatera programvarelista" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Klarte ikkje ĂĄ fjerna programvareutgjevaren frĂĄ lista" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Klarte ikkje ĂĄ fjerna programvara" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Klarte ikkje ĂĄ oppdatera programvara" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Klarte ikkje ĂĄ oppgradera systemet" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Klarte ikkje ĂĄ uføra programvareendringar" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Klarte ikkje ĂĄ reparera den ufullstendige installasjonen" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Undersøk Internettkoplinga di" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Undersøk om du brukar pakkearkiv frĂĄ ein tredjepart. Sidan slike pakkearkiv " "er ei vanleg feilkjelde, bør du vurdera ĂĄ fjerna desse.\n" "I tillegg bør du køyra følgjande kommando i terminalen: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Den valte fila er truleg anten øydelagt eller ikkje ei GPG-fil." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Det her er eit alvorleg problem. Prøv om att seinare, og dersom møter same " "problemet er det fint om du rapporterar det til utviklarane av programvaren." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Oppdatering trengs ikkje." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Installasjon trengs ikkje." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Fjerning trengs ikkje." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Du har bede om ĂĄ fĂĄ fjerna ein pakke som er grunnleggande for systemet." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Klarte ikkje ĂĄ installera eller fjerna ein programvarepakke." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Klarte ikkje ĂĄ laste ned pakkefiler" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Klarte ikkje ĂĄ laste ned informasjon om pakkearkiva" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Pakkesystemet er øydelagt" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Nøkkelen vart ikkje installert" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Nøkkelen vart ikkje fjerna" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Klarte ikkje ĂĄ lĂĄsa pakkehandsamaren" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Klarte ikkje ĂĄ lasta pakkelista" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakken fins ikkje" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakken er allereie installert" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakken er ikkje installert" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Klarte ikkje ĂĄ fjerna ein grunnleggande systempakke" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Denne oppgĂĄva kan verken overvakast eller kontrollerast" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Klarte ikkje ĂĄ gjennomføra pakkeoperasjonen" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Krev installasjon av utiltrudde pakkar" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Den førre installasjonen er ikkje fullført" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Ventar pĂĄ at tenesta skal starte" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Ventar" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Ventar pĂĄ at ein annan programvarehandsamar skal avslutte" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Køyrer oppgĂĄve" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Lastar ned" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Ryddar opp" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Fullført" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Avbryt" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Lastar programvareliste" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installerar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Set opp %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Fjernar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Oppgraderar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detaljar" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Treng CD- eller DVD-plata '%s'" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Vil du bytta ut endringane dine i '%s' med ein seinare versjon av " "konfigurasjonsfila?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Det vil vanlegvis vere greitt ĂĄ erstatte fila om du ikkje veit kvifor ho " "allereie er der." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Klarte ikkje ĂĄ legga nøkkelen inn i lista over tiltrudde " #~ "programvareutgjevarar" aptdaemon-1.1.1/po/ml.po0000644000175000017500000012254412117271433015637 0ustar renaterenate00000000000000# Malayalam translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-11-21 11:21+0000\n" "Last-Translator: Amal Bose \n" "Language-Team: Malayalam \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "വിശ്വസ്തമായ വസ്തൠഉടമകളŕµŕ´źŕµ† ŕ´•ŕµ€ പട്ടിക" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "ഡൗണ്‍ലോഡ് ചെയ്ത ഭണ്ഡാരങ്ങള്‍ നീക്കം ചെയ്യŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "ഡൌണ്‍ലോഡ് ചെയ്ത പാക്കേജ് ŕ´«ŕ´Żŕ´˛ŕµŕ´•ള്‍ നീക്കം ചെയ്യാന്‍ താങ്കളŕµŕ´źŕµ† വിശ്വാസ്യയോഗ്യത " "തെളിയിക്കŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "സോഫ്റ്റ്‌വെയര്‍ കോണ്‍ഫിഗറേഷന്‍ മാറ്റŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "സോഫ്റ്റ്‌വെയര്‍ ക്രമീകരണത്തില്‍ വ്യത്യാസം വരŕµŕ´¤ŕµŤŕ´¤ŕ´ľŕ´¨ŕµŤâ€Ť താങ്കളŕµŕ´źŕµ† " "വിശ്വാസ്യയോഗ്യത തെളിയിക്കŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "സോഫ്റ്റ്‌വെയര്‍ ഭണ്ഡാരം മാറ്റŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "സോഫ്റ്റ്‌വെയര്‍ ഭണ്ടാര ക്രമീകരണത്തില്‍ വ്യത്യാസം വരŕµŕ´¤ŕµŤŕ´¤ŕ´ľŕ´¨ŕµŤâ€Ť താങ്കളŕµŕ´źŕµ† " "വിശ്വാസ്യയോഗ്യത തെളിയിക്കŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ഇന്‍സ്റ്റോള്‍ പാക്കേജ് ഫയല്‍" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" "ഠഭണ്ഡാരം ഇന്‍സ്റ്റോള്‍ ചെയ്യാന്‍ താങ്കളŕµŕ´źŕµ† വിശ്വാസ്യയോഗ്യത തെളിയിക്കŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "സോഫ്റ്റ്‌വെയര്‍ കാറ്റലോഗ് പരിഷ്കരിക്കാന്‍ താങ്കളŕµŕ´źŕµ† വിശ്വാസ്യയോഗ്യത " "തെളിയിക്കŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ഭണ്ഡാരം ഇന്‍സ്റ്റോള്‍ ചെയ്യŕµŕ´•യോ നീക്കം ചെയ്യŕµŕ´•യോ ചെയ്യŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "ഡൌണ്‍ലോഡ് ഇന്‍സ്റ്റോള്‍ ചെയ്യണോ നീക്കം ചെയ്യണോ താങ്കളŕµŕ´źŕµ† വിശ്വാസ്യയോഗ്യത " "തെളിയിക്കŕµŕ´•" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" "ŕ´’ŕ´°ŕµ ŕ´Şŕµŕ´¤ŕ´żŕ´Ż ഭണ്ഡാരം കൂട്ടിച്ചേര്‍ക്കŕµŕ´•ŕ´Żŕµŕ´‚ അതില്‍ നിന്നŕµŕ´‚ ŕ´Şŕµŕ´¤ŕ´żŕ´Ż പാക്കേജ് " "ഇന്‍സ്റ്റോള്‍ ചെയ്യŕµŕ´•ŕ´Żŕµŕ´‚ ചെയ്യŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "മറ്റൊരൠഉറവിടത്തില്‍ നിന്നŕµŕ´łŕµŤŕ´ł സോഫ്റ്റ്‌വെയര്‍ ഇന്‍സ്റ്റോള്‍ ചെയ്യാന്‍ " "താങ്കളŕµŕ´źŕµ† വിശ്വാസ്യയോഗ്യത തെളിയിക്കŕµŕ´•" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "വിലയ്ക്ക് വാങ്ങിയ സോഫ്റ്റ്‌വെയര്‍ ഉള്ള ŕ´’ŕ´°ŕµ ŕ´Şŕµŕ´¤ŕ´żŕ´Ż ഭണ്ഡാരം " "കൂട്ടിച്ചേര്‍ക്കŕµŕ´•ŕ´Żŕµŕ´‚ അതില്‍ നിന്നŕµŕ´‚ ŕ´Şŕµŕ´¤ŕ´żŕ´Ż പാക്കേജ് ഇന്‍സ്റ്റോള്‍ ചെയ്യŕµŕ´•ŕ´Żŕµŕ´‚ " "ചെയ്യŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "വിലയ്ക്ക് വാങ്ങിയ സോഫ്റ്റ്‌വെയര്‍ ഇന്‍സ്റ്റോള്‍ ചെയ്യാന്‍ താങ്കളŕµŕ´źŕµ† " "വിശ്വാസ്യയോഗ്യത തെളിയിക്കŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "പരിഷ്കരിച്ച സോഫ്റ്റ്‌വെയര്‍ ഇന്‍സ്റ്റോള്‍ ചെയ്യാന്‍ താങ്കളŕµŕ´źŕµ† " "വിശ്വാസ്യയോഗ്യത തെളിയിക്കŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "മറ്റൠഉഭയോക്താവിന്റെ കാര്യങ്ങള്‍ നിര്‍ത്തŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "മറ്റŕµŕ´łŕµŤŕ´łŕ´µŕ´°ŕµŕ´źŕµ† സോഫ്റ്റ്‌വെയര്‍ മാറ്റങ്ങള്‍ റദ്ദാക്കാന്‍ താങ്കളŕµŕ´źŕµ† " "വിശ്വാസ്യയോഗ്യത തെളിയിക്കŕµŕ´•" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "പ്രോക്സി സെര്‍വരിലൂടെ സോഫ്റ്റ്‌വെയര്‍ ഡൌണ്‍ലോഡ് ചെയ്യാന്‍ താങ്കളŕµŕ´źŕµ† " "വിശ്വാസ്യയോഗ്യത തെളിയിക്കŕµŕ´•" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ഡിപെന്‍ഡന്‍സികള്‍ റീസോള്‍വൠചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕµ" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "രേŕ´ŕ´Şŕµ†ŕ´źŕµŕ´¤ŕµŤŕ´¤ŕ´żŕ´Ż ഫയലില്‍ പ്രൊഫŕµŕ´˛ŕµŤâ€Ť സ്റ്റ്സ് സൂക്ഷിക്കŕµŕ´•" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "ഇന്‍സ്റ്റോള്‍ ചെയ്ത ഫയല്‍" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "ഇന്‍സ്റ്റോള്‍ ചെയ്തിടŕµŕ´łŕµŤŕ´ł പാക്കേജŕµŕ´•ള്‍" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "നീക്കം ചെയ്ത പാക്കേജŕµŕ´•ള്‍" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "വിജയകരമായി" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "റദ്ദാക്കപ്പെട്ടŕµ" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "പരാജയപ്പെട്ടŕµ" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ഫയല്‍ ഇന്‍സ്റ്റോള്‍ ചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "പാക്കേജŕµŕ´•ള്‍ ഇന്‍സ്റ്റോള്‍ ചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "cache അപ്ഡേറ്റ് ചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "പാക്കേജŕµŕ´•ള്‍ നീക്കം ചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "പാക്കേജŕµŕ´•ള്‍ പരിഷ്കരിക്കŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "സിസ്റ്റം നവീകരിക്കŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "നിങ്ങളŕµŕ´źŕµ† ഇന്റര്‍നെറ്റ്‌ ബന്ധം പരിശോധിക്കŕµŕ´•." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "പരിഷ്കരിക്കേണ്ട ആവശ്യമില്ല." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "ഇന്‍സ്റ്റോള്‍ ചെയ്യേണ്ട ആവശ്യമില്ല" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "നീകം ചെയ്യേണ്ട ആവശ്യമില്ല" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "നിങ്ങളŕµŕ´źŕµ† സിസ്റ്റത്തിന്റെ വളരെ പ്രധാനപെട്ട ഒരൠഭാഗമാണ് നിങ്ങള്‍ നീക്കം " "ചെയ്യാന്‍ ആവശ്യപ്പെട്ടിരിക്കŕµŕ´¨ŕµŤŕ´¨ŕ´¤ŕµŤ." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" "ഒരൠസോഫ്റ്റ്‌വെയര്‍ പാക്കേജിന്റെ ഇന്‍സ്റ്റോള്‍ അല്ലെങ്കില്‍ നീക്കം ചെയ്യല്‍ " "പ്രക്രിയ പരാജയപ്പെട്ടിരിക്കŕµŕ´¨ŕµŤŕ´¨ŕµ." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "പാക്കേജ് ŕ´«ŕ´Żŕ´˛ŕµŕ´•ള്‍ ഡൌണ്‍ലോഡ് ചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕ´¤ŕ´żŕ´˛ŕµŤâ€Ť പരാജയപെട്ടŕµ" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "പാക്കേജ് നിലവില്‍ ഇല്ല" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "പാക്കേജ് ഇന്‍സ്റ്റോള്‍ ചെയ്യപ്പെട്ടിട്ടŕµŕ´ŁŕµŤŕ´źŕµŤ" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "പാക്കേജ് ഇന്‍സ്റ്റോള്‍ ചെയ്തിട്ടില്ല" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "പാക്കേജൠപ്രയോഗം പരാജയപ്പെട്ടŕµ" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "സര്‍വീസ് ŕ´¤ŕµŕ´źŕ´™ŕµŤŕ´™ŕ´ľŕ´¨ŕµŤâ€Ť കാത്തിരിക്കŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "നടന്നŕµŕ´•ൊണ്ടിരിക്കŕµŕ´¨ŕµŤŕ´¨ ജോലി" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ഡൌണ്‍ ലോഡ് ചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "വെടിപ്പാക്കŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "അവസാനിച്ചŕµ" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "റദ്ദാക്കŕµŕ´¨ŕµŤŕ´¨ŕµ" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s ഇന്‍സ്റ്റോള്‍ ചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕµ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s നീക്കം ചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕµ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "%s ഇന്‍സ്റ്റോള്‍ ചെയ്തതിനൠശേഷമŕµŕ´łŕµŤŕ´ł മറ്റൠചില കാര്യങ്ങള്‍ ചെയ്യŕµŕ´¨ŕµŤŕ´¨ŕµ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "വിശദാംശങ്ങള്‍" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "'%s' എന്ന CD/DVD ആവശ്യമŕµŕ´ŁŕµŤŕ´źŕµŤ" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_സൂക്ഷിക്കŕµŕ´•" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_മാറ്റിസ്ഥാപിക്കŕµŕ´•" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_വിശദാംശങ്ങള്‍" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/zh_TW.po0000644000175000017500000012571512117271433016265 0ustar renaterenate00000000000000# Traditional Chinese translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-10-28 02:36+0000\n" "Last-Translator: Walter Cheuk \n" "Language-Team: Traditional Chinese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "ĺ—出信任廠商的金鑰" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "若č¦ćŞ˘č¦–äżˇä»»é‡‘é‘°ć¸…ĺ–®ďĽŚć‚¨éś€č¦é€šéŽčŞŤč­‰ă€‚" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "移除已下載的套件檔ćˇ" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "若č¦ć¸…空下載的套件檔ćˇďĽŚć‚¨éś€č¦é€šéŽčŞŤč­‰ă€‚" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "變更軟體組態" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "若č¦č®Šć›´č»źé«”設定值,您需č¦é€šéŽčŞŤč­‰ă€‚" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "變更軟體套件庫" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "若č¦č®Šć›´č»źé«”套件庫設定值,您需č¦é€šéŽčŞŤč­‰ă€‚" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "安裝套件檔ćˇ" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "若č¦ĺ®‰čŁťć­¤ĺĄ—ä»¶ďĽŚć‚¨éś€č¦é€šéŽčŞŤč­‰ă€‚" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "更新套件資訊" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "若č¦ć›´ć–°č»źé«”型錄,您需č¦é€šéŽčŞŤč­‰ă€‚" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "安裝ć–移除套件" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "若č¦ĺ®‰čŁťć–移除軟體,您需č¦é€šéŽčŞŤč­‰ă€‚" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "ĺľžç™˝ĺŤĺ–®ä¸­é«ĺş¦äżˇä»»çš„套件庫安裝軟體" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "若č¦ĺ®‰čŁťč»źé«”ďĽŚć‚¨éś€č¦ĺ…通éŽčş«ä»˝é©—證。" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "加入新套件庫並且安裝ĺ®ć‰€ćŹäľ›çš„套件" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "若č¦ĺľžć–°äľ†ćşĺ®‰čŁťč»źé«”ďĽŚć‚¨éś€č¦é€šéŽčŞŤč­‰ă€‚" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "加入購買軟體的新套件庫並且安裝ĺ®ćŹäľ›çš„套件" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "若č¦ĺ®‰čŁťčłĽč˛·çš„č»źé«”ďĽŚć‚¨éś€č¦é€šéŽčŞŤč­‰ă€‚" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "升級套件" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "若č¦ĺ®‰čŁťć›´ć–°ç‰çš„軟體,您需č¦é€šéŽčŞŤč­‰ă€‚" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "取ć¶ĺŹ¦ä¸€ä˝Ťä˝żç”¨č€…çš„ä»»ĺ‹™" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "若č¦ĺŹ–ć¶ĺ…¶ĺ®äşşć‰€ä˝śĺ‡şçš„軟體變更,您需č¦é€šéŽčŞŤč­‰ă€‚" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "設定用來下載軟體的代ç†äĽşćśŤĺ™¨" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "若č¦ä˝żç”¨ä»Łç†äĽşćśŤĺ™¨ä»Ąä¸‹čĽ‰č»źé«”,您需č¦é€šéŽčŞŤč­‰ă€‚" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "錯誤" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "已下載 %sB,共 %sB,速率 %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "已下載 %sB,共 %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "錯誤:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "您不被許可執行此動作。" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "正在佇ĺ—" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "č§Łćžç›¸äľťć€§ä¸­" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "下ĺ—「新」套件將被安裝 (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "ćśĺŤ‡ç´šä»Ąä¸‹ĺĄ—ä»¶ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "下ĺ—套件將被「移除」(%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "下ĺ—套件將被「降級」(%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "下ĺ—套件將被重新安裝 (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "下ĺ—套件ćśç¶­ćŚä¸Ťč®Š (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "需č¦ĺŹ–ĺľ— %sB 的檔ćˇă€‚" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "在此項操作之後,將使用 %sB 的額外çŁç˘źç©şé–“。" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "在此項操作之後,將釋放 %sB 的額外çŁç˘źç©şé–“。" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "您ćłč¦çąĽçşŚĺ—Ž [ćŻ Y/ĺ¦ n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "若č¦ĺŚć™‚操作多個套件,請將套件ĺŤç¨±ç˝®ć–Ľč‹±ĺĽŹĺĽ•號 (\"\") 內:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "重新整ç†ĺż«ĺŹ–" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "ĺ—試解決ćŤĺŁžçš„ç›¸äľťé—śäż‚ă€‚ćś¬ć“Ťä˝śćś‰ć˝›ĺś¨ĺŤ±éšŞďĽŚĺ› ç‚şĺ®ćśĺ—試移除許多套件。" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ĺ—試完ć前次的不完整安裝" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "安裝給定的套件" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "重新安裝給定的套件" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "移除給定的套件" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "移除給定的套件č‡ĺ…¶çµ„態檔" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "降級指定的套件" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "已棄用:請使用 --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "以安全的方式升級系統" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "升級系統,可č˝ćśĺ®‰čŁťč‡ç§»é™¤ĺĄ—ä»¶" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "加入該廠商為信任廠商" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "加入該廠商的金鑰 id (é‚„éś€č¦ --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "使用給定的金鑰伺服器來查詢金鑰" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "從給定的 deb-line 加入新套件庫" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "指定套件庫應加入其中的替代性 sources.list.d 檔ćˇă€‚" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "ĺ—出信任的廠商金鑰" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "移除給定指紋的信任金鑰" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "重新組態已安裝套件。可以é¸ć“‡ćŻĺ¦č¦ćŚ‡ĺ®šĺ•ŹéˇŚçš„ćś€ĺ°Źĺ„Şĺ…等級" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "č¦éˇŻç¤şçš„問題其最小 debconf 優ĺ…等級" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "不č¦é™„加至 apt 終端" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "ĺ…許來自未認證來ćşçš„套件" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "顯示關於套件的額外資訊。目前只有ç‰ćś¬č™źç˘Ľ" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "正在等候認證" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "請勿因čŚć™ŻćśŤĺ‹™ç„ˇĺ‹•作而關閉之" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "不č¦čĽ‰ĺ…Ąä»»ä˝•外掛程式" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "顯示內é¨č™•ç†čł‡č¨Š" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "退出及替換已在執行中的čŚć™ŻćśŤĺ‹™" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "ç›Łč˝ DBus 作業階段 bus (只有測試需č¦" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "在給定的 chroot ç’°ĺ˘ä¸­ĺź·čˇŚć“Ťä˝ś" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "在指定的檔ćˇä¸­ĺ„˛ĺ­č¨­ĺ®šç‹€ć…‹" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "不č¦ĺ°Ťçł»çµ±ä˝śä»»ä˝•變更ďĽĺŹŞĺ°Ťé–‹ç™Ľč€…ćś‰ç”¨ďĽ‰" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "已安裝的檔ćˇ" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "已安裝的套件" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "從檔ćˇä¸­ĺŠ ĺ…Ąé‡‘é‘°" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "更新快取" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "ćśĺ°‹ĺ®Ść" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "已移除的可信任金鑰" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "已移除的套件" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "已更新的套件" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "已升級的系統" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "已套用的變更" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "已修復的不完整安裝" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "已修復的不完整相依性" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "已加入軟體來ćş" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "已啟用發行ç‰ĺ…ä»¶" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "已移除下載的套件檔ćˇ" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "已重新組態已安裝套件" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ć功" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "已取ć¶" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "失敗" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "安裝檔ćˇä¸­" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "安裝套件中" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "從檔ćˇć–°ĺ˘žé‡‘鑰中" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "更新快取中" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "移除信任的金鑰中" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "移除套件中" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "更新套件中" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "升級系統中" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "套用變更中" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "正在修復不完整的安裝" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "正在修復安裝的軟體" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "正在加入軟體來ćş" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "正在啟用發行ç‰ĺ…ä»¶" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "正在移除已下載的套件檔ćˇ" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "正在重新組態已安裝的套件" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "正在ćśĺ°‹" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "套件檔ćˇĺ®‰čŁťĺ¤±ć•—" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "軟體安裝失敗" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "重新整ç†č»źé«”ĺ—表失敗" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "從可信任ĺ—表中移除供應者失敗" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "移除軟體失敗" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "更新軟體失敗" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "升級系統失敗" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "套用軟體改變失敗" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "不完整的安裝修復失敗" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "ćŤĺŁžçš„ç›¸äľťć€§äż®ĺľ©ĺ¤±ć•—" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "加入軟體來ćşć™‚失敗" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "啟用發行ç‰ĺ…件時失敗" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "移除已下載的套件失敗" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "ćśĺ°‹ĺ¤±ć•—" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "正在加入ćŽć¬Šé‡‘é‘°" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "檢查您的網際網路連線。" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "檢查您ćŻĺ¦ć­Łĺś¨ä˝żç”¨ç¬¬ä¸‰ć–ąĺĄ—件庫。若有使用請關閉ĺ®ĺ€‘,因為ĺ®ĺ€‘ćŻĺ¸¸č¦‹çš„問題來ćşă€‚\n" "此外在終端機中執行以下指令:apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "é¸ĺ®šçš„檔ćˇĺŹŻč˝ä¸ŤćŻ GPG 金鑰,ć–者內容已ćŤĺŁžă€‚" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "所é¸çš„金鑰無法移除。請檢查您ćŹäľ›çš„指紋ćŻĺ¦ćś‰ć•。" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "請檢查您目前ćŻĺ¦ć­Łĺś¨ĺź·čˇŚĺ…¶ĺ®č»źé«”管ç†ĺ·Ąĺ…·ďĽŚäľ‹ĺ¦‚:Synaptic ć– aptitude。ĺŚä¸€ć™‚間內只ĺ…許一項工具處ç†č®Šć›´ă€‚" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "有一個嚴重問題。請稍候重試。若此問題再次出現,請ĺ‘開發者回報錯誤。" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "請檢查套件ĺŤç¨±çš„拼寫,以及ćŻĺ¦ĺ•źç”¨ĺé©çš„套件庫。" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "不需č¦ä»»ä˝•更新。" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "不需č¦ä»»ä˝•安裝" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "不需č¦ä»»ä˝•移除" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "您č¦ć±‚移除一個系統必č¦çš„套件。" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "čŚć™ŻćśŤĺ‹™çš„連線已éşĺ¤±ă€‚čŚć™ŻćśŤĺ‹™ĺľćś‰ĺŹŻč˝ĺ·˛ç•¶ć©źă€‚" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "安裝ć–移除軟體套件失敗。" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "請求的功č˝ĺ°šćśŞć”ŻćŹ´ă€‚" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "在 aptdaemon 中似乎有程式上的設č¨éŚŻčŞ¤ă€‚č©˛č»źé«”ĺ…許您安裝ć–移除軟體,以及執行其他č‡ĺĄ—件管ç†ç›¸é—śçš„事務。" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "此錯誤可č˝ç”±ć–Ľć‰€éś€çš„額外軟體套件éşĺ¤±ć–無法安裝所造ć。甚至軟體套件間可č˝ĺ­ĺś¨čˇťçŞďĽŚä˝żĺľ—無法ĺŚć™‚安裝。" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "這需č¦ĺ®‰čŁťäľ†č‡ŞćśŞĺŹ—é©—č­‰äľ†ćşçš„套件。" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "這個安裝可č˝ĺ·˛ĺ¤±ć•—,可č˝čµ·ĺ› ć–Ľĺ°Ťć‡‰çš„軟體套件有錯誤,ć–ćŻĺ®‰čŁťéŽç¨‹č˘«ä»Ąä¸€ç¨®ä¸ŤĺŹ‹ĺ–„çš„ć–ąĺĽŹĺŹ–ć¶ă€‚在您可以進一步安裝ć–移除任何軟體前,您必é äż®ĺľ©ć­¤ĺ®‰čŁťă€‚" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "請將該檔ćˇč¤‡čŁ˝ĺ°ć‚¨çš„本地電腦上並檢查檔ćˇć¬Šé™ă€‚" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "不ĺ…許安裝é•反ĺ“質標準的套件。這可č˝ĺ°Ťć‚¨çš„電腦造ć嚴重傷害。請čŻçµˇćŹäľ›ć­¤ĺĄ—件檔ćˇçš„個人ć–組織,並將下方的細節轉é€çµ¦ä»–們。" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "č¦ĺź·čˇŚé€™ä»˝č»źé«”需č¦ä¸‹čĽ‰ćŽć¬Šé‡‘鑰,但此金鑰無ć•ć–無法正確安裝。\n" "請見詳細資料瞭解更多訊ćŻă€‚" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "已經安裝所有可用的升級。" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "無法下載讓您使用這份軟體的ćŽć¬Šé‡‘鑰。請檢查您的網路連線。" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "下載套件檔ćˇĺ¤±ć•—" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "下載套件庫資訊失敗" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "套件相依性無法解ćž" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "套件系統ćŤĺŁž" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "金鑰未安裝" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "金鑰未移除" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "鎖定套件管ç†ĺ“ˇĺ¤±ć•—" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "載入套件ĺ—表失敗" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "套件不ĺ­ĺś¨" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "套件已經ćŻćś€ć–°ç‹€ć…‹" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "套件已經安裝" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "套件未安裝" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "移除必č¦çł»çµ±ĺĄ—件失敗" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "任務無法被監控ć–控ĺ¶" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "套件作業失敗" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "需č¦ĺ®‰čŁťćśŞĺŹ—äżˇä»»çš„ĺĄ—ä»¶" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "上一次的安裝尚未完整" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "該套件ĺ“質不良" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "無法開啟套件檔ćˇ" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "未支援的功č˝" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "無法下載ćŽć¬Šé‡‘é‘°" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "無法安裝ćŽć¬Šé‡‘é‘°" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "系統已經ćŻćś€ć–°ç‹€ć…‹" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "é­é‡ĺ°ç„ˇćł•處ç†çš„錯誤" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "等待服務啟動中" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "正在等待" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "等待需č¦çš„媒體中" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "等帶其ĺ®č»źé«”管ç†ĺ“ˇé€€ĺ‡şä¸­" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "等待設定檔ćŹç¤şä¸­" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "執行任務中" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "正在下載" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "正在查詢軟體來ćş" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "清ç†ä¸­" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "已完ć" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "取ć¶ä¸­" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "載入軟體ĺ—表中" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "正在安裝 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "正在設定 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "正在移除 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "正在完全移除 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "ĺ‰›ćł¨ć„Źĺ° %s ć¶ĺ¤±" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "正在執行安裝後套件後續處ç†ç¨‹ĺĽŹ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "正在升級 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "正在解開 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "正在準備安裝 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "正在準備設定 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "正在準備移除 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "正在準備完整移除 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "已安裝 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "已完整移除 %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "已移除 %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "ć­Łĺś¨č™•ç† %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "完ć" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "認證失敗" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "接收中" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "é–’ç˝®" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "網路不可用" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "詳細資料" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "檔ćˇ" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "已下載 %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "已下載" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "éś€č¦ CD/DVD 「%s」" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "請將上述的 CD/DVD 置入光碟機「%s」以從該碟片安裝軟體套件。" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "繼續(_O)" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "安裝" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "重新安裝" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "移除" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "徹底清除" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "升級" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "降級" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "略éŽĺŤ‡ç´š" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "請查看下方的變更清單。" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "ĺż…é ĺ®‰čŁťéˇŤĺ¤–č»źé«”" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "ĺż…é é‡Ťć–°ĺ®‰čŁťéˇŤĺ¤–č»źé«”" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "ĺż…é ç§»é™¤éˇŤĺ¤–軟體" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "ĺż…é ĺľąĺş•移除額外軟體" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "ĺż…é ĺŤ‡ç´šéˇŤĺ¤–軟體" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "ĺż…é é™Ťç´šéˇŤĺ¤–軟體" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "將略éŽć›´ć–°" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "需č¦éˇŤĺ¤–變更" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "總共č¦ä¸‹čĽ‰ %sB。" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "將釋放 %sB çš„çŁç˘źç©şé–“。" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "將使用大於 %sB çš„çŁç˘źç©şé–“。" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "在 '%s' 中以čĽć–°çš„設定檔ç‰ćś¬ĺŹ–ä»Łć‚¨çš„č®Šć›´ďĽź" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "若您不清楚為何此檔ćˇĺ·˛ç¶“ĺ­ĺś¨ďĽŚé€šĺ¸¸ĺŹ–ä»Łĺ®ćŻĺ®‰ĺ…¨çš„。" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "變更(_C)" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "äżťç•™(_K)" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "取代(_R)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "詳細資料(_D)" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "正在等候 %s çµćťź" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "正在下載 %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "本地端套件庫" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "正在從 %s 下載" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s çš„çµć§‹" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s 的描述" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%s 的描述簽章" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "來自 %s 的可用套件" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "來自 %s 的可用來ćş" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "來自 %s 的可用翻譯" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "來自 %s çš„ %s (%s) 翻譯" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "來自 %s çš„ %s 翻譯" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "翻譯 (%s) ĺľž %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "套件 %s 無法使用" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "套件 %s 未安裝" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "ç‰ćś¬ %s çš„ %s 未安裝" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "%s 套件已經安裝" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "%s ç‰ćś¬çš„ %s 無法使用" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "金鑰伺服器 URL 無ć•:%s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "無ć•的伺服器協定:%s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "無ć•的金鑰 id:%s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "無法下載č‡ĺ®‰čŁťé‡‘é‘° %s (來自 %s):\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "é‡‘é‘°ćŞ”ćˇ %s 無法安裝:%s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "指紋為 %s 的金鑰無法移除:%s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "%s 套件無法移除。" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "ç‰ćś¬ %s çš„ %s 未安裝" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "čĽčŠç‰ćś¬ %s çš„ %s 已經安裝" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "ç‰ćś¬ %s çš„ %s 已經安裝" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "%s ç‰ćś¬çš„ %s 無法使用" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "您需č¦ćŚ‡ĺ®šč¦ĺ°‡ %s 降級至哪個ç‰ćś¬" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "čĽć–°ç‰ćś¬ %s çš„ %s 已經安裝" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "%s 套件在 %s 發行ç‰ćś¬ĺ…§ç„ˇćł•使用" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "套件 %s 無法移除" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "套件未ćŹäľ›ćś‰ć•的已安裝大小控ĺ¶ć¬„位。請見 Debian Policy 5.6.20。" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "ćŽć¬Šé‡‘鑰為空白" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "ćŽć¬Šé‡‘鑰不可ĺ«ćś‰ĺź·čˇŚä»Łç˘Ľă€‚" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "ćŽć¬Šé‡‘é‘°č·Żĺľ‘ %s 無ć•" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "ćŽć¬Šé‡‘é‘°ĺ·˛ĺ­ĺś¨ďĽš%s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "ćŽć¬Šé‡‘鑰的位置不安全,因為ĺ®ĺŚ…ĺ«ç¬¦č™źé€Łçµă€‚č·Żĺľ‘ %s 對應至 %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "金鑰所č¦ĺ®‰čŁťçš„ç›®éŚ„ĺ°šćśŞĺ­ĺś¨ďĽš%s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "無法寫入金鑰檔至:%s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "下ĺ—套件有無法滿足的相依關係:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "但ĺ®ĺŹŞćŻč™›ć“¬ĺĄ—ä»¶" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ä˝†ćŻ %s 卻尚未安裝" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "但ćŻĺ®ĺŤ»ä¸Ťćśč˘«ĺ®‰čŁť" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ä˝†ćŻ %s 卻已經安裝" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ä˝†ćŻ %s 卻已經安裝" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "加入信任的軟體供應者金鑰至ĺ—表失敗" aptdaemon-1.1.1/po/bs.po0000644000175000017500000013445512117271433015637 0ustar renaterenate00000000000000# Bosnian translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-06 00:53+0000\n" "Last-Translator: Samir Ribić \n" "Language-Team: Bosnian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Lista kljuÄŤeva povjerljivih dobavljaÄŤa" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Da vidite listu povjerljivih kljuÄŤeva, trebate se prijaviti." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Ukloniti preuzete datoteke s paketima" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Da obrišete preuzete paketske datoteke, trebate proći kroz provjeru " "identiteta." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Promijeni softversku konfiguraciju" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Da promijenite softverske postavke, trebate proći kroz provjeru identiteta." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Promijeni softverski repozitorij" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Da promijenite postavke repozitorija, trebate se prijaviti." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instaliraj paketsku datoteku" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Da instalirate ovaj paket, trebate se prijaviti." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "AĹľuriraj podatke o paketu" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Da aĹľurirate katalog softvera, trebate se prijaviti." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instaliraj ili ukloni pakete" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Da instalirate ili uklanjate softver, trebate se prijaviti." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Instaliraj softver s repozitorija bijele liste visokog povjerenja" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Za instalaciju softvera, potrebne je potvrda autentiÄŤnosti." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Dodaj novi repozitorij i instaliraj pakete iz njega." #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Da instalirate softver iz novog izvora, trebate se prijaviti." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Dodaj novi repozitorij kupljenog softvera i instaliraj pakete iz njega." #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Da instalirate kupljeni softver, trebate se prijaviti." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Nadogradi pakete" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Da instalirate aĹľurirani softver, trebate se prijaviti." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "OtkaĹľi zadatak drugog korisnika" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "Da prekinete neÄŤije promjene programa, trebate se prijaviti." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Postavi proksi za softverska preuzimanja" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Da koristite proksi server za preuzimanje softvera, trebate se prijaviti." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "GREĹ KA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Preuzeto %sB od %sB na %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Preuzeto %sB od %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "GREĹ KA" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Tu akciju vam nije dozvoljeno izvesti." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Stavljanje u red" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Rješavam zavisnosti" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Sljedeći novi paketi će biti instalirani (%(count)s):" msgstr[1] "Sljedeći novi paketi će biti instalirani (%(count)s):" msgstr[2] "Sljedeći novi paketi će biti instalirani (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Sljedeći paketi će biti nadograÄ‘eni (%(count)s):" msgstr[1] "Sljedeći paketi će biti nadograÄ‘eni (%(count)s):" msgstr[2] "Sljedeći paketi će biti nadograÄ‘eni (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Sljedeći paketi će biti uklonjeni (%(count)s):" msgstr[1] "Sljedeći paketi će biti uklonjeni (%(count)s):" msgstr[2] "Sljedeći paketi će biti uklonjeni (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Sljedeći paketi će biti sniĹľene verzije (%(count)s):" msgstr[1] "Sljedeći paketi će biti sniĹľene verzije (%(count)s):" msgstr[2] "Sljedeći paketi će biti sniĹľene verzije (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Sljedeći paketi će biti reinstalirani (%(count)s):" msgstr[1] "Sljedeći paketi će biti reinstalirani (%(count)s):" msgstr[2] "Sljedeći paketi će biti reinstalirani (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Sljedeći paketi će biti saÄŤuvani (%(count)s):" msgstr[1] "Sljedeći paketi će biti saÄŤuvani (%(count)s):" msgstr[2] "Sljedeći paketi će biti saÄŤuvani (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Treba preuzeti %sB arhiva." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Nakon ove operacije, %sB dodatnog disk prostora će biti korišteno." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Nakon ove operacije, %sB dodatnog disk prostora će biti osloboÄ‘eno." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Ĺ˝elite li nastaviti [D/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Da radite više od jednog paketa, stavite njihova imena u navodnike:\n" "aptdcon --install \"prvi drugi\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "OsvjeĹľi keš" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Pokušaj razrješenja oštećenih zavisnosti. Potencijalno opasno, jer moĹľe " "ukloniti previše paketa." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Pokušaj završetka prethodne nekompletne instalacije" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instaliraj navedene pakete" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Ponovno instaliraj navedene pakete" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Ukloni navedene pakete" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Ukloni navedene pakete i konfiguracijku datoteku" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Smanjenje verzije navedenih paketa" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Zastarjelo: Koristite --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "AĹľuriraj sistem na siguran naÄŤin" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "AĹľuriraj sistem instalacijom i uklanjanjem paketa" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Dodaj proizvoÄ‘aÄŤa u one s povjerenjem" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Dodaj identifikator kljuÄŤa proizvoÄ‘aÄŤa (potreban --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Koristi navedeni server kljuÄŤeva za pretragu kljuÄŤeva" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Dodaj novi repozitorij iz navedene deb linije" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Navedi alternativnu datoteku sources.list.d gdje se trebaju dodati " "repozitoriji." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Lista kljuÄŤeva proizvoÄ‘aÄŤa s povjerenjem." #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Ukloni povjerljivi kljuÄŤ datog otiska." #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Ponovo će podesiti instalirane pakete. Opcionalno moĹľe biti naveden " "minimalni prioritet pitanja." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Minimalni prioritet pitanja deb podešavanja koja će biti prikazana" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Ne prilaĹľi uz apt terminal" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Dopusti pakete iz neautentiÄŤnih izvora" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "Prikazati dodatne informacije o paketima. Trenutno samo broj verzije" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "ÄŚekanje na prijavu" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Ne gasi demon zbog neaktivnosti" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Ne uÄŤitavaj nikakve prikljuÄŤke" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "PrikaĹľi interne procesneinformacije" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Napusti i zamijeni demon koji se već izvršava" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Osluškuje na magistrali DBus sesije (potrebno je samo za testiranje)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Izvršava operacije u datom chroot okruĹľenju" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Postavi stanja profila u navedenoj datoteci" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Ne mijenjaj izmjene sistema (Upotrebljivo samo za razvoj softvera)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Instalirana datoteka" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Instalirani paketi" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Dodan kljuÄŤ iz datoteke" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "AĹľuriran keš" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Pretraga je obavljena" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Ukljonjen povjerljivi kljuÄŤ" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Uklonjeni paketi" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "AĹľurirani paketi" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "AĹľuriran sistem" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Primijenjene promjene" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Popravljena nekompletna instalacija" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Popravljene oštećene zavisnosti" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Dodan softverski izvor" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Omogućena komponenta distribucije" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Uklonjene preuzete datoteke paketa" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Ponovo podešeni instalirani paketi" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Uspješno" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Poništeno" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Neuspelo" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Instaliranje datoteke" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Instaliranje paketa" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Dodaje se kljuÄŤ iz datoteke" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "OsvjeĹľavam meÄ‘uspremnik (cache)" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Uklanja se povjerljivi kljuÄŤ" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Uklanjanje paketa" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "AĹľuriranje paketa" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Nadogradnja sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Primjenjivanje promjena" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Popravak nekompletne instalacije" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Popravljam instaliran softver" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Dodaje se izvor softvera" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Omogućuje se komponenta distribucije" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Ponovo podešeni instalirani paketi" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Ponovo podešavam instalirane pakete" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "TraĹľim" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Instalacija paketne datoteke nije uspjela" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Instalacija softvera nije uspjela" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Dodavanje kljuÄŤa na listu prihvatljivih isporuÄŤilaca softvera neuspjelo" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "OsvjeĹľavanje liste softvera nije uspjelo" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Uklanjanje proizvoÄ‘aÄŤa iz liste povjerljivih nije uspjelo" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Uklanjanje softvera nije uspjelo" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "AĹľuriranje softvera nije uspjelo" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Nadogradnja sistema nije uspjela" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Primjena softveskih izmjena neuspjela" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Popravak nekompletne instalacije neupio" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Popravak oštećenih ovisnosti neuspio" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Dodavanje softverskih izvora neuspjelo" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Omogućavanje komponente distribucije neuspjlo" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Nisam uspio da uklonim preuzete datoteke paketa" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Pretraga nije uspjela" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Dodajem kljuÄŤ licence" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Provjerite vašu Internet konekciju." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Provjerite da li koristite repozitorije drugih proizvoÄ‘aÄŤa. Ako je to taÄŤno, " "onemogućite ih, pošto su oni ÄŤest izvor problema.\n" "Dalje izvršite sljedeću komandu u terminalu: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Selektovana datoteka moĹľda nije GPG key datoteka ili je moĹľda pokvarena." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Izabrani kljuÄŤ se ne moĹľe ukloniti. Provjerite da ste dali vaĹľeći otisak." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Provjerite da li izvršavate drugi alat za upravljavljanje softverom, npr. " "Synaptic ili aptitude. Samo jedan alat moĹľe da pravi promjene u jednom " "trenutku." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Ovo je ozbiljan problem. Probajte ponovo kasnije. Ako se problem opet " "dogodi, javite grešku onome ko je razvijao softver." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Provjerite kako se taÄŤno paket zove i da li je omogućen odgovarajući " "repozitorij." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Nema nikakve potrebe za aĹľuriranjem." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Nema nikakve potrebe za instaliranjem." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Nema nikakve potrebe za uklanjanje." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "Zahtijevali ste uklanjanje paketa koji je bitan dio vašeg sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Veza s demonom je izgubljena. Najvjerovatnije je pozadinski demon krahirao." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Instalacija ili uklanjanje softverskog paketa su neuspjeli." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "ZatraĹľena funkcija nije podrĹľana." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Izgleda da postoji greška u programiranju aptdaemon, softvera koji vam " "omogućava da instalirate / uklanjate softver kao i da vrši druge poslove u " "vezi sa upravljanjem paketa." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Ova greška moĹľe biti uzrokovana potrebnim dodatnim paketima koji nedostaju " "ili se ne mogu instalirati. Ĺ taviše, moĹľe biti konflikt izmeÄ‘u softverskih " "paketa koji nisu dopušteni da budu instalirani u isto vrijeme." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Ovo zahtijeva instalaciju paketa s neautentiÄŤnih izvora" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Instalacija je moĹľda neuspjela zbog greke u odgovarajućem softverskom paketu " "ili je prekinuto na neadekvatan naÄŤin. Trebate to popraviti prije " "instalacije ili uklanjanja daljnjeg softvera." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Molim kopirajte datoteku na vaš lokalni raÄŤunar i provjerite prava nad " "datotekom." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Instaliranje paketa koji krše standarde kvaliteta nije dozvoljeno. To moĹľe " "izazvati ozbiljne probleme na vašem raÄŤunaru. Molim kontaktirajte osobu ili " "organizaciju koja je obezbjedila ovaj paket i ukljuÄŤite detalje ispod." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Preuzeti kljuÄŤ licence koji je potreban za pokretanje ovog programa nije " "ispravan ili ne moĹľe biti ispravno instaliran.\n" "Pogledajte pojedinosti za više podataka." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Sve dostupne nadogradnje su već instalirane." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "KljuÄŤ licence koji vam omogućava da koristite ovaj program ne moĹľe biti " "preuzet. Provjerite vašu mreĹľnu vezu." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Nemate potrebna prava da obavite ovu akciju." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Ili ste dali pogrešnu lozinku ili otkazali punomoć.\n" "Nadalje, takoÄ‘er moĹľe biti tehniÄŤki razlog ove pogreške, ako niste vidjeli " "dijalog lozinki: vaše desktop okruĹľenje ne pruĹľa PolicyKit agenta sesije." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Neuspjeh u preuzimanju paketnih datoteka" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Neuspjeh u preuzimanju repozitorijskih informacija" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Paketske zavisnosti se ne mogu razriješiti" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Paketni sistem je oštećen" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "KljuÄŤ nije instaliran" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "KljuÄŤ nije uklonjen" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Neuspjeh u zakljuÄŤavanju paketnog menadĹľera" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Neuspjeh u uÄŤitavanju liste paketa" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paket ne postoji" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Paket je već aĹľuriran" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Paket je već instaliran" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Paket nije instaliran" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Neuspjelo uklanjanje bitnog sistemskog paketa" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Zadatak se ne moĹľe pratiti ili kontrolisati" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Operacija nad paketom nije uspjela" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Zahtijeva instalaciju nepovjerljivih paketa" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Prethodna instalacija nije završena" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Paket je lošeg kvaliteta" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Datoteka paketa ne moĹľe biti otvorena" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "NepodrĹľana funkcija" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Nisam uspio da preuzmem kljuÄŤ licence" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Nisam uspio da instaliram kljuÄŤ licence" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Sistem je već aĹľuriran" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Ne moĹľete biti autorizirani" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Nije vam dopušteno da obavite ovu akciju" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Desila se greška koja se ne moĹľe obraditi" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "ÄŚeka se start servisa" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "ÄŚekam" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "ÄŚeka se potrebni medijum" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "ÄŚekaju se drugi softverski menadĹľeri za izlaz" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "ÄŚeka se odziv datoteke za konfiguraciju" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Izvršavajući zadatak" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Preuzimanje" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Propitujem izvore softvera" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ÄŚišćenje" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Završeno" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Otkazujem" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "UÄŤitava se lista softvera" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Instaliranje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Konfiguriranje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Uklanjanje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Potpuno uklanjam %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "ZabiljeĹľen nestanak %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Pokrećem post-instalacijski okidaÄŤ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Nadogradnja %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Raspakujem %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Pripremam instalaciju %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Pripremam konfiguraciju %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Pripremam uklanjanje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Pripremam potpuno uklanjanje %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Instalirano %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Potpuno uklonjene %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Uklonjeno %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "ObraÄ‘ujem %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Završeno" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Provjera identiteta nije uspjela" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Dobavljanje" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Neaktivno" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "MreĹľa nije raspoloĹľiva" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalji" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Datoteka" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Preuzeto %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Preuzeto" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' je neophodan" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Ubacite gornji CD/DVD u ureÄ‘aj '%s' da instalirate softverske pakete iz " "njega." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_Nastavi" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instaliraj" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Instaliraj ponovo" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Ukloni" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Ukloni" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Nadogradi" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Degradiraj" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "PreskoÄŤi nadogradnju" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Pogledajte dolje listu promjena" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Dodatni softver treba biti instaliran" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Dodatni softver treba biti reinstaliran" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Dodatni softver treba biti uklonjen" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Dodatni softver treba biti oÄŤišćen" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Dodatni softver treba biti unaprijeÄ‘en" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Dodatni softver treba biti spušten na niĹľu verziju" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "UnaprjeÄ‘enja će biti preskoÄŤena" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Potrebne su dodatne promjene" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB će se ukupno uÄŤitati." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB disk prostora će biti osloboÄ‘eno." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB dodatnog disk prostora će biti korišteno." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Zamijeniti vaše izmjene u '%s' novijom verzijom konfiguracione datoteke?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Ako ne znate zašto je datoteka tu, obiÄŤno je bezbjedno zamijeniti je." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Izmjene" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_ZadrĹľi" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Zamijeni" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalji" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "ÄŚekam na „%s“ da završi" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Preuzimam „%(files)s“" msgstr[1] "Pruzimam „%(files)s“" msgstr[2] "Pruzimam „%(files)s“" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "lokalna riznica" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Preuzimam iz %s" msgstr[1] "Preuzimam iz %s" msgstr[2] "Preuzimam iz %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Struktura za %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Opis za %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Potpis opisa za %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Dostupni paketi iz %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Dostupni izvori iz %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Dostupni prevodi od %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Prevodi za %s (%s) od %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Prevodi za %s od %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Prijevodi (%s) iz %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Paket „%s“ nije dostupan" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Paket „%s“ nije instaliran" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Verzija %s „%s“ paketa nije instalirana" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Paket „%s“ je već instaliran" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Verzija %s „%s“ paketa nije dostupna." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "URL servera kljuÄŤ je neispravan: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "IPogrešan protokol servera: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "NevaĹľeći IB kljuÄŤa: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Nisam uspio da preuzmem i da instaliram kljuÄŤ „%s“ sa „%s“:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Datoteka kljuÄŤa „%s“ ne moĹľe biti instalirana: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "KljuÄŤ sa otiskom „%s“ ne moĹľe biti uklonjen: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Paket „%s“ ne moĹľe biti uklonjen." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Verzija %s „%s“ paketa nije instalirana" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Bivša verzija %s „%s“ paketa je već instalirana" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Verzija %s „%s“ paketa je već instalirana" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Verzija %s „%s“ paketa nije dostupna" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Treba da navedete verziju na koju će „%s“ biti spušten" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Kasnija verzija %s „%s“ paketa je već instalirana" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Paket „%s“ nije dostupan u izdanju %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Paket „%s“ ne moĹľe biti uklonjen" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Paket ne obezbjeÄ‘uje ispravno polje za kontrolu instalirane veliÄŤine. " "Pogledajte Debian sigurnosna pravila 5.6.20" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "KljuÄŤ licence je prazan" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Nije dozvoljeno da kljuÄŤ licence sadrĹľi izvršni kod." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Putanja kljuÄŤa licence %s nije ispravna." #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "KljuÄŤ licence već postoji: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Mjesto kljuÄŤa licence nije bezbedno jer sadrĹľi simboliÄŤne veze. Putanja %s " "ukaazuje na %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Direktorijum za instaliranje kljuÄŤa ne postoji još uvijek: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Nisam uspeo da zapišem datoteku kljuÄŤa u: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Sljedeći paketi imaju nezadovoljenje meÄ‘uzavisnosti:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "ali to je virtualni paket" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ali nije instaliran" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ali neće biti instaliran" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ali instaliran je „%s“" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ali će %s biti instaliran" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Dodavanje kljuÄŤa na listu povjerljivih proizvoÄ‘aÄŤa softvera nije uspjelo" aptdaemon-1.1.1/po/gd.po0000644000175000017500000014431412117271433015620 0ustar renaterenate00000000000000# Gaelic; Scottish translation for aptdaemon # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-02 17:46+0000\n" "Last-Translator: alasdair caimbeul \n" "Language-Team: Gaelic; Scottish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " "(n > 2 && n < 20) ? 2 : 3;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Liosta iuchraichean de reiceadairean earbsach" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut liosta nan iuchraichean " "earbsach fhaicinn." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Thoir air falbh faidhlichean phacaidean a chaidh a luchdadh a-nuas" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut faidhlichean phacaidean a " "sgioblachadh a chaidh a luchdadh a-nuas." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Atharraich rèiteachadh a' bhathar-bhog" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut roghainnean a' bhathar-" "bhog atharrachadh." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Atharraich ionad-tasgaidh a' bhathar-bhog" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut roghainnean ionad-tasgaidh " "a' bhathar-bhog atharrachadh." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "StĂ laich faidhle pacaid" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut a' phacaid seo a stĂ ladh." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Ă™raich fiosrachadh na pacaid" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut catalog a' bhathar-bhog " "Ăąrachadh." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "StĂ laich no thoir air falbh pacaidean" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut bathar-bog a stĂ ladh no a " "thoirt air falbh." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "StĂ laich bathar-bog bhon ionad-tasgaidh a liosta-gheal le lĂ n-earbsa." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Gus stĂ ladh bathar-bog, feumaidh tu dearbhachadh." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Cuir ionad-tasgaidh ris Ăąr agus stĂ laich pacaidean uaithe" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut mus urrainn dhut bathar-" "bog a stĂ ladh o thĂąs Ăąr." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Cuir ris ionad-tasgaidh Ăąr de bhathar-bog a chaidh a cheannach agus stĂ laich " "pacaidean uaithe" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut bathar-bog a chaidh a " "cheannach a stĂ ladh." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Ă€rdaich na pacaidean" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut bathar-bog Ăąraichte a " "stĂ ladh." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Sguir de shaothair cleachdaiche eile" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut sguir de dh'atharrachadh a " "rinn cuideigin eile air bathar-bog." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Suidhich progsaidh airson luchdaidhean a-nuas bathar-bog" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Feumaidh tu dearbhadh a dhèanamh mus urrainn dhut frithealaiche progsaidh a " "chleachdadh gus bathar-bog a luchdadh a-nuas." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "MEARACHD" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Chaidh %sB de %sB a luchdadh a-nuas aig %sB" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Chaidh %sB de %sB a luchdadh a-nuas" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "MEARACHD:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Chan eil cead agad seo a dhèanamh." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "A' ciuthadh" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "A' fuasgladh nan eisimeileachdan" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Thèid a' phacaid Ă™R a leanas a stĂ ladh (%(count)s):" msgstr[1] "Thèid na pacaidean Ă™RA a leanas a stĂ ladh (%(count)s):" msgstr[2] "Thèid na pacaidean Ă™RA a leanas a stĂ ladh (%(count)s):" msgstr[3] "Thèid na pacaidean Ă™RA a leanas a stĂ ladh (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Thèid a' phacaid a leanas Ă rdachadh (%(count)s):" msgstr[1] "Thèid na pacaidean a leanas Ă rdachadh (%(count)s):" msgstr[2] "Thèid na pacaidean a leanas Ă rdachadh (%(count)s):" msgstr[3] "Thèid na pacaidean a leanas Ă rdachadh (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Thèid a' phacaid a leanas a thoirt air falbh (%(count)s):" msgstr[1] "Thèid na pacaidean a leanas a thoirt air falbh (%(count)s):" msgstr[2] "Thèid na pacaidean a leanas a thoirt air falbh (%(count)s):" msgstr[3] "Thèid na pacaidean a leanas a thoirt air falbh (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Thèid a' phacaid a leanas ìsleachadh (%(count)s):" msgstr[1] "Thèid na pacaidean a leanas ìsleachadh (%(count)s):" msgstr[2] "Thèid na pacaidean a leanas ìsleachadh (%(count)s):" msgstr[3] "Thèid na pacaidean a leanas ìsleachadh (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Thèid a' phacaid a leanas ath-stĂ ladh (%(count)s):" msgstr[1] "Thèid na pacaidean a leanas ath-stĂ ladh (%(count)s):" msgstr[2] "Thèid na pacaidean a leanas ath-stĂ ladh (%(count)s):" msgstr[3] "Thèid na pacaidean a leanas ath-stĂ ladh (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Thèid a'phacaid a leanas a chumail air ais (%(count)s):" msgstr[1] "Thèid na pacaidean a leanas an cumail air ais (%(count)s):" msgstr[2] "Thèid na pacaidean a leanas an cumail air ais (%(count)s):" msgstr[3] "Thèid na pacaidean a leanas an cumail air ais (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Feumaidh sinn %sB de thasglannan fhaighinn." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "Bidh %sB a dh'Ă ite a bharrachd air an diosg air a chleachdadh an dèidh seo." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" "Bidh %sB a dh'Ă ite a bharrachd air an diosg air a shaoradh an dèidh seo." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "A bheil thu airson leantainn air adhart? [T/C]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Gus obair a dhèanamh air barrachd air aon phacaid, cuir ainmean nam " "pacaidean ann am comharran-labhairt:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Ath-nuadhaich an tasgadan" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Feuch is rèitich eisimeileachdan briste. Dh'fhaodadh seo a bhith cunnartach " "oir dh'fhaoidte gun rachadh cus phacaidean a thoirt air falbh." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Feuch is coilean stĂ ladh nach deach a choileanadh roimhe" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "StĂ laich na pacaidean a tha ann" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Ath-stĂ laich na pacaidean a tha ann" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Thoir air falbh na pacaidean a tha ann" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "Thoir air falbh na pacaidean a tha ann, a' gabhail a-steach faidhlichean " "rèiteachaidh" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "ĂŚslich na pacaidean a tha ann" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Cha mholar seo tuilleadh: Cleachd --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Ă™raich an siostam air dòigh shĂ bhailte" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Ă™raich an siostam; dh'fhaoidte gun dèid pacaidean a stĂ ladh 's a thoirt air " "falbh ri linn sin" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Cuir an reiceadair ris an fheadhainn earbsach" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Cuir keyid an reiceadair (bidh feum air --keyserver cuideachd)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Cleachd an keyserver a tha ann gus iuchraichean a lorg" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Cuir ionad-tasgaidh Ăąr ris on deb-line a tha ann" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Sònraich faidhle sources.list.d eile a thèid ionadan-tasgaidh a chur ris." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Seall iuchraichean de reiceadairean earbsach" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Thoir air falbh iuchair earbsach a' mheur-luirg a tha ann" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Ath-rèitich pacaidean stĂ laichte. Ma thogras tu, 's urrainn dhut am " "prìomhachas as lugha airson ceistean a shònrachadh" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Am prìomhachas debconf as lugha de cheistean a thèid a shealltainn" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Na ceangail ris an tèirmineal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Ceadaich pacaidean o bhun-tĂąsan nach deach an dearbhadh" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Seall fiosrachadh a bharrachd mu na pacaidean. Chan eil 'ga shealltainn an-" "drĂ sta ach Ă ireamh an tionndaidh" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "A' feitheamh ri dearbhadh" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Na dĂąin sìos an daemon mur eil gnìomhachd ann" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Na luchdaich plugain sam bith" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Seall fiosrachadh giollachd inntearnail" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "FĂ g agus cuir an Ă ite an daemon tha a' ruith mar-thĂ " #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" "Ăist air a' bhus seisein DBus (Chan eil feum air seo ach a chum deuchainn)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Dèan obrachaidhean sa chroot a tha ann" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Stòr stats na pròifil san fhaidhle a chaidh a shònrachadh" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Na dèan atharraichean sam bith air an t-siostam (Feumail do luchd-" "leasachaidh a-mhĂ in)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Chaidh am faidhle a stĂ ladh" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Chaidh na pacaidean a stĂ ladh" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Chaidh an iuchair a chur ris on fhaidhle" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Chaidh an tasgadan Ăąrachadh" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Sireadh dèante" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Chaidh iuchair earbsach a thoirt air falbh" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Chaidh na pacaidean a thoirt air falbh" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Chaidh na pacaidean Ăąrachadh" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Chaidh an siostam Ă rdachadh" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Chaidh na h-atharraichean a chur an sĂ s" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Chaidh an stĂ ladh neo-choileanta a chĂ radh" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Chaidh na h-eisimeileachdan briste a chĂ radh" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Chaidh am bun-tĂąs bathar-bog a chur ris" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Chaidh co-phĂ irt an sgaoilidh a chur an comas" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" "Chaidh na faidhlichean phacaidean a chaidh an luchdadh a-nuas a thoirt air " "falbh" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Chaidh na pacaidean stĂ laichte ath-rèiteachadh" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Soirbheachail" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Sguireadh dheth" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Dh'fhĂ illig e" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "A' stĂ ladh an fhaidhle" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "A' stĂ ladh nam pacaidean" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "A' cur ris na h-iuchrach on fhaidhle" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Ag Ăąrachadh an tasgadain" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "A' toirt air falbh na h-iuchrach earbsach" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "A' toirt air falbh nam pacaidean" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Ag Ăąrachadh nam pacaidean" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Ag Ă rdachadh an t-siostaim" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "A' cur an sĂ s nan atharraichean" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "A' cĂ radh an stĂ laidh neo-choileanta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "A' cĂ ireadh bathar-bog stĂ laichte" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "A' cur ris bun-tĂąs bathar-bog" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "A' cur an comas co-phĂ irt an sgaoilidh" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" "A' toirt air falbh faidhlichean phacaidean a chaidh a luchdadh a-nuas" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Ag ath-rèiteachadh nam pacaidean stĂ laichte" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Sireadh" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Dh'fhĂ illig stĂ ladh faidhle na pacaid" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Dh'fhĂ illig stĂ ladh a' bhathar-bhog" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Dh'fhĂ illig a' cur iuchair ris an liosta reiceadairean bathar-bog earbsach" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Dh'fhĂ illig ath-nuadhachadh liosta a' bhathar-bhog" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Cha b' urrainn dhuinn an reiceadair a thoirt air falbh o liosta na feadhainn " "earbsach" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Dh'fhĂ illig toirt air falbh a' bhathar-bhog" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Dh'fhĂ illig Ăąrachadh a' bhathar-bhog" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Dh'fhĂ illig Ă rdachadh an t-siostaim" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" "Cha b' urrainn dhuinn na h-atharraichean air a' bhathar-bhog a chur an sĂ s" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Dh'fhĂ illig cĂ radh an stĂ laidh neo-choileanta" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Dh'fhĂ illig cĂ radh nan eisimeileachdan briste" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Cha b' urrainn dhuinn bun-tĂąs a' bhathar-bhog a chur ris" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Cha b' urrainn dhuinn co-phĂ irt an sgaoilidh a chur an comas" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" "Cha b' urrainn dhuinn na faidhlichean phacaidean a chaidh a luchdadh a-nuas " "a thoirt air falbh" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Dh'fhĂ illig sireadh" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "A' cur ris iuchair cead" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Thoir sĂąil air a' cheangal agad ris an eadar-lìon." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Thoir sĂąil a bheil thu a' cleachdadh ionadan-tasgaidh le treas-phĂ rtaidhean. " "Ma tha, cuir Ă  comas iad oir bidh iad ag adhbharachadh duilgheadasa gu " "tric.\n" "A bharrachd air sin, ruith an Ă ithne a leanas san tèirmineal: apt-get " "install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Dh'fhaoidte nach e faidhle iuchrach CPG a tha san fhaidhle a thagh thu no 's " "mathaid gu bheil e coirbte." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Cha b'urrainn dhuinn an iuchair a thagh thu a thoirt air falbh. Dèan " "cinnteach gun do sholair thu lorg-meur dligheach." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Thoir sĂąil a bheil thu a' ruith inneal stiĂąireadh bathar-bog eile an-drĂ sta, " "m.e. Synaptic no Aptitude. Chan fhaod ach aon inneal rudan atharrachadh aig " "an aon Ă m." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "'S e trioblaid mhòr a tha seo. Feuch ris a-rithist an ceann greis. Ma " "nochdas an trioblaid a-rithist, dèan aithisg air an trioblaid dhan luchd-" "leasachaidh." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Thoir sĂąil air litreachadh ainm na pacaid agus gu bheil an t-ionad-tasgaidh " "iomchaidh an comas." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Chan eil feum air Ăąrachadh sam bith." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Chan eil feum air stĂ ladh sam bith." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Chan eil feum air rud sam bith a thoirt air falbh." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Dh'iarr thu pacaid a thoirt air falbh a tha 'na phĂ irt riatanach dhen t-" "siostam agad." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Chaidh an ceangal ris an daemon air chall. 'S mathaid gun do thuislich " "daemon a' chĂąlaibh." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Dh'fhĂ illig stĂ ladh no toirt air falbh de phacaid bathar-bog." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Chan eil an iarrtas feart ga taiceadh." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Tha coltas gu bheil mearachd prògramachaidh ann an aptdaemon, am bathar-bog " "a leigeas leat bathar-bog a stĂ ladh no a thoirt air falbh agus rudan eile a " "dhèanamh a thaobh stiĂąireadh phacaidean." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Dh'fhaoidte gun do dh'èirich a' mhearachd seo a chionn 's gun robh feum air " "pacaidean bathar-bog a bha a dhìth no nach gabh stĂ ladh. Air neo dh'fhaoidte " "gun robh còmhstri eadar pacaidean bathar-bog nach urrainnear stĂ ladh aig an " "aon Ă m." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Tha seo ag iarraidh stĂ ladh pacaidean bho bunan-tĂąs neo-dearbhaichte." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Dh'fhaoidte gun do dh'fhĂ illig an stĂ ladh air sgĂ th mearachd sa phacaid " "bhathar-bhog cho-cheangailte no chaidh sguireadh dheth air dòigh neo-" "chĂ irdeil. Feumaidh tu seo a chĂ radh mus urrainn bathar-bog sam bith eile a " "stĂ ladh no a thoirt air falbh." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Cuir lethbhreac dhen fhaidhle air a' choimpiutair ionadail agad agus thoir " "sĂąil air ceadan an fhaidhle." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Chan eil e ceadaichte pacaid a stĂ ladh a bhriseas stannardan na cĂ ileachd. " "Faodaidh gun èirich trioblaidean mòra dhan choimpiutair agad ri linn seo. " "Cuir fios dhan neach no dhan bhuidheann a thug dhut am faidhle pacaid agus " "thoir dhaibh am mion-fhiosrachadh gu h-ìosal." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Chan eil an iuchair cead luchdaichte a-nuas a tha riatanach son ruith am " "pìos bathar-bog seo dligheach, no cha b'urrainn a stĂ ladh ceart.\n" "Faic na mion-chunntasan son barrachd fiosrachadh." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Chaidh h-uile leasachaidhean ri fhaighinn gan stĂ ladh mar thĂ ." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Cha b'urrainn luchdadh a-nuas an iuchair cead a tha leigeil leat cleachdadh " "am pìos bathar-bog seo. SgrĂąd sibh a' cheangal lìonra agaibh." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Chan eil na pribhleidean riatanach agad an gnìomh seo a dhèanamh." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Sholaraich thu an facail-faire ceĂ rr no chur thu dheth an Ăąghdarrachaidh.\n" "A bhĂ rr air sin dh'fhaodadh gu bheil adhbhar teicnigeach ann airson a' " "mhearachd seo ma 's e 's nach do chunnaic thu co-labhairt an fhacal-faire: " "chan eil do Ă rainneachd bĂ rr-deasc a' solarachadh Ă idseant seisein PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Dh'fhĂ illig luchdadh a-nuas nam faidhlichean phacaidean" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Dh'fhĂ illig luchdadh a-nuas fiosrachadh an ionaid-tasgaidh" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Cha ghabh eisimeileachdan na pacaid fhuasgladh" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Tha siostam na pacaid briste" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Cha deach an iuchair a stĂ ladh" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Cha deach an iuchair a thoirt air falbh" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Dh'fhĂ illig glasadh manaidsear nam pacaidean" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Dh'fhĂ illig luchdadh liosta nam pacaidean" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Chan eil a' phacaid ann" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Pacaid mar thĂ  a dh'ionnsaigh an lĂ " #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Tha a' phacaid stĂ laichte mar-thĂ " #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Chan eil a' phacaid stĂ laichte" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" "Cha b' urrainn dhuinn pacaid riatanach an t-siostaim a thoirt air falbh" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Cha ghabh sĂąil no smachd a chumail air an t-saothair seo" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Dh'fhĂ illig obrachadh na pacaid" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Feumaidh seo stĂ ladh de phacaidean anns nach eil earbsa" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Cha deach an stĂ lachadh roimhe a choileanadh" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Tha a' phacaid de dhroch-chĂ ileachd" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Cha b' urrainn dhuinn a' phacaid fhosgladh" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Feart gun taic" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Dh'fhĂ illig luchdadh a-nuas an iuchair cead" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Dh'fhĂ illig stĂ ladh an iuchair cead" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Tha an t-siostam seo mar thĂ  a dh'ionnsaigh an lĂ " #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Cha b'urrainn dhut a bhith Ăąghdarraichte" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Chan eil e ceadaichte dhut an gnìomh seo a dhèanamh" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Thachair mearachd nach gabh a lĂ imhseachadh" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "A' feitheamh ri tòiseachadh seirbheise" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "A' feitheamh" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "A' feitheamh ri meadhan riatanach" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "A' feitheamh ri dĂąnadh de mhanaidsearan bathar-bog eile" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "A' feitheamh ri brodadh airson faidhle a rèiteachadh" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Saothair 'na ruith" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "'Ga luchdadh a-nuas" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "A' ceisteachadh bunan-tĂąs bathar-bog" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "'Ga sgioblachadh" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Deiseil" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "A' sgur dheth" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "A' luchdadh liosta a' bhathar-bhog" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "A' stĂ ladh %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "A' rèiteachadh %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "A' toirt air falbh %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "A' toirt Ă s %s gu lèir" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Sònrachadh teicheadh de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "A' ruith trigear post-installation %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Ag Ă rdachadh %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Neo-phacadh %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Ag ullachadh stĂ lachadh de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Ag ullachadh rèiteachadh de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Ag ullachadh a' toirt Ă s %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Ag ullachadh a' toirt Ă s %s gu lèir" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s StĂ laichte" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s ga thoirt Ă s gu lèir" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s ga thoirt Ă s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Giollachd %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Dèanta" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Dh'fhĂ illig an dearbhadh" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "'Ga fhaighinn" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "'Na thĂ mh" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Chan eil an lìonra ri fhaighinn" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Mion-fhiosrachadh" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Faidhle" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Chaidh %sB a luchdadh a-nuas" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Air a luchdadh a-nuas" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Tha feum air an CD/DVD \"%s\"" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Cuir a-steach an CD/DVD gu h-Ă rd dhan draibh \"%s\" gus pacaidean bathar-bog " "a stĂ ladh uaithe." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "L_ean air adhart" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "StĂ laich" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Ath-stĂ laich" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Thoir air falbh" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Purgaidich" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Ă€rdaich" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "ĂŚslich" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Gearr leum thairis air an Ă rdachadh" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Thoir sĂąil air liosta nan atharraichean a leanas." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Feumaidh tu bathar-bog a bharrachd a stĂ ladh" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Feumaidh tu bathar-bog a bharrachd a ath-stĂ ladh" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Feumaidh tu bathar-bog a bharrachd a thoirt air falbh" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Feumaidh tu bathar-bog a bharrachd a phurgaideachadh" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Feumaidh tu bathar-bog a bharrachd Ă rdachadh" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Feumaidh tu bathar-bog a bharrachd ìsleachadh" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Thèid leum a ghearradh thairis air na h-Ăąrachaidhean" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Tha feum air atharraichean a bharrachd" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Thèid %sB a luchdadh a-nuas uile gu lèir." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Thèid %sB a rum air an diosga a shaoradh." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Bidh feum air %sB a bharrachd air an diosga." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "A bheil thu airson tionndadh nas Ăąire an fhaidhle rèiteachaidh a chur an " "Ă ite nan atharraichean agad ann an \"%s\"?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Mur eil fhios agad carson a tha am faidhle ann, bidh e ceart gu leòr ma " "chuireas tu rud 'na Ă ite." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Atharraichean" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Glèidh" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Cuir 'na Ă ite" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Mion-fhiosrachadh" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "A' feitheamh ri dĂąnadh %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "A' luchdachadh a-nuas %(files)s" msgstr[1] "A' luchdachadh a-nuas %(files)s" msgstr[2] "A' luchdachadh a-nuas %(files)s" msgstr[3] "A' luchdachadh a-nuas %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "Ionad-tasgaidh ionadail" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Luchdachadh a-nuas bho %s" msgstr[1] "Luchdachadh a-nuas bho %s" msgstr[2] "Luchdachadh a-nuas bhon %s" msgstr[3] "Luchdachadh a-nuas bhon %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Structar de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Dealbh-chunntas de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Earr-sgrìobhadh dealbh-chunntas de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Pacaidean ri fhaighinn bho %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Bunan-tĂąs ri fhaighinn bho %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Eadar-theangachadh ri fhaighinn bho %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Eadar-theangachadh son %s (%s) bho %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Eadar-theangachadh son %s bho %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Eadar-theangachaidhean (%s) bho %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Chan eil a' phacaid %s ri fhaighinn" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Cha deach a' phacaid %s a stĂ ladh" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Chan eil an tionndaidh %s de %s air a stĂ ladh" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Tha a' phacaid %s stĂ laichte mar-thĂ " #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Chan eil an tionndadh %s de %s ri fhaighinn." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Tha URL frithealaiche-iuchair mì-dhligheach: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Pròtacal mì-dhligheach an fhrithealaiche: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "id (da) iuchair mì-dhligheach: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Dh'fhĂ illig luchdadh a-nuas agus stĂ ladh na h-iuchrach %s o %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Cha b' urrainn dhuinn faidhle na h-iuchrach %s a stĂ ladh: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" "Cha b' urrainn dhuinn an iuchair leis a' mheur-lorg %s a thoirt air falbh: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Cha ghabh a' phacaid %s a thoirt air falbh." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Chan eil an tionndadh %s de %s air a stĂ ladh" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Tha an seann-tionndadh %s de %s air a stĂ ladh mar-thĂ " #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Tha an tionndadh %s de %s air a stĂ ladh mar-thĂ " #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Chan eil an tionndadh %s de %s ri fhaighinn" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" "Feumaidh tu tionndadh a shònrachadh mus urrainn dhut %s ìsleachadh thuige" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Tha an seann-tionndadh %s de %s air a stĂ ladh mar-thĂ " #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Chan eil a' phacaid %s ri fhaighinn san sgaoileadh %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Cha ghabh a' phacaid %s a thoirt air falbh" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Chan eil a' phacaid a' solar raon smachd Installed-Size dligheach. Thoir " "sĂąil air poileasaidh Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Tha an iuchair cead falamh" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Chan fhaod an iuchair cead glèidheadh còd gnìomhachail." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Tha an t-slighe iuchair cead %s neo-dhligheach" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Tha an iuchair cead ann mar thĂ : %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Tha an Ă ite den iuchair cead neo-thèarainte sgĂ th tha e glèidheadh " "ceangailean samhlachail. Tha an t-slighe %s na mhapa gu %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Chan eil an t-eòlaire ann far a stĂ ladh an iuchair fhathast: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Dh'fhĂ illig sgrìobhadh faidhle iuchair gu: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" "Tha eisimeileachdan air na pacaidean a leanas nach deach an coileanadh:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "ach tha e 'na phacaid bhiortail" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ach chan eil e stĂ laichte" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ach cha dèid a stĂ ladh" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "Ach tha %s stĂ laichte" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ach tha %s ri stĂ ladh" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Cha b' urrainn dhuinn an iuchair a chur ri liosta nan reiceadairean bathar-" #~ "bog" aptdaemon-1.1.1/po/fr.po0000644000175000017500000014047212117271433015636 0ustar renaterenate00000000000000# French translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-16 21:09+0000\n" "Last-Translator: Pierre Slamich \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Lister les clĂ©s des fournisseurs de confiance" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Pour afficher la liste des clĂ©s de confiance, vous devez vous authentifier." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Supprimer les paquets tĂ©lĂ©chargĂ©s" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Vous devez vous authentifier pour supprimer les paquets tĂ©lĂ©chargĂ©s." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Modifier la configuration du logiciel" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Vous devez vous authentifier pour modifier la configuration du logiciel." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Modifier le dĂ©pĂ´t logiciel" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Pour modifier la configuration des dĂ©pĂ´ts logiciels, vous devez vous " "authentifier." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Installer un paquet" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Vous devez vous authentifier pour installer ce paquet." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Mettre Ă  jour les informations sur les paquets" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "Vous devez vous authentifier pour mettre Ă  jour la liste des logiciels " "disponibles." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Installer ou supprimer des paquets" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Vous devez vous authentifier pour installer ou supprimer des logiciels." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Installer le logiciel Ă  partir d'un dĂ©pot marquĂ© comme très fiable." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Vous devez vous authentifier pour installer des logiciels." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Ajouter un nouveau dĂ©pĂ´t et installer des paquets depuis celui-ci" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Vous devez vous authentifier pour installer le logiciel depuis une nouvelle " "source." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Ajouter un nouveau dĂ©pĂ´t de logiciels Ă  acheter et installer des paquets " "depuis celui-ci" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Vous devez vous authentifier pour installer le logiciel achetĂ©." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Mettre Ă  jour les paquets" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Vous devez vous authentifier pour mettre Ă  jour des logiciels." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Annuler la tâche d'un autre utilisateur" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Vous devez vous authentifier pour annuler les modifications sur les " "logiciels d'un autre utilisateur." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "DĂ©finir un serveur mandataire pour le tĂ©lĂ©chargement des logiciels" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Vous devez vous authentifier pour utiliser un serveur mandataire pour " "tĂ©lĂ©charger des logiciels." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERREUR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%s octets sur %s octets tĂ©lĂ©chargĂ©s Ă  %s octets/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%s octets sur %s octets tĂ©lĂ©chargĂ©s" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERREUR :" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Vous n'ĂŞtes pas autorisĂ©(e) Ă  rĂ©aliser cette action." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Mise en file d'attente" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "RĂ©solution des dĂ©pendances" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Le NOUVEAU paquet suivant sera installé :" msgstr[1] "Les %(count)s) NOUVEAUX paquets suivants seront installĂ©s :" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Le paquet suivant sera mis Ă  jour :" msgstr[1] "Les %(count)s paquets suivants seront mis Ă  jour :" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Le paquet suivant sera SUPPRIMÉ :" msgstr[1] "Les %(count)s paquets suivants seront SUPPRIMÉS :" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Le paquet suivant sera remplacĂ© par une version ANTÉRIEURE :" msgstr[1] "" "Les %(count)s paquets suivants seront remplacĂ©s par une version ANTÉRIEURE :" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Le paquet suivant sera rĂ©installé :" msgstr[1] "Les %(count)s paquets suivants seront rĂ©installĂ©s :" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Le paquet suivant a Ă©tĂ© conservé :" msgstr[1] "Les %(count)s paquets suivants ont Ă©tĂ© conservĂ©s :" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "%s octets doivent ĂŞtre tĂ©lĂ©chargĂ©s." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Après cette opĂ©ration, %s octets d'espace disque sera utilisĂ©." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Après cette opĂ©ration, %s octets d'espace disque sera libĂ©rĂ©." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Voulez-vous continuer [O/n] ?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Pour traiter plusieurs paquets Ă  la fois, placez leurs noms entre " "guillemets :\n" "aptdcon --install \"truc machin\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "RafraĂ®chir le cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Tente de rĂ©parer les dĂ©pendances cassĂ©es. Cette opĂ©ration est " "potentiellement dangereuse, car elle peut conduire Ă  la suppression de " "nombreux paquets." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Tente d'achever une installation prĂ©cĂ©dente incomplète" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Installe les paquets spĂ©cifiĂ©s" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "RĂ©installe les paquets spĂ©cifiĂ©s" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Supprime les paquets spĂ©cifiĂ©s" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "Supprime complĂ©tement les paquets spĂ©cifiĂ©s y compris les fichiers de " "configuration" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Revenir Ă  la version prĂ©cĂ©dente des paquets spĂ©cifiĂ©s" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "DĂ©conseillé : veuillez utiliser --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Met Ă  jour le système de manière sĂ»re" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Met Ă  jour le système avec d'Ă©ventuels ajouts et suppressions de paquets" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Ajoute aux fournisseurs de confiance" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Ajoute la clĂ© du fournisseur (nĂ©cessite aussi --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Utilise le serveur de clĂ©s spĂ©cifiĂ© pour la recherche de clĂ©s" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Ajoute un nouveau dĂ©pĂ´t Ă  partir de la ligne deb spĂ©cifiĂ©e" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "SpĂ©cifie un fichier sources.list.d alternatif auquel les dĂ©pĂ´ts doivent ĂŞtre " "ajoutĂ©s" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Liste les clĂ©s des fournisseurs de confiance" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Supprime la clĂ© de confiance ayant l'empreinte spĂ©cifiĂ©e" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigure les paquets installĂ©s. Il est possible de rĂ©gler la prioritĂ© des " "questions." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "PrioritĂ© debconf minimale de la question Ă  afficher" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Ne pas attacher au terminal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Autorise les paquets provenant de sources non authentifiĂ©es" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Affiche des informations supplĂ©mentaires sur les paquets. Actuellement " "uniquement le numĂ©ro de version" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "En attente d'authentification" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Ne pas quitter le dĂ©mon s'il est inactif" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Ne charger aucune extension" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Affiche les informations de traitement interne" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Quitte et relance un dĂ©mon en cours d'exĂ©cution" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" "En Ă©coute sur le bus de session DBus (requis uniquement pour des tests" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Effectue les opĂ©rations dans l’environnement chroot spĂ©cifiĂ©" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Enregistre les statistiques du profil dans le fichier spĂ©cifiĂ©" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Ne faire aucune modification sur le système (utile uniquement pour les " "dĂ©veloppeurs)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Fichier installĂ©" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paquets installĂ©s" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "ClĂ© ajoutĂ©e depuis un fichier" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Cache mis Ă  jour" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Recherche terminĂ©e" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "ClĂ© de confiance supprimĂ©e" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Paquets supprimĂ©s" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Paquets mis Ă  jour" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Système mis Ă  niveau" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Changements appliquĂ©s" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Installation incomplète rĂ©parĂ©e" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "DĂ©pendances cassĂ©es rĂ©parĂ©es" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Source de logiciels ajoutĂ©e" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Composant de la distribution activĂ©" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Paquets tĂ©lĂ©chargĂ©s supprimĂ©s" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Paquets installĂ©s reconfigurĂ©s" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Succès" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "AnnulĂ©" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Échec" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installation du fichier" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installation des paquets" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Ajout de la clĂ© depuis un fichier" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Mise Ă  jour du cache" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Suppression de la clĂ© de confiance" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Suppression des paquets" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Mise Ă  jour des paquets" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Mise Ă  niveau du système" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Application des changements" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "RĂ©paration d'une installation incomplète" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "RĂ©paration des logiciels installĂ©s" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Ajout d'une source de logiciels" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Activation d'un composant de la distribution" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Suppression des paquets tĂ©lĂ©chargĂ©s" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Reconfiguration des paquets installĂ©s" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Recherche en cours" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "L'installation du paquet a Ă©chouĂ©" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "L'installation du logiciel a Ă©chouĂ©" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "L'ajout de la clĂ© Ă  la liste des Ă©diteurs de logiciels de confiance a Ă©chouĂ©." #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "L'actualisation de la liste des logiciels a Ă©chouĂ©" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "La suppression du fournisseur de logiciels de la liste des fournisseurs de " "confiance a Ă©chouĂ©" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "La suppression des logiciels a Ă©chouĂ©" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "La mise Ă  jour du logiciel a Ă©chouĂ©" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "La mise Ă  niveau du système a Ă©chouĂ©" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "La modification des logiciels a Ă©chouĂ©" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "La rĂ©paration d'une installation incomplète a Ă©chouĂ©" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "La rĂ©paration des dĂ©pendances cassĂ©es a Ă©chouĂ©" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "L'ajout de la source de logiciels a Ă©chouĂ©" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "L'activation du composant de la distribution a Ă©chouĂ©" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "La suppression des paquets tĂ©lĂ©chargĂ©s a Ă©chouĂ©" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "La recherche a Ă©chouĂ©" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Ajout de la clĂ© de licence" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "VĂ©rifiez votre connexion Ă  Internet" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "VĂ©rifiez si vous utilisez des dĂ©pĂ´ts de tierces parties. Si c'est le cas, " "dĂ©sactivez-les car ils sont parfois source de problèmes.\n" "De plus, exĂ©cutez la commande suivante dans un terminal : sudo apt-get " "install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Le fichier sĂ©lectionnĂ© ne semble pas ĂŞtre une clĂ© GPG ou alors il est " "corrompu." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Impossible de supprimer la clĂ© sĂ©lectionnĂ©e. VĂ©rifiez que l'empreinte " "spĂ©cifiĂ©e est valide." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "VĂ©rifiez si vous n'exĂ©cutez pas un autre gestionnaire de paquets, comme " "Synaptic ou Aptitude. Un seul outil Ă  la fois est autorisĂ© Ă  apporter des " "changements." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Ceci un problème sĂ©rieux. Veuillez rĂ©essayer plus tard. Si le problème " "persiste, signalez-le aux dĂ©veloppeurs." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "VĂ©rifiez que le nom du paquet est Ă©crit correctement et que le dĂ©pĂ´t " "appropriĂ© est actif." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Aucune mise Ă  jour n'est nĂ©cessaire." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Aucune installation n'est nĂ©cessaire" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Aucune suppression n'est nĂ©cessaire." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Vous avez demandĂ© Ă  supprimer un paquet essentiel au fonctionnement du " "système." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "La connexion au dĂ©mon a Ă©tĂ© perdue. C'est probablement parce que le dĂ©mon a " "quittĂ© inopinĂ©ment." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "L'installation ou la suppression d'un paquet logiciel a Ă©chouĂ©." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "La fonctionnalitĂ© demandĂ©e n'est pas prise en charge." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Il semble qu'il y ait une erreur logicielle dans aptdaemon, le programme qui " "vous permet d'installer et supprimer des logiciels et tout autre tâche liĂ©e " "Ă  la gestion des paquets." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Cette erreur peut ĂŞtre provoquĂ©e par des paquets supplĂ©mentaires requis, " "mais absents ou non installables. En outre, il pourrait y avoir un conflit " "entre certains paquets qui ne peuvent pas ĂŞtre installĂ©s en mĂŞme temps." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Cela nĂ©cessite l'installation de paquets depuis des sources non " "authentifiĂ©es." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "L'installation a pu Ă©chouer du fait d'une erreur dans le paquet ou parce " "qu'elle a Ă©tĂ© interrompue brutalement. Vous devez corriger ceci avant de " "pouvoir installer ou supprimer d'autres logiciels." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Veuillez copier le fichier sur votre ordinateur et en vĂ©rifier les " "permissions." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "L'installation d'un paquet qui ne respecte pas les standards de qualitĂ© " "n'est pas autorisĂ©e. Cela pourrait engendrer de graves problèmes sur votre " "ordinateur. Veuillez contacter la personne ou l'organisation qui a fourni ce " "paquet en incluant les renseignements ci-dessous." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "La clĂ© de licence tĂ©lĂ©chargĂ©e qui est nĂ©cessaire pour lancer ce logiciel " "n'est pas valable ou n'a pas pu ĂŞtre installĂ©e correctement.\n" "Voir les dĂ©tails pour plus d'informations." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Toutes les mises Ă  jour disponibles ont dĂ©jĂ  Ă©tĂ© installĂ©es." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "La clĂ© de licence qui vous permet d'utiliser ce logiciel n'a pas pu ĂŞtre " "tĂ©lĂ©chargĂ©e. Veuillez vĂ©rifier votre connexion rĂ©seau." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" "Vous n'avez pas obtenu les privilèges requis pour exĂ©cuter cette action." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Vous avez dĂ©jĂ  rentrĂ© un mauvais mot de passe ou fermĂ© l'instance " "d'autorisation.\n" "Il est Ă©galement possible qu'il y ait une raison technique Ă  cette erreur si " "vous n'avez pas vu de dialogue de demande de mot de passe : votre " "environnement de bureau ne fourni pas un agent de session PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Le tĂ©lĂ©chargement des paquets a Ă©chouĂ©" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Le tĂ©lĂ©chargement des informations du dĂ©pĂ´t a Ă©chouĂ©" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Impossible de rĂ©soudre les dĂ©pendances du paquet" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Le système de paquets est cassĂ©" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "La clĂ© n'a pas Ă©tĂ© installĂ©e" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "La clĂ© n'a pas Ă©tĂ© supprimĂ©e" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Impossible de verrouiller le gestionnaire de paquets" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Impossible de charger la liste des paquets" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Le paquet n'existe pas" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Le paquet est dĂ©jĂ  Ă  jour" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Le paquet est dĂ©jĂ  installĂ©" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Le paquet n'est pas installĂ©" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Impossible de supprimer un paquet essentiel du système" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "La tâche ne peut ĂŞtre ni surveillĂ©e, ni contrĂ´lĂ©e" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Échec du traitement du paquet" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "NĂ©cessite l'installation de paquets non vĂ©rifiĂ©s" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "L'installation prĂ©cĂ©dente Ă©tait incomplète" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Le paquet est de mauvaise qualitĂ©" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Impossible d'ouvrir le paquet" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "FonctionnalitĂ© non prise en charge" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Échec du tĂ©lĂ©chargement de la clĂ© de licence" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Échec lors de l'installation de la clĂ© de licence" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Le système est dĂ©jĂ  Ă  jour" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Vous n'avez pas pu ĂŞtre autorisĂ©" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Vous n'ĂŞtes pas autorisĂ© Ă  exĂ©cuter cette action" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Une erreur impossible Ă  traiter est survenue" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "En attente de dĂ©marrage du service" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "En attente" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "En attente du mĂ©dia requis" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "En attente de l'arrĂŞt d'un autre gestionnaire de paquets" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "En attente d'une demande de configuration" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Tâche en cours d'exĂ©cution" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "TĂ©lĂ©chargement" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Interrogation des Sources de Logiciels" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Nettoyage" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "TerminĂ©" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Annulation" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Chargement de la liste des logiciels" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installation de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configuration de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Suppression de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Suppression complète de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Disparition de %s constatĂ©e" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "ExĂ©cution des actions diffĂ©rĂ©es pour %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Mise Ă  jour de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "DĂ©compression de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "PrĂ©paration de l'installation de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "PrĂ©paration de la configuration de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "PrĂ©paration de la suppression de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "PrĂ©paration de la suppression complète de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s a Ă©tĂ© installĂ©" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s a Ă©tĂ© comptètement supprimĂ©" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s a Ă©tĂ© supprimĂ©" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Traitement de %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "TerminĂ©" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Échec de l'authentification" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "RĂ©ception" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inactif" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Le rĂ©seau n'est pas disponible" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "DĂ©tails" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fichier" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%s octets tĂ©lĂ©chargĂ©s" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "TĂ©lĂ©chargĂ©" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Le CD/DVD « %s » est requis" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Veuillez insĂ©rer le CD ci-dessus dans le lecteur « %s » pour installer les " "paquets qui s'y trouvent." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinuer" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Installer" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "RĂ©installer" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Supprimer" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Supprimer complètement" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Mettre Ă  jour" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Revenir Ă  une version antĂ©rieure" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Ignorer la mise Ă  niveau" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Veuillez consulter la liste des changements ci-dessous." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Des logiciels supplĂ©mentaires doivent ĂŞtre installĂ©s" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Des logiciels supplĂ©mentaires doivent ĂŞtre rĂ©installĂ©s" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Des logiciels supplĂ©mentaires doivent ĂŞtre dĂ©sinstallĂ©s" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Des logiciels supplĂ©mentaires doivent ĂŞtre supprimĂ©s complètement" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Des logiciels supplĂ©mentaires doivent ĂŞtre mis Ă  jour" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" "Des logiciels supplĂ©mentaires doivent ĂŞtre rĂ©installĂ©s dans leur version " "antĂ©rieure" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Les mises Ă  jour seront ignorĂ©es" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Des changements supplĂ©mentaires sont nĂ©cessaires" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%s octets seront tĂ©lĂ©chargĂ©s au total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%s octets d'espace disque seront libĂ©rĂ©s." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%s octets d'espace disque supplĂ©mentaire seront utilisĂ©s." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Remplacer les modifications que vous aviez effectuĂ©es dans « %s » par une " "version plus rĂ©cente du fichier de configuration ?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Si vous ne savez pas pourquoi le fichier est dĂ©jĂ  lĂ , il est gĂ©nĂ©ralement " "sans danger de le remplacer." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Changements" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Conserver" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Remplacer" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_DĂ©tails" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "En attente de fermeture de %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "TĂ©lĂ©chargement de %(files)s" msgstr[1] "TĂ©lĂ©chargement de %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "dĂ©pĂ´t local" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "TĂ©lĂ©chargement depuis %s" msgstr[1] "TĂ©lĂ©chargement depuis %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Composition de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Description de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Description de la signature de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Paquets disponibles dans le dĂ©pĂ´t %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Sources disponibles dans le dĂ©pĂ´t %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Traductions disponibles dans le dĂ©pĂ´t %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Traductions en %s (%s) dans le dĂ©pĂ´t %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Traductions en %s dans le dĂ©pĂ´t %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traductions (%s) dans le dĂ©pĂ´t %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Le paquet %s n'est pas disponible" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Le paquet %s n'est pas installĂ©" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "La version %s de %s n'est pas installĂ©e" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Le paquet %s est dĂ©jĂ  installĂ©" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "La version %s de %s n'est pas disponible." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "L'URL du serveur de clĂ©s n'est pas valide : %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Protocole du serveur non valide : %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Identifiant de clĂ© non valide : %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Échec du tĂ©lĂ©chargement et de l'installation de la clĂ© %s Ă  partir de %s :\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Impossible d'installer la clĂ© %s : %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Impossible de supprimer la clĂ© ayant l'empreinte %s : %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Impossible de supprimer le paquet %s." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "La version %s de %s n'est pas installĂ©e" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Une version antĂ©rieure (%s) de %s est dĂ©jĂ  installĂ©e" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "La version %s de %s est dĂ©jĂ  installĂ©e" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "La version %s de %s n'est pas disponible" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Vous devez spĂ©cifier la version Ă  laquelle revenir pour %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "La dernière version (%s) de %s est dĂ©jĂ  installĂ©e" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Le paquet %s n'est pas disponible dans la distribution %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Impossible de supprimer le paquet %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Le paquet ne fournit pas un champ de contrĂ´le de taille valide. Cf. " "politique Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "La clĂ© de licence est vide" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "La clĂ© de licence ne peut pas contenir de code exĂ©cutable." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Le chemin de la clĂ© de licence %s n'est pas valide" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "La clĂ© de licence existe dĂ©jà : %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "L'emplacement de la clĂ© de licence n'est pas sĂ©curisĂ© car il contient des " "liens symboliques. Le chemin %s renvoie Ă  %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Le dossier oĂą installer la clĂ© n'existe pas pour le moment : %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Échec lors de l'Ă©criture du fichier clĂ© dans : %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Les paquets suivants ont des dĂ©pendances non satisfaites :" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "mais c'est un paquet virtuel" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "mais il n'est pas installĂ©" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "mais il ne va pas ĂŞtre installĂ©" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "mais la version %s est installĂ©e" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "mais la version %s va ĂŞtre installĂ©e" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "L'ajout de la clĂ© Ă  la liste des fournisseurs de logiciels de confiance a " #~ "Ă©chouĂ©" aptdaemon-1.1.1/po/fa.po0000644000175000017500000010320312117271433015604 0ustar renaterenate00000000000000# Persian translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2010-05-29 11:01+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Persian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/lv.po0000644000175000017500000013460712117271433015653 0ustar renaterenate00000000000000# Latvian translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # # FIRST AUTHOR , 2010. # Rudolfs , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-10-06 23:09+0000\n" "Last-Translator: RĹ«dolfs Mazurs \n" "Language-Team: Latvian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" "Language: lv\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "UzskaitÄ«t uzticamo piegÄdÄtÄju atslÄ“gas" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Lai skatÄ«tu uzticamo atslÄ“gu sarakstu, jums vajadzÄ“s autentificÄ“ties." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Izņemt lejupielÄdÄ“to pakotņu datnes" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Lai attÄ«rÄ«tu lejupielÄdÄ“to pakotņu datnes, jums vajadzÄ“s autentificÄ“ties." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "MainÄ«t programmatĹ«ras konfigurÄciju" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Lai mainÄ«tu programmatĹ«ras iestatÄ«jumus, jums jÄautentificÄ“jas." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "MainÄ«t programmatĹ«ras krÄtuvi" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Lai mainÄ«tu programmatĹ«ras krÄtuves iestatÄ«jumus, jums jÄautentificÄ“jas." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "InstalÄ“t pakotņu datni" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Lai instalÄ“tu šo pakotni, jums jÄautentificÄ“jas." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "AtjauninÄt informÄciju par pakotnÄ“m" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Lai atjauninÄtu programmatĹ«ras katalogu, jums jÄautentificÄ“jas." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "InstalÄ“t vai noņemt pakotnes" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Lai instalÄ“tu vai noņemtu programmatĹ«ru, jums jÄautentificÄ“jas." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "InstalÄ“t programmatĹ«ru no ÄĽoti uzticamas, baltajÄ sarakstÄ esošas krÄtuves." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Lai instalÄ“tu programmatĹ«ru, jums jÄautentificÄ“jas." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Pievienot jaunu krÄtuvi un instalÄ“t pakotnes no tÄs" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Lai instalÄ“tu programmatĹ«ru no jauna avota, jums jÄautentificÄ“jas." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Pievienot jaunu iegÄdÄtÄs programmatĹ«ras krÄtuvi un instalÄ“t pakotnes no tÄs" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Lai instalÄ“tu nopirktu programmatĹ«ru, jums jÄautentificÄ“jas." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Uzlabot pakotnes" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Lai instalÄ“tu atjauninÄtu programmatĹ«ru, jums jÄautentificÄ“jas." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Atcelt cita lietotÄja darbÄ«bu" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Lai atceltu kÄda cita programmatĹ«ras izmaiņas, jums jÄautentificÄ“jas." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "IestatÄ«t starpnieku programmatĹ«ras lejupielÄdei" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Lai izmantotu starpnieka serveri programmatĹ«ras lejupielÄdei, jums " "jÄautentificÄ“jas." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "KĻŪDA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "LejupielÄdÄ“ti %sB no %sB ar Ätrumu %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "LejupielÄdÄ“ti %sB no %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "KĻŪDA:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Jums nav atÄĽaujas veikt šo darbÄ«bu." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Ievieto rindÄ" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Atrisina atkarÄ«bas" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "SekojoĹˇÄ JAUNÄ€ pakotne tiks instalÄ“ta (%(count)s):" msgstr[1] "SekojošÄs JAUNÄ€S pakotnes tiks instalÄ“tas (%(count)s):" msgstr[2] "SekojošÄs JAUNÄ€S pakotnes tiks instalÄ“tas (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "SekojoĹˇÄ pakotne tiks uzlabota (%(count)s):" msgstr[1] "SekojošÄs pakotnes tiks uzlabotas (%(count)s):" msgstr[2] "SekojošÄs pakotnes tiks uzlabotas (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "SekojoĹˇÄ pakotne tiks NOĹ…EMTA (%(count)s):" msgstr[1] "SekojošÄs pakotnes tiks NOĹ…EMTAS (%(count)s):" msgstr[2] "SekojošÄs pakotnes tiks NOĹ…EMTAS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "SekojoĹˇÄ pakotne tiks PAZEMINÄ€TA (%(count)s):" msgstr[1] "SekojošÄs pakotnes tiks PAZEMINÄ€TAS (%(count)s):" msgstr[2] "SekojošÄs pakotnes tiks PAZEMINÄ€TAS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "SekojoĹˇÄ pakotne tiks pÄrinstalÄ“ta (%(count)s):" msgstr[1] "SekojošÄs pakotnes tiks pÄrinstalÄ“tas (%(count)s):" msgstr[2] "SekojošÄs pakotnes tiks pÄrinstalÄ“tas (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "SekojoĹˇÄ pakotne tika aizturÄ“ta (%(count)s):" msgstr[1] "SekojošÄs pakotnes tika aizturÄ“tas (%(count)s):" msgstr[2] "SekojošÄs pakotnes tika aizturÄ“tas (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Vajag saņemt %sB no arhÄ«viem." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "PÄ“c šīs darbÄ«bas tiks papildu izmantoti %sB diska vietas." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "PÄ“c šīs darbÄ«bas tiks papildu atbrÄ«voti %sB diska vietas." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Vai vÄ“laties turpinÄt [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Lai darbotos ar vairÄk kÄ vienu pakotni, ievietojiet pakotņu nosaukumus " "pÄ“diņÄs:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "AtsvaidzinÄt kešatmiņu" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "MēģinÄt atrisinÄt neatrisinÄtÄs atkarÄ«bas. PotenciÄli bÄ«stama darbÄ«ba, jo tÄ " "var mēģinÄt izņemt daudzas pakotnes." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "MēģinÄt pabeigt iepriekšējo nepabeigto instalēšanu" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "InstalÄ“t dotÄs pakotnes" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "PÄrinstalÄ“t dotÄs pakotnes" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Izņemt dotÄs pakotnes" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Izņemt dotÄs pakotnes, tai skaitÄ konfigurÄcijas datnes" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "PazeminÄt dotÄs pakotnes" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Novecojis — lĹ«dzu, izmantojiet --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Uzlabojiet sistÄ“mu droĹˇÄ veidÄ" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Uzlabojiet sistÄ“mu, iespÄ“jams, instalÄ“jot un noņemot pakotnes" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Pievienot piegÄdÄtÄju pie uzticamajiem" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Pievienot piegÄdÄtÄju pie keyid (arÄ« nepieciešams --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Izmantot doto atslÄ“gu serveri, lai uzmeklÄ“tu atslÄ“gas" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Pievienot jaunu krÄtuvi no dotÄ deb-line" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "NorÄdiet alternatÄ«vu sources.list.d datni, pie kÄ vajadzÄ“tu pievienot " "krÄtuves." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "UzskaitÄ«t uzticamo piegÄdÄtÄju atslÄ“gas" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Izņemt dotÄ nospieduma uzticamÄs atslÄ“gas" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "PÄrkonfigurÄ“t instalÄ“tÄs pakotnes. Var norÄdÄ«t minimÄlo jautÄjumu prioritÄti." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "MinimÄlÄ debconf prioritÄte jautÄjumam, ko attÄ“lot" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Nepievienot apt terminÄlim" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "AtÄĽaut pakotnes no neautentificÄ“tiem avotiem" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "RÄdÄ«t papildu informÄciju par pakotnÄ“m. Pašlaik tikai versijas numuru" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Gaida autentifikÄciju" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "NeizslÄ“gt dÄ“monu aktivitÄtes trĹ«kuma dēļ" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "NeielÄdÄ“t nekÄdus spraudņus" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "RÄdÄ«t informÄciju par iekšējiem procesiem" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Iziet un aizvietot jau palaisto dÄ“monu" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "KlausÄ«ties DBus sesijas kopni (vajadzÄ«gs tikai testēšanai)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "IzpildÄ«t darbÄ«bas dotajÄ chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "SaglabÄt profila statistiku norÄdÄ«tÄ datnÄ“" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "NeizdarÄ«t nekÄdas izmaiņas sistÄ“mÄ (paredzÄ“ts tikai izstrÄdÄtÄjiem)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "InstalÄ“ja datni" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "InstalÄ“ja pakotnes" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Pievienoja atslÄ“gu no datnes" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "AtjauninÄja kešatmiņu" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Meklēšana pabeigta" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Izņēma uzticamu atslÄ“gu" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Izņēma pakotnes" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Uzlaboja pakotnes" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Uzlaboja sistÄ“mu" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Pielietoja izmaiņas" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Salaboja nepabeigtu instalÄciju" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Salaboja neatrisinÄtas atkarÄ«bas" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Pievienoja programmatĹ«ras avotu" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "AktivÄ“ja distribĹ«cijas komponenti" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Izņēma lejupielÄdÄ“tÄs pakotņu datnes" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "PÄrkonfigurÄ“ja instalÄ“tÄs pakotnes" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "VeiksmÄ«gi" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Atcelts" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "NeveiksmÄ«gi" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "InstalÄ“ datni" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "InstalÄ“ pakotnes" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Pievieno atslÄ“gu no datnes" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Atjaunina kešatmiņu" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Izņem uzticamu atslÄ“gu" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Izņem pakotnes" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Atjaunina pakotnes" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Uzlabo sistÄ“mu" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Pielieto izmaiņas" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Labo nepabeigtu instalÄciju" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Labo instalÄ“to programmatĹ«ru" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Pievieno programmatĹ«ras avotu" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "AktivÄ“ distribĹ«cijas komponenti" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Izņem lejupielÄdÄ“to pakotņu datnes" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "PÄrkonfigurÄ“ instalÄ“tÄs pakotnes" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "MeklÄ“" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "NeizdevÄs instalÄ“t pakotnes datni" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "NeizdevÄs instalÄ“t programmatĹ«ru" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "NeizdevÄs atsvaidzinÄt programmatĹ«ras sarakstu" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "NeizdevÄs izņemt piegÄdÄtÄju no uzticamo saraksta" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "NeizdevÄs noņemt programmatĹ«ru" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "NeizdevÄs atjauninÄt programmatĹ«ru" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "NeizdevÄs uzlabot sistÄ“mu" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "NeizdevÄs pielietot programmatĹ«ras izmaiņas" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "NeizdevÄs salabot nepabeigtu instalÄciju" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "NeizdevÄs salabot sabeigtas atkarÄ«bas" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "NeizdevÄs pievienot programmatĹ«ras avotus" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "NeizdevÄs aktivÄ“t distribĹ«cijas komponentes" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "NeizdevÄs izņemt lejupielÄdÄ“to pakotņu datnes" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Meklēšana neizdevÄs" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Pievieno licences atslÄ“gu" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "PÄrbaudiet savu Interneta savienojumu." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "LĹ«dzu, pÄrbaudiet, vai jĹ«s izmantojat trešÄs puses krÄtuves. Ja jÄ, " "deaktivÄ“jiet tÄs, jo tÄs parasti ir problÄ“mu cÄ“lonis.\n" "PÄ“c tam izpildiet šÄdu komandu terminÄlÄ« — apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "IzvÄ“lÄ“tÄ datne varÄ“tu nebĹ«t GPG atslÄ“ga vai arÄ« tÄ ir bojÄta." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "NevarÄ“ja izņemt izvÄ“lÄ“to atslÄ“gu. PÄrliecinieties, ka norÄdÄ«jÄt derÄ«gu " "nospiedumu." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "PÄrliecinieties, ka pašlaik neesat atvÄ“ruši kÄdu citu programmatĹ«ras " "pÄrvaldÄ«bas rÄ«ku, piemÄ“ram, Synaptic vai aptitude. VienlaicÄ«gi izmaiņas var " "veikt tikai viens rÄ«ks." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Ĺ Ä« ir nopietna problÄ“ma. Mēģiniet vÄ“lÄk vÄ“lreiz. Ja šī problÄ“ma parÄdÄs " "vÄ“lreiz, lĹ«dzu, ziņojiet par šo kÄĽĹ«du izstrÄdÄtÄjiem." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "PÄrbaudiet pakotnes pareizrakstÄ«bas nosaukumu un to, ka ir aktivÄ“ta " "atbilstoĹˇÄ krÄtuve." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Nav nepieciešamÄ«bas uzlabot." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Nav nepieciešamÄ«bas instalÄ“t." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Nav nepieciešamÄ«bas izņemt." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "JĹ«s pieprasÄ«jÄt izņemt pakotni, kas ir svarÄ«ga sistÄ“mas sastÄvdaÄĽa." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Savienojums ar dÄ“monu tika zaudÄ“ts. VisticamÄk, ka fona dÄ“mons avarÄ“ja." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "NeizdevÄs instalÄ“t vai izņemt programmatĹ«ras pakotni." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "PieprasÄ«tÄ iespÄ“ja nav atbalstÄ«ta." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "IzskatÄs, ka ir programmēšanas kÄĽĹ«da aptdaemon programmÄ, kas jums ÄĽauj " "instalÄ“t un noņemt programmatĹ«ru un veikt citus pakotņu pÄrvaldÄ«bas " "uzdevumus." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Ĺ o kÄĽĹ«du varÄ“tu izraisÄ«t papildu programmatĹ«ras pakotnes, kas trĹ«kst vai nav " "instalÄ“jamas. VÄ“l varÄ“tu bĹ«t konflikts starp programmatĹ«ras pakotnÄ“m, kuras " "nedrÄ«kst bĹ«t uzinstalÄ“tas vienlaicÄ«gi." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Tas pieprasa instalÄ“t pakotnes no neautentificÄ“tiem avotiem." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Instalēšana varÄ“tu bĹ«t neizdevusies sakarÄ ar kÄĽĹ«du atbilstošajÄ " "programmatĹ«ras pakotnÄ“, vai arÄ« tÄ tika pÄrtraukta nedraudzÄ«gÄ veidÄ. Jums " "šī situÄcija jÄlabo pirms jĹ«s instalÄ“jat vai noņemot jebkuru citu " "programmatĹ«ru." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "LĹ«dzu, kopÄ“jiet datni uz savu datoru un pÄrbaudiet datnes atÄĽaujas." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Nav atÄĽauts instalÄ“t pakotni, kas pÄrkÄpj kvalitÄtes standarta prasÄ«bas. Tas " "var radÄ«t nopietnas problÄ“mas jĹ«su datoram. LĹ«dzu, sazinieties ar personu " "vai organizÄciju, kas piegÄdÄja šo pakotnes datni un iekÄĽaujiet zemÄk " "redzamo informÄciju." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "LejupielÄdÄ“tÄ licences atslÄ“ga, kas nepieciešama, lai darbinÄtu šo " "programmatĹ«ru, nav derÄ«ga vai arÄ« nav veiksmÄ«gi instalÄ“ta.\n" "Lai uzzinÄtu vairÄk, skatieties sÄ«kÄku informÄciju." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Visi pieejami uzlabojumi jau ir instalÄ“ti." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "NevarÄ“ja lejupielÄdÄ“t licences atslÄ“gu, kas ÄĽauj izmantot šo programmatĹ«ru. " "LĹ«dzu, pÄrbaudiet interneta savienojumu." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "NeizdevÄs lejupielÄdÄ“t pakotņu datnes" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "NeizdevÄs lejupielÄdÄ“t informÄciju par krÄtuvi" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Pakotnes atkarÄ«bas neizdodas atrisinÄt" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Pakotņu sistÄ“ma ir salauzta" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "AtslÄ“ga nebija uzinstalÄ“ta" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "AtslÄ“ga netika noņemta" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "NeizdevÄs noslÄ“gt pakotņu pÄrvaldnieku" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "NeizdevÄs ielÄdÄ“t pakotņu sarakstu" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakotne neeksistÄ“" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Jau instalÄ“ta pakotnes jaunÄkÄ versija" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakotne jau ir uzinstalÄ“ta" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakotne nav uzinstalÄ“ta" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "NeizdevÄs noņemt svarÄ«gu sistÄ“mas pakotni" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Uzdevumu neizdodas novÄ“rot vai kontrolÄ“t" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "DarbÄ«ba ar pakotni neizdevÄs" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Pieprasa neuzticamu pakotņu instalēšanu" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "IepriekšējÄ instalēšana nav pabeigta" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Ĺ Ä« ir sliktas kvalitÄtes pakotne" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "NevarÄ“ja atvÄ“rt pakotnes datni" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "IespÄ“ja nav atbalstÄ«ta" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "NeizdevÄs lejupielÄdÄ“t licences atslÄ“gu" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "NeizdevÄs instalÄ“t licences atslÄ“gu" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "SistÄ“ma jau ir aktuÄla" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "GadÄ«jÄs neapstrÄdÄjama kÄĽĹ«da" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Gaida servisa palaišanos" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Gaida" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Gaida pieprasÄ«to datu nesÄ“ju" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Gaida, kad citi programmatĹ«ras pÄrvaldnieki tiks aizvÄ“rti" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Gaida konfigurÄcijas datnes uzvedni" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Veic darbÄ«bu" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "LejupielÄdÄ“" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "VaicÄ programmatĹ«ras avotus" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Uzkopj" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Pabeigts" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "AtceÄĽ" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "IelÄdÄ“ programmatĹ«ras sarakstu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "InstalÄ“ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "KonfigurÄ“ %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Izņem %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "PilnÄ«bÄ izņem %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "PiefiksÄ“ %s pazušanu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Izpilda pÄ“cinstalēšanas trigeri %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Uzlabo %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Atpako %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Sagatavo %s instalēšanu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Sagatavo %s konfigurÄciju" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Sagatavo %s izņemšanu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Sagatavo pilnÄ«gu %s izņemšanu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s ir instalÄ“ts" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s ir pilnÄ«bÄ izņemts" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s ir izņemts" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "ApstrÄdÄ %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Pabeigts" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "NeizdevÄs autentificÄ“ties" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Saņem" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "DÄ«kstÄvÄ“" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "TÄ«kls nav pieejams" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "SÄ«kÄka informÄcija" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Datne" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "LejupielÄdÄ“ti %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "LejupielÄdÄ“ti" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Tiek pieprasÄ«ts CD/DVD “%s”" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "LĹ«dzu, ievietojiet augstÄk minÄ“to CD/DVD dzinÄ« “%s”, lai no tÄ uzinstalÄ“tu " "programmatĹ«ras pakotnes." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "T_urpinÄt" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "InstalÄ“t" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "PÄrinstalÄ“t" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Izņemt" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "IztÄ«rÄ«t" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Uzlabot" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "PazeminÄt" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Izlaist uzlabošanu" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "LĹ«dzu, apskatiet zemÄk esošo izmaiņu sarakstu." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Papildu programmatĹ«ra, kas jÄinstalÄ“" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Papildu programmatĹ«ra, kas jÄpÄrinstalÄ“" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Papildu programmatĹ«ra, kas jÄizņem" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Papildu programmatĹ«ra, kas jÄiztÄ«ra" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Papildu programmatĹ«ra, kas jÄuzlabo" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Papildu programmatĹ«ra, kas jÄpazemina" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "AtjauninÄjumi tiks izlaisti" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Nepieciešamas papildu izmaiņas" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "KopÄ tiks lejupielÄdÄ“ti %sB." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Tiks atbrÄ«voti %sB." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "Tiks papildus izmantoti %sB." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Aizvietot savas “%s” izmaiņas ar vÄ“lÄku šī konfigurÄcijas datnes versiju?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Ja nezinÄt, kÄpÄ“c dotÄ datne jau ir tur, tad parasti to var droši aizvietot." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Izmaiņas" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_PaturÄ“t" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Aizvietot" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_SÄ«kÄka informÄcija" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Gaida, lÄ«dz izies %s" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "LejupielÄdÄ“ %(files)s" msgstr[1] "LejupielÄdÄ“ %(files)s" msgstr[2] "LejupielÄdÄ“ %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "lokÄlÄ krÄtuve" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "LejupielÄdÄ“ no %s" msgstr[1] "LejupielÄdÄ“ no %s" msgstr[2] "LejupielÄdÄ“ no %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s struktĹ«ra" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s apraksts" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%s apraksta paraksts" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "%s pieejamÄs pakotnes" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "%s pieejamie avoti" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "%s pieejamie tulkojumi" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%s (%s) tulkojumi no %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s tulkojumi no %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "%s tulkojumi no %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Pakotne %s nav pieejama" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pakotne %s nav uzinstalÄ“ta" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versija %s programmai %s nav uzinstalÄ“ta" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Pakotne %s jau ir uzinstalÄ“ta" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Versija %s programmai %s nav pieejama." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "AtslÄ“gu servera URL nav derÄ«gs — %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "NederÄ«gs servera protokols — %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "NederÄ«gs atslÄ“gas id — %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "NeizdevÄs lejupielÄdÄ“t un uzinstalÄ“t atslÄ“gu %s no %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "NevarÄ“ja uzinstalÄ“t atslÄ“gas datni %s — %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "AtslÄ“gu ar nospiedumu %s nevarÄ“ja izņemt — %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Nevar izņemt pakotni %s." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versija %s programmai %s nav uzinstalÄ“ta" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "IepriekšējÄ versija %s programmai %s jau ir uzinstalÄ“ta" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Versija %s programmai %s jau ir uzinstalÄ“ta" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Versija %s programmai %s nav pieejama" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Jums jÄnorÄda versija, uz kuru pazeminÄt %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "JaunÄka versija %s programmai %s jau ir uzinstalÄ“ta" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Pakotne %s nav pieejama laidienÄ %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Nevar izņemt pakotni %s" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Pakotne nenorÄda derÄ«gu Installed-Size kontroles lauku. Skatiet Debian " "Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Licences atslÄ“ga ir tukša" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Licences atslÄ“gai nav atÄĽauts saturÄ“t izpildÄmu kodu" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Licences atslÄ“gas ceļš %s ir nederÄ«gs" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "TÄda licence jau pastÄv — %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Licences atslÄ“gas atrašanÄs vieta ir nedroša, jo tÄ satur simboliskÄs " "saites. Ceļš %s atbilst %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Mape, kurÄ instalÄ“t atslÄ“gu, vÄ“l neeksistÄ“ — %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "NeizdevÄs saglabÄt atslÄ“gas datni — %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "SekojošajÄm pakotnÄ“m ir neapmierinÄtas atkarÄ«bas:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "bet tÄ ir virtuÄla pakotne" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "bet tÄ nav uzinstalÄ“ta" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "bet tÄ netiks uzinstalÄ“ta" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "bet %s ir uzinstalÄ“ta" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "bet %s tiks instalÄ“ta" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "NeizdevÄs pievienot atslÄ“gu uzticamo programmatĹ«ras piegÄdÄtÄju sarakstam" aptdaemon-1.1.1/po/kk.po0000644000175000017500000012656512117271433015643 0ustar renaterenate00000000000000# Kazakh translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-08-19 16:56+0000\n" "Last-Translator: jmb_kz \n" "Language-Team: Kazakh \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Сенімді жабдықтаŃŃылардың кілттер тізімі" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Сенімді кілттер тізімін ĐşÓ©Ń€Ń ŇŻŃŃ–Đ˝, аŃтентификация қажет." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Жүктелген пакеттер файлдарын Ó©ŃŃ–Ń€Ń" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Бағдарламалар қайнар көздерін өзгертŃ" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Пакет файлын орнатŃ" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "ĐžŃŃ‹ пакетті ĐľŃ€Đ˝Đ°Ń‚Ń ŇŻŃŃ–Đ˝, аŃтентификация қажет." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Пакет Ń‚Ńралы ақпаратты жаңартŃ" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Бағдарламалар тізімдемеŃŃ–Đ˝ Đ¶Đ°ŇŁĐ°Ń€Ń‚Ń ŇŻŃŃ–Đ˝, аŃтентификация қажет." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Пакеттерді ĐľŃ€Đ˝Đ°Ń‚Ń Đ˝ĐµĐĽĐµŃе жою" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Жаңа репозиторий қоŃып, оның Ń–Ńінен пакеттерді орнатŃ" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Đқылы бағдарламалар жаңа репозиторий қоŃып, оның Ń–Ńінен пакеттерді орнатŃ" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Пакетті жаңартŃ" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "ЖаңартŃларды ĐľŃ€Đ˝Đ°Ń‚Ń ŇŻŃŃ–Đ˝, аŃтентификация қажет." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "БаŃқа пайдаланŃŃының пакеттерді баŃŇ›Đ°Ń€Ń Ń‚Đ°ĐżŃырмаŃын аяқтаŃ." #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Бағдарламаларды Đ¶ŇŻĐşŃ‚ĐµŃ ŇŻŃŃ–Đ˝ прокŃи Ńерверді орнатŃ" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Бағдарламаларды прокŃи Ńервер арқылы Đ¶ŇŻĐşŃ‚ĐµŃ ŇŻŃŃ–Đ˝, аŃтентификация қажет." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ŇšĐТЕ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB/s жылдамдықта %sB-нан, %sB жүктелінді" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%sB-нан, %sB жүктелінді" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ŇšĐТЕ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Сізге бұл Ń–Ń-әрекетті орындаŃға болмайды." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "ТәŃелділіктерге рұқŃат берŃ" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "%sĐ‘ ***архивтер*** Đ°Đ»Ń Ň›Đ°Đ¶ĐµŃ‚." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Бұл амалдан кейін қоŃымŃа %sĐ‘ диŃкілік орын қолданылатын болады." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Бұл амалдан кейін қоŃымŃа %sĐ‘ диŃкілік орын болатын болады." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "ЖалғаŃтырŃĐ´Ń‹ қалайŃыз ба [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "КэŃты жаңартŃ" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Бұрыңғы аяқталмаған орнатылымды бітірŃге тырыŃŃ" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ĐžŃŃ‹ пакеттерді орнатŃ" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ĐžŃŃ‹ пакеттерді қайта орнатŃ" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "ĐžŃŃ‹ пакеттерді жою" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "ĐžŃŃ‹ пакеттерді толық жою (баптаŃлар файлдарымен бірге)" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Жүйені қаŃŃ–ĐżŃŃ–Đ· әдіŃпен жаңартŃ" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Мүмкін болŃа пакеттерді орнатып та, жойып та жүйені жаңартŃ" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "ЖабдықтаŃŃыны Ńенімділер тізіміне қоŃŃ" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "ĐšÓ©Ń€Ńетілген deb-жолынан жаңа қайнар ĐşÓ©Đ·Đ´Ń– қоŃŃ" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Сенімді жабдықтаŃŃылар кілттер тізімі" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "БелŃенді болмағаны ŇŻŃŃ–Đ˝ қызметті Ó©Ńірмеңіз" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "ІŃкі Ó©ŇŁĐ´ĐµŃ Ń‚Ńралы ақпарат ĐşÓ©Ń€ŃетŃ" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Đ¨Ń‹Ň“Ń Đ¶Ó™Đ˝Đµ Đ¶Ň±ĐĽŃ‹Ń Ń–Ńтеп тұрған қызметті алмаŃтырŃ" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "ПайдаланŃŃŃ‹ Ń‚Ńралы ақпарат ŃтатиŃтикаŃын ĐşÓ©Ń€Ńетілген файлда ŃақтаŃ" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Жүйеге еŃбір өзгертŃлерді енгізбейді (тек өндірŃŃілер Ň›ĐľĐ»Đ´Đ°Đ˝Ń ŇŻŃŃ–Đ˝)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Орнатылған файл" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Орнатылған пакеттер" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Кілт файлдан құрылды" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Жаңартылған кэŃ" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Сенімді кілт жойылды" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Жойылған пакеттер" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Жаңартылған пакеттер" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Жаңартылған жүйе" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "ІŃке аŃқан өзгертŃлер" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Жөнделінген аяқталмаған орнатылым" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Жөнделінген бұзылған тәŃелділіктер" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Бағдарлама қайнар ĐşÓ©Đ·Ń– тізімге қоŃылды" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "ДиŃтрибŃтив Ň›Ň±Ń€Đ°ĐĽĐ´Đ°Ń Đ±Ó©Đ»Ń–ĐłŃ– Ń–Ńке қоŃылды" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Сәтті" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Болдырылмаған" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "СәтŃŃ–Đ·" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Файлдың орнатылŃŃ‹" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Пакеттердің орнатылŃŃ‹" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Кілттің файлдан құрылŃŃ‹" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "КэŃтің жаңартылŃŃ‹" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Сенімді кілттің жойылŃŃ‹" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Пакеттер жойылŃŃ‹" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Пакеттердің жаңартылŃŃ‹" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Жүейнің жаңартылŃŃ‹" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ӨзгеріŃтерді қолданŃ" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Đяқталмаған орнатылымды жөнделŃде" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Бағдарлама қайнар ĐşÓ©Đ·Ń–Đ˝ тізімге қоŃŃ" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "ДиŃтрибŃтив Ň›Ň±Ń€Đ°ĐĽĐ´Đ°Ń Đ±Ó©Đ»Ń–ĐłŃ–Đ˝ Ń–Ńке қоŃŃ" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Пакет файлдың орнатылымы ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Бағдарламаны ĐľŃ€Đ˝Đ°Ń‚Ń ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Бағдарламалар тізімін Đ¶Đ°ŇŁĐ°Ń€Ń‚Ń ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Кілтті Ńенімді бағдарлама вендорлар тізіміне алып таŃŃ‚Đ°Ń ĐĽŇŻĐĽĐşŃ–Đ˝ емеŃ" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Бағдарламаны жою ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Бағдарламаны Đ¶Đ°ŇŁĐ°Ń€Ń‚Ń ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Жүйені Đ¶Đ°ŇŁĐ°Ń€Ń‚Ń ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Бағдарламадағы өзгеріŃтерді ŃĐ°Ň›Ń‚Đ°Ń ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Đяқталмаған орнатылымды Đ¶Ó©Đ˝Đ´ĐµŃ ŃәтŃŃ–Đ· аяқталды" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Бұзылған тәŃелділіктерді Đ¶Ó©Đ˝Đ´ĐµŃ ŃәтŃŃ–Đ· аяқталды" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Бағдарлама қайнар ĐşÓ©Đ·Ń–Đ˝ тізімге қоŃŃ ŃәтŃŃ–Đ· аяқталды" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "ДиŃтрибŃтив Ň›Ň±Ń€Đ°ĐĽĐ´Đ°Ń Đ±Ó©Đ»Ń–ĐłŃ–Đ˝ Ń–Ńке қоŃŃ ŃәтŃŃ–Đ· аяқталды" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Сіздің Đнтернетпенен қоŃылыŃты текŃерŃ." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Егер ŃŃ–Đ· Ńеттегі бағдарламалар көздерін қолданып жатŃаңыз, оларды Ó©Ńіріңіз, " "Ńебебі, олар көптеген\n" "ĐĽÓ™Ńелелер мен қателердің ĐşÓ©Đ·Ń– болады. Содан кейін терминалда apt-get install " "-f коммандаŃын орындыңыз." #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Таңдалған файл, GPG кілті ĐµĐĽĐµŃ Đ±ĐľĐ»ŃŃ‹ мүмкін немеŃе ол бұзылған." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Бұл аŃыр ĐĽÓ™Ńеле. Кейінірек қайталаңыз. ĐśÓ™Ńеле тағы да қайталанŃа, қате " "Ń‚Ńралы еŃепті өндірŃŃілерге жіберіңіз." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Đ–Đ°ŇŁĐ°Ń€Ń‚Ń‹Đ»Ń Ň›Đ°Đ¶ĐµŃ‚ емеŃ" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Орнатылым қажет емеŃ" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "ЖойылŃŃ‹ қажет емеŃ" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "Жоюға жүйенің Đ°Đ¶Ń‹Ń€Đ°ĐĽĐ°Ń Đ±Ó©Đ»Ń–ĐłŃ– болып табылатын пакет таңдалынды." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "Демон араŃында Đ±Đ°ĐąĐ»Đ°Đ˝Ń‹Ń ŇŻĐ·Ń–Đ»Đ´Ń–. Мүмкін оның жұмыŃŃ‹ кенет аяқталды." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Пакеттің орнатылŃŃ‹ немеŃе жойылŃŃ‹ ŃәтŃŃ–Đ· болады." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Орнатылымның ŃәтŃŃ–Đ· аяқталŃ, ŃÓ™ĐąĐşĐµŃ ĐżĐ°ĐşĐµŃ‚Ń‚ĐµĐłŃ– қате пайда Đ±ĐľĐ»Ń ĐşĐµŃірінен " "немеŃе орнатылым Đ´Ň±Ń€Ń‹Ń ĐµĐĽĐµŃ Ó™Đ´Ń–Ńпен үзілгенінен болŃŃ‹ мүмкін. Óрі қарай кез-" "келген бағдарламаларды ĐľŃ€Đ˝Đ°Ń‚Ń Đ˝ĐµĐĽĐµŃе жою ŇŻŃŃ–Đ˝, ĐľŃŃ‹ қатені жөндеŃŃ–ŇŁŃ–Đ· қажет." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Пакеттің файлдарын Đ¶ŇŻĐşŃ‚ĐµŃ ĐĽŇŻĐĽĐşŃ–Đ˝ емеŃ" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Бағдарламалар көздері Ń‚Ńралы мәліметтерді Đ¶ŇŻĐşŃ‚ĐµŃ ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Пакеттің тәŃелділіктері рұқŃат Đ±ĐµŃ€Ń–Đ»Ń ĐĽŇŻĐĽĐşŃ–Đ˝ емеŃ" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Пакеттер жүйеŃŃ– бұзынған" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Кілт орнатылмаған" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Кілт жойылмаған" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Пакеттер менеджерін қорŃĐ°Ń ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Пакеттер тізімін Đ¶ŇŻĐşŃ‚ĐµŃ ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Пакет жоқ" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Пакет орнатылып тұр" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Пакет орнатылмаған" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Маңызды жүйелік пакеттің жойылŃŃ‹ ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "ТапŃырма көріне немеŃе баŃқарылŃŃ‹ мүмкін емеŃ" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Пакеттік операцияŃŃ‹ ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "СенімŃŃ–Đ· пакеттік орнатылŃŃ‹ тиіŃ" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Đлдыңғы орнатылым аяқталған жоқ" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Қызметтің жүктелŃŃ–Đ˝ күтŃ" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Күтіңіз" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Қажетті ақпарат таŃымалдаŃŃ‹Ńын күтŃ" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "БаŃқа бағдарламалар менеджерлер жұмыŃының аяқталŃын күтŃ" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "КонфигŃрациялық файл ŃұраныŃын күтŃ" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Орындалатын тапŃырма" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ЖүктелŃде" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ТазартŃ" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Бітті" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "БолдырмаŃ" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Бағдарламалар тізімі жүктелŃде" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s орнатылŃда" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s қалыпқа келтірілŃде" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s жойылŃда" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "%s орнатылымнан кейінгі триггер орындалŃда" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s жаңартылŃда" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Орындалды" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "ĐŃтентификация ŃәтŃŃ–Đ·" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "ЖүктелŃ" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Желі қол жетімŃŃ–Đ·" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Толық ақпарат" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Файл" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Жүктелген %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Жүктелген" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "\"%s\" CD/DVD қажет" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "_ЖалғаŃтырŃ" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ОрнатŃ" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Қайта орнатŃ" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Жою" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "ТазартŃ" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "ЖаңартŃ" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "НұŃқаны төмендетŃ" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ЖаңартŃĐ´Ń‹ өткізіп жіберŃ" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "ҚоŃымŃа бағдарламалық қамтамаŃŃ‹Đ·Đ´Đ°Đ˝Đ´Ń‹Ń€Ń ĐľŃ€Đ˝Đ°Ń‚Ń‹Đ»ŃŃ‹ тиіŃ" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "ҚоŃымŃа бағдарламалық қамтамаŃŃ‹Đ·Đ´Đ°Đ˝Đ´Ń‹Ń€Ń Ň›Đ°ĐąŃ‚Đ° орнатылŃŃ‹ тиіŃ" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "ЖаңартŃлар қараŃтырылмайтын болады" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "ҚоŃымŃа өзгертŃлер қажет" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "Толығымен %sB жүктелінетін болады." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sĐ‘ диŃкілік орын боŃатылатын болады." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sĐ‘ қоŃымŃа диŃкілік орын қолданылатын болады." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Өзіңізбен өзгертілген \"%s\" файлды, оның Ńоңғы нұŃқаŃымен алмаŃтырŃĐ´Ń‹ " "қалайŃыз ба?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Егер ŃŃ–Đ·, ол файлдың ĐľŃŃ‹ жерде қайдан пайда болғанын білмеген жағдайда, оны " "әдеттегідей, қаŃŃ–ĐżŃŃ–Đ· жерге ĐşÓ©Ńіріңіз." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_ӨзгеріŃтер" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_ҚалдырŃ" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_ĐлмаŃтырŃ" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Толық ақпарат" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Кілтті Ńенімді бағдарлама вендорлар тізіміне қоŃŃ ĐĽŇŻĐĽĐşŃ–Đ˝ емеŃ" aptdaemon-1.1.1/po/sr.po0000644000175000017500000015722612117271433015660 0ustar renaterenate00000000000000# Serbian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # МироŃлав Николић , 15.12.2010. msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-02-01 00:49+0000\n" "Last-Translator: Марко Đś. КоŃтић \n" "Language-Team: Ubuntu serbian Translators\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" "Language: serbian (sr)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "СпиŃак кљŃчева поŃзданих продаваца" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Да биŃте видели ŃпиŃак поŃзданих кљŃчева, требате да потврдите идентитет." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Уклони преŃзете датотеке пакета" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Да биŃте очиŃтили преŃзете датотеке пакета, треба да потврдите идентитет." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Промени конфигŃрациŃŃ Ńофтвера" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Да биŃте изменили поŃтавке Ńофтвера, требате да потврдите идентитет." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Промени Ń€Đ¸Đ·Đ˝Đ¸Ń†Ń Ńофтвера" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Да биŃте изменили поŃтавке ризнице Ńофтвера, требате да потврдите идентитет." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ĐĐ˝ŃŃ‚Đ°Đ»Đ¸Ń€Đ°Ń Đ´Đ°Ń‚ĐľŃ‚ĐµĐşŃ ĐżĐ°ĐşĐµŃ‚Đ°" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Да биŃте инŃталирали ĐľĐ˛Đ°Ń ĐżĐ°ĐşĐµŃ‚, требате да потврдите идентитет." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ДопŃни информациŃе Đľ пакетŃ" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Да биŃте ажŃрирали каталог Ńофтвера, требате да потврдите идентитет." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ĐĐ˝ŃŃ‚Đ°Đ»Đ¸Ń€Đ°Ń Đ¸Đ»Đ¸ Ńклони пакете" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "Да биŃте инŃталирали или Ńклонили Ńофтвер, требате да потврдите идентитет." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "ĐĐ˝ŃŃ‚Đ°Đ»Đ¸Ń€Đ°Ń ĐżŃ€ĐľĐłŃ€Đ°ĐĽĐµ из проверене ризнице коŃа Ńе налази на белом ŃпиŃĐşŃ." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Да биŃте инŃталирали програм, потребно Ńе да Ńе идентификŃŃете." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Đ”ĐľĐ´Đ°Ń Đ˝ĐľĐ˛Ń Ń€Đ¸Đ·Đ˝Đ¸Ń†Ń Đ¸ инŃŃ‚Đ°Đ»Đ¸Ń€Đ°Ń ĐżĐ°ĐşĐµŃ‚Đµ из ње" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Да биŃте инŃталирали Ńофтвер из новог извора, требате да потврдите идентитет." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "Đ”ĐľĐ´Đ°Ń Đ˝ĐľĐ˛Ń Ń€Đ¸Đ·Đ˝Đ¸Ń†Ń ĐşŃпљеног Ńофтвера и инŃŃ‚Đ°Đ»Đ¸Ń€Đ°Ń ĐżĐ°ĐşĐµŃ‚Đµ из ње" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "Да биŃте инŃталирали ĐşŃпљени Ńофтвер, требате да потврдите идентитет." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Надогради пакете" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "Да биŃте инŃталирали ажŃрирани Ńофтвер, требате да потврдите идентитет." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Откажи задатак Đ´Ń€Ńгог кориŃника" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Да биŃте отказали измене Ńофтвера Đ´Ń€Ńгог кориŃника, требате да потврдите " "идентитет." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "ПоŃтави поŃредника за преŃзимање Ńофтвера" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Да биŃте кориŃтили поŃреднички Ńервер за преŃзимање Ńофтвера, требате да " "потврдите идентитет." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ГРЕШКĐ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "ПреŃзето Ńе %sB од %sB при %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "ПреŃзето Ńе %sB од %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ГРЕШКĐ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Вама ниŃе дозвољено да изврŃите ĐľĐ˛Ń Ń€Đ°Đ´ŃšŃ." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Чекање Ń Ń€ĐµĐ´Ń" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "РазреŃавам завиŃноŃти" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Биће инŃталиран %(count)s НОВ пакет:" msgstr[1] "Биће инŃталирана %(count)s НОВРпакета:" msgstr[2] "Биће инŃталирано %(count)s НОВĐĐĄ пакета:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Биће надограђен %(count)s пакет:" msgstr[1] "Биће надограђена %(count)s пакета:" msgstr[2] "Биће надограђено %(count)s пакета:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Биће УКЛОЊЕН %(count)s пакет:" msgstr[1] "Биће УКЛОЊЕНР%(count)s пакета:" msgstr[2] "Биће УКЛОЊЕНО %(count)s пакета:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Биће Đ ĐЗГРĐЂЕН %(count)s пакет:" msgstr[1] "Биће Đ ĐЗГРĐЂЕНР%(count)s пакета:" msgstr[2] "Биће Đ ĐЗГРĐЂЕНО %(count)s пакета:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Биће поново инŃталиран %(count)s пакет:" msgstr[1] "Биће поново инŃталирана %(count)s пакета:" msgstr[2] "Биће поново инŃталирано %(count)s пакета:" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Биће задржан %(count)s пакет:" msgstr[1] "Биће задржана %(count)s пакета:" msgstr[2] "Биће задржано %(count)s пакета:" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Морам да набавим %sB архива." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "Након ове операциŃе, %sB додатног проŃтора на диŃĐşŃ Đ±Đ¸Ń›Đµ иŃкориŃћено." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Након ове операциŃе, %sB додатног проŃтора на диŃĐşŃ Đ±Đ¸Ń›Đµ ĐľŃлобођено." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Да ли желите да наŃтавите [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Да радите Ńа виŃе од Ńедним пакетом Ńтавите имена пакета под наводницима:\n" "aptdcon --install „foo bar“" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "ĐžŃвежава кеŃ" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "ПокŃŃаће да реŃи ĐľŃтећене завиŃноŃти. ПотенциŃално опаŃна операциŃа Ńер може " "покŃŃати да Ńклони многе пакете." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "ПокŃŃаће да заврŃи претходно недоврŃĐµĐ˝Ń Đ¸Đ˝ŃталациŃŃ" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ĐĐ˝Ńталираће дате пакете" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Поново ће инŃталирати дате пакете" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Уклониће дате пакете" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Уклониће дате пакете, ŃкљŃчŃŃŃћи датотеке подеŃавања" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Разградиће дате пакете" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "ЗаŃтарело: Молим кориŃтите „--safe-upgrade“" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "НадограђŃŃе ŃиŃтем на безбедан начин" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "НадограђŃŃе ŃиŃтем, могŃће Ńе инŃталирање и Ńклањање пакета" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "ДодаŃе продавца ĐĽĐµŃ’Ń ĐżĐľĐ˛ĐµŃ€Ń™Đ¸Đ˛Đµ" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "ДодаŃе продавчев ид кљŃча (такође треба --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "КориŃти дати Ńервер кљŃчева за претраживање кљŃчева" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "ДодаŃе Đ˝ĐľĐ˛Ń Ń€Đ¸Đ·Đ˝Đ¸Ń†Ń Đ¸Đ· дате деб линиŃе" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Наведите Đ°Đ»Ń‚ĐµŃ€Đ˝Đ°Ń‚Đ¸Đ˛Đ˝Ń â€žsources.list.d“ Đ´Đ°Ń‚ĐľŃ‚ĐµĐşŃ Ń ĐşĐľŃŃ Ń‚Ń€ĐµĐ±Đ°ŃŃ Đ±Đ¸Ń‚Đ¸ додате " "ризнице." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "СпиŃак кљŃчева поŃзданих продаваца" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Уклони поверљиви кљŃч датог отиŃка прŃта" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Поново ће подеŃити инŃталиране пакете. Опционално може бити наведен наŃмањи " "приоритет питања." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "НаŃмањи приоритет питања деб подеŃавања коŃа ће бити приказана" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "ĐťĐµĐĽĐľŃ ĐżŃ€Đ¸Đ´ĐľĐ´Đ°Ń‚Đ¸ апт терминалŃ" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Дозволи пакете Ńа непроверених извора" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "Приказаће додатне информациŃе Đľ пакетима. ТренŃтно Ńамо Đ±Ń€ĐľŃ Đ˛ĐµŃ€Đ·Đ¸Ńе" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Чекам на потврђивање идентитета" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Не гаŃи демона због неактивноŃти" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Не Ńчитава никакве прикљŃчке" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Прикажи информациŃе Đľ ŃĐ˝ŃтраŃњим процеŃима" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "ЗаŃŃтави и замени већ започет демон програм" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "ĐžŃĐ»ŃŃĐşŃŃе на магиŃтрали ДБŃŃ ŃеŃиŃе (потребно Ńе Ńамо за теŃтирање)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "ĐзврŃава операциŃе Ń Đ´Đ°Ń‚ĐľĐĽ „chroot“-Ń" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "СачŃĐ˛Đ°Ń Ńтање профила Ń ĐżĐľŃебно ĐľĐ´Ń€ĐµŃ’ĐµĐ˝Ń Đ´Đ°Ń‚ĐľŃ‚ĐµĐşŃ" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Не ŃноŃи никакве промене на ŃиŃŃ‚ĐµĐĽŃ (КориŃно Ńе Ńамо програмерима)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Датотека Ńе инŃталирана" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Пакети ŃŃ Đ¸Đ˝Ńталирани" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "КљŃч из датотеке Ńе додат" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "ĐšĐµŃ Ńе ĐľŃвежен" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Претрага Ńе обављена" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Поверљиви кљŃч Ńе Ńклоњен" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Пакети ŃŃ Ńклоњени" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Пакети ŃŃ Ńнапређени" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "СиŃтем Ńе надограђен" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Đзмене ŃŃ ĐżŃ€Đ¸ĐĽĐµŃšĐµĐ˝Đµ" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "НезаврŃена инŃталациŃа Ńе оправљена" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "ĐžŃтећене завиŃноŃти ŃŃ ĐľĐżŃ€Đ°Đ˛Ń™ĐµĐ˝Đµ" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Đзвор Ńофтвера Ńе додат" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Компонента диŃтрибŃциŃе Ńе омогŃћена" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Уклоњене преŃзете датотеке пакета" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Поново подеŃени инŃталирани пакети" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ĐŁŃпеŃно" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Отказано" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "НеŃŃпело" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ĐĐ˝Ńталирам датотекŃ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ĐĐ˝Ńталирам пакете" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "ДодаŃем кљŃч из датотеке" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ĐžŃвежавам кеŃ" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Уклањам поверљиви кљŃч" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Уклањам пакете" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "ĐžŃвежавам пакете" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "НадограђŃŃем ŃиŃтем" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ПримењŃŃем измене" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Оправљам незаврŃĐµĐ˝Ń Đ¸Đ˝ŃталациŃŃ" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Поправљам инŃталиран Ńофтвер" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "ДодаŃем извор Ńофтвера" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "ОмогŃћавам ĐşĐľĐĽĐżĐľĐ˝ĐµĐ˝Ń‚Ń Đ´Đ¸ŃтрибŃциŃе" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Поново подеŃени инŃталирани пакети" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Поново подеŃавам инŃталиране пакете" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Претраживање" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "НиŃам ŃŃпео да инŃталирам Đ´Đ°Ń‚ĐľŃ‚ĐµĐşŃ ĐżĐ°ĐşĐµŃ‚Đ°" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "НиŃам ŃŃпео да инŃталирам Ńофтвер" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "Додавање кљŃча Ń ŃпиŃак проверених произвођача програма Ńе неŃŃпеŃно" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "НиŃам ŃŃпео да обновим ŃпиŃак Ńофтвера" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "НиŃам ŃŃпео да Ńклоним продавца Ńа лиŃте поверљивих" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "НиŃам ŃŃпео да Ńклоним Ńофтвер" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "НиŃам ŃŃпео да ĐľŃвежим Ńофтвер" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "НиŃам ŃŃпео да надоградим ŃиŃтем" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "НиŃам ŃŃпео да применим измене Ńофтвера" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "НиŃам ŃŃпео да оправим незаврŃĐµĐ˝Ń Đ¸Đ˝ŃталациŃŃ" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "НиŃам ŃŃпео да оправим ĐľŃтећене завиŃноŃти" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "НиŃам ŃŃпео да додам извор Ńофтвера" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "НиŃам ŃŃпео да омогŃћим ĐşĐľĐĽĐżĐľĐ˝ĐµĐ˝Ń‚Ń Đ´Đ¸ŃтрибŃциŃе" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "НиŃам ŃŃпео да Ńклоним преŃзете датотеке пакета" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Претрага ниŃе ŃŃпела" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "ДодаŃем кљŃч лиценце" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Проверите ваŃŃ Đ¸Đ˝Ń‚ĐµŃ€Đ˝ĐµŃ‚ везŃ." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Проверите да ли кориŃтите незваничне ризнице. Уколико их кориŃтите, " "иŃкљŃчите их Ńер ŃŃ ĐľĐ˝Đµ чеŃто Ńзрок проблема.\n" "КаŃниŃе покрените ŃĐ»ĐµĐ´ĐµŃ›Ń Đ˝Đ°Ń€ĐµĐ´Đ±Ń Ń Đ˘ĐµŃ€ĐĽĐ¸Đ˝Đ°Đ»Ń: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "Датотека коŃŃ Ńте изабрали Ńе ĐľŃтећена или не предŃтавља ГПГ кљŃч." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Не ĐĽĐľĐłŃ Đ´Đ° Ńклоним изабрани кљŃч. Проверите да ли Ńте обезбедили важећи " "отиŃак прŃта." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Проверите да тренŃтно можда ниŃте покренŃли неки Đ´Ń€Ńги алат за Ńправљање " "Ńофтвером, нпр. Синаптик или аптитŃŃĐ´. ДопŃŃтено Ńе да Ńамо Ńедан алат може " "да врŃи измене Ń Đ¸Ńто време." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Ово Ńе врло озбиљан проблем. ПробаŃте каŃниŃе. Đко Ńе иŃти проблем поŃави и " "каŃниŃе, молимо Đ’Đ°Ń ĐżĐľŃаљите извеŃŃ‚Đ°Ń ĐżŃ€ĐľĐłŃ€Đ°ĐĽĐµŃ€Đ¸ĐĽĐ°." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Проверите да ли Ńте иŃправно ŃпиŃали име пакета и да ли Ńте ŃкљŃчили " "одговараŃŃŃ›Ń Ń€Đ¸Đ·Đ˝Đ¸Ń†Ń." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Нема никакве потребе за ĐľŃвежавањем." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Нема никакве потребе за инŃталирањем" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Нема никакве потребе за Ńклањањем." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "Затражили Ńте Ńклањање пакета коŃи Ńе кљŃчни део ВаŃег ŃиŃтема." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Веза Ńа демоном Ńе изгŃбљена. НаŃвероватниŃе да Ńе позадинŃки демон изненада " "прекинŃĐľ Ń Ń€Đ°Đ´ĐľĐĽ." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "ĐĐ˝ŃталациŃа или Ńклањање ŃофтверŃког пакета ниŃе ŃŃпела." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Затражена Ń„ŃнкциŃа ниŃе подржана." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Đзгледа да поŃтоŃи програмерŃка греŃка Ń Đ°ĐżŃ‚ позадинцŃ, ĐżŃ€ĐľĐłŃ€Đ°ĐĽŃ ĐşĐľŃи вам " "омогŃћава да инŃталирате/Ńклањате програме као и да обављате Đ´Ń€Ńге поŃлове Ń " "вези Ńправљања пакетима." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Ова греŃка може бити изазвана захтевањем додатних ŃофтверŃких пакета коŃи " "недоŃтаŃŃ Đ¸Đ»Đ¸ ниŃŃ Đ¸Đ˝Ńтаљиви. Такође може поŃтоŃати ŃŃкоб Đ¸Đ·ĐĽĐµŃ’Ń ŃофтверŃких " "пакета коŃима ниŃе дозвољено да бŃĐ´Ń Đ¸Đ˝Ńталирани Ń Đ¸Ńто време." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "ĐžĐ˛Đ°Ń Đ·Đ°Ń…Đ˛Đ°Ń‚ ŃкљŃчŃŃе инŃталирање пакета из непроверених извора." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "ĐĐ˝ŃталациŃа можда ниŃе ŃŃпела због греŃке Ń ĐľĐ´ĐłĐľĐ˛Đ°Ń€Đ°ŃŃћем ŃофтверŃком ĐżĐ°ĐşĐµŃ‚Ń " "или Ńе отказана на неодговараŃŃћи начин. Морате да поправите ово пре него " "Ńто бŃдете могли да инŃталирате или Ńклоните бŃĐ´Ńћи Ńофтвер." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Молим Ńмножите Đ´Đ°Ń‚ĐľŃ‚ĐµĐşŃ Đ˝Đ° Đ˛Đ°Ń Đ»ĐľĐşĐ°Đ»Đ˝Đ¸ рачŃнар и проверите овлаŃћења " "датотеке." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "ĐĐ˝Ńталирање пакета коŃи крŃе Ńтандарде квалитета ниŃе дозвољено. То може " "изазвати озбиљне проблеме на ваŃем рачŃнарŃ. Молим контактираŃте ĐľŃĐľĐ±Ń Đ¸Đ»Đ¸ " "организациŃŃ ĐşĐľŃа Ńе обезбедила ĐľĐ˛Đ°Ń ĐżĐ°ĐşĐµŃ‚ и ŃкљŃчите детаље иŃпод." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "ПреŃзети кљŃч лиценце коŃи Ńе потребан за покретање овог програма ниŃе " "иŃправан или не може бити иŃправно инŃталиран.\n" "ПогледаŃте поŃединоŃти за виŃе података." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Све Đ´ĐľŃŃ‚Ńпне надоградње ŃŃ Đ˛ĐµŃ› инŃталиране." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "КљŃч лиценце коŃи вам омогŃћава да кориŃтите ĐľĐ˛Đ°Ń ĐżŃ€ĐľĐłŃ€Đ°ĐĽ не може бити " "преŃзет. Проверите ваŃŃ ĐĽŃ€ĐµĐ¶Đ˝Ń Đ˛ĐµĐ·Ń." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "НиŃте овлаŃћени да изврŃите ĐľĐ˛Đ°Ń Đ·Đ°Ń…Đ˛Đ°Ń‚." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Унели Ńте погреŃĐ˝Ń Đ»ĐľĐ·Đ¸Đ˝ĐşŃ Đ¸Đ»Đ¸ Ńте пониŃтили овлаŃћивање.\n" "Такође, можда Ńе Ńзрок ове греŃке техничке природе. Đко ниŃте видели прозор " "за ŃĐ˝ĐľŃ Đ»ĐľĐ·Đ¸Đ˝ĐşĐµ онда ваŃе графичко окрŃжење нема PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "НиŃам ŃŃпео да преŃзмем датотеке пакета" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "НиŃам ŃŃпео да преŃзмем информациŃе ризнице" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "ЗавиŃноŃти пакета не ĐĽĐľĐłŃ Đ±Đ¸Ń‚Đ¸ реŃене" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "СиŃтем пакета Ńе ĐľŃтећен" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "КљŃч ниŃе инŃталиран" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "КљŃч ниŃе Ńклоњен" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "НиŃам ŃŃпео да закљŃчам Ńправника пакета" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "НиŃам ŃŃпео да Ńчитам ŃпиŃак пакета" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Пакет не поŃтоŃи" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Пакет Ńе већ ажŃриран" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Пакет Ńе већ инŃталиран" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Пакет ниŃе инŃталиран" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "НиŃам ŃŃпео да Ńклоним кљŃчни пакет ŃиŃтема" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Задатак не може бити праћен или контролиŃан" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "ĐзврŃавање задатог ниŃе ŃŃпело" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Захтева инŃталирање неповерљивих пакета" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Претходна инŃталациŃа ниŃе била заврŃена" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Пакет Ńе лоŃег квалитета" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Датотека пакета не може бити отворена" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Неподржана Ń„ŃнкциŃа" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "НиŃам ŃŃпео да преŃзмем кљŃч лиценце" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "НиŃам ŃŃпео да инŃталирам кљŃч лиценце" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "СиŃтем Ńе већ ажŃриран" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "НеŃŃпех при овлаŃћивањŃ." #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "НиŃте овлаŃћени да изврŃите ĐľĐ˛Đ°Ń Đ·Đ°Ń…Đ˛Đ°Ń‚" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "ДоŃло Ńе Đ´Đľ греŃке коŃом Ńе не може Ńправљати" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Чекам на ŃŃĐ»ŃĐłŃ Đ´Đ° започне" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Чекам" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Чекам на затражени медиŃŃĐĽ" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Чекам на Đ´Ń€Ńге Ńправнике пакета да заврŃе" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Чекам на промпт датотеке подеŃавања" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "ĐзврŃавам задатак" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ПреŃзимам" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "ПропитŃŃем изворе Ńофтвера" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "ЧиŃтим" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "ЗаврŃено" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "ОтказŃŃем" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "УноŃим ŃпиŃак Ńофтвера" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "ĐĐ˝Ńталирам „%s“" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "ПодеŃавам „%s“" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Уклањам „%s“" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Уклањам потпŃно %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Бележим неŃтанак за %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "ĐзврŃавам поŃŃ‚-инŃталационе белеŃке „%s“" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "НадограђŃŃем „%s“" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "РаŃпакивам %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Припремам „%s“ за инŃталациŃŃ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Припремам подеŃавање за „%s“" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Припремам „%s“ за Ńклањање" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Припремам „%s“ за потпŃно Ńклањање" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s Ńе инŃталиран" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s Ńе Ńклоњен потпŃно" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Уклоњено %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "ОбрађŃŃем %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Урађено" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Потврђивање идентитета ниŃе ŃŃпело" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Набављам" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "МирŃŃем" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Мрежа ниŃе Đ´ĐľŃŃ‚Ńпна" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Детаљи" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Датотека" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "ПреŃзето Ńе %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "ПреŃзето Ńе" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Потребан Ńе „%s“ ЦД/ДВД диŃĐş" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Убаците доле наведени ЦД/ДВД диŃĐş Ń ŃŃ€ĐµŃ’Đ°Ń â€ž%s“ да би Ńа њега инŃталирали " "ŃофтверŃке пакете." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "Đť_аŃтави" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "ĐĐ˝ŃталираŃ" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Поново инŃталираŃ" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Уклони" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Đзбаци" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Надогради" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Разгради" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "ПреŃкочи надоградњŃ" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Молим погледаŃте ŃпиŃак промена иŃпод." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Додатни Ńофтвер мора да бŃде инŃталиран" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Додатни Ńофтвер мора да бŃде поново инŃталиран" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Додатни Ńофтвер мора да бŃде Ńклоњен" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Додатни Ńофтвер мора да бŃде избачен" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Додатни Ńофтвер мора да бŃде надограђен" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Додатни Ńофтвер мора да бŃде разграђен" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "ĐŃправке ће бити преŃкочене" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Додатне измене ŃŃ Đ·Đ°Ń…Ń‚ĐµĐ˛Đ°Đ˝Đµ" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB ŃĐşŃпно ће бити преŃзето." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB проŃтора на диŃĐşŃ Đ±Đ¸Ń›Đµ ĐľŃлобођено." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB проŃтора на диŃĐşŃ Ń›Đµ бити ŃĐľŃ Đ¸ŃкориŃћено." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Да ли да заменим ВаŃе измене Ń â€ž%s“ Ń Đ˝Đ°ŃновиŃом верзиŃом датотеке " "подеŃавања?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Đко не знате заŃто Ńе датотека већ тамо, обично Ńе ŃигŃрно заменити Ńе." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Đзмене" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Задржи" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "За_мени" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Детаљи" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Чекам на „%s“ да заврŃи" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "ПреŃзимам %(files)s" msgstr[1] "ПреŃзимам „%(files)s“" msgstr[2] "ПреŃзимам „%(files)s“" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "локална ризница" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "ПреŃзимам из %s" msgstr[1] "ПреŃзимам из %s" msgstr[2] "ПреŃзимам из %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "СтрŃктŃра за %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "ĐžĐżĐ¸Ń Đ·Đ° %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "ĐźĐľŃ‚ĐżĐ¸Ń ĐľĐżĐ¸Ńа за %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "ДоŃŃ‚Ńпни пакети из %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "ДоŃŃ‚Ńпни извори из %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "ДоŃŃ‚Ńпни преводи од %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Преводи за %s (%s) од %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Преводи за %s од %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Преводи (%s) из %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Пакет „%s“ ниŃе Đ´ĐľŃŃ‚Ńпан" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Пакет „%s“ ниŃе инŃталиран" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "ВерзиŃа %s „%s“ пакета ниŃе инŃталирана" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Пакет „%s“ Ńе већ инŃталиран" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "ВерзиŃа %s „%s“ пакета ниŃе Đ´ĐľŃŃ‚Ńпна." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "ĐдреŃа кљŃчног Ńервера Ńе неиŃправна: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "НеиŃправан протокол Ńервера: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Неважећи ĐĐ‘ кљŃча: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "НиŃам ŃŃпео да преŃзмем и да инŃталирам кљŃч „%s“ Ńа „%s“:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Датотека кљŃча „%s“ не може бити инŃталирана: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "КљŃч Ńа отиŃком „%s“ не може бити Ńклоњен: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Пакет „%s“ не може бити Ńклоњен." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "ВерзиŃа %s „%s“ пакета ниŃе инŃталирана" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "БивŃа верзиŃа %s „%s“ пакета Ńе већ инŃталирана" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "ВерзиŃа %s „%s“ пакета Ńе већ инŃталирана" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "ВерзиŃа %s „%s“ пакета ниŃе Đ´ĐľŃŃ‚Ńпна" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Треба да наведете верзиŃŃ Đ˝Đ° коŃŃ Ń›Đµ „%s“ бити разграђен" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "КаŃниŃа верзиŃа %s „%s“ пакета Ńе већ инŃталирана" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Пакет „%s“ ниŃе Đ´ĐľŃŃ‚Ńпан Ń Đ¸Đ·Đ´Đ°ŃšŃ %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Пакет „%s“ не може бити Ńклоњен" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Пакет не обезбеђŃŃе иŃправно поље за ĐşĐľĐ˝Ń‚Ń€ĐľĐ»Ń Đ¸Đ˝Ńталиране величине. " "ПогледаŃте Дебиан ŃигŃрноŃŃ‚ 5.6.20" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "КљŃч лиценце Ńе празан" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "НиŃе дозвољено да кљŃч лиценце Ńадржи изврŃни код." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "ĐźŃтања кљŃча лиценце %s ниŃе иŃправна." #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "КљŃч лиценце већ поŃтоŃи: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "МеŃто кљŃча лиценце ниŃе безбедно Ńер Ńадржи Ńимболичне везе. ĐźŃтања %s " "ŃкаазŃŃе на %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "ДиректориŃŃĐĽ за инŃталирање кљŃча не поŃтоŃи ŃĐľŃ Ńвек: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "НиŃам ŃŃпео да запиŃем Đ´Đ°Ń‚ĐľŃ‚ĐµĐşŃ ĐşŃ™Ńча Ń: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Следећи пакети имаŃŃ Đ˝ĐµĐ·Đ°Đ´ĐľĐ˛ĐľŃ™ĐµĐ˝Đµ међŃзавиŃноŃти:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "али то Ńе виртŃелни пакет" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "али ниŃе инŃталиран" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "али неће бити инŃталиран" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "али инŃталиран Ńе „%s“" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "али биће инŃталиран „%s“" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "НиŃам ŃŃпео да додам кљŃч на лиŃŃ‚Ń ĐżĐľĐ˛ĐµŃ€Ń™Đ¸Đ˛Đ¸Ń… продаваца Ńофтвера" aptdaemon-1.1.1/po/my.po0000644000175000017500000011254512117271433015654 0ustar renaterenate00000000000000# Burmese translation for aptdaemon # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-07-15 06:59+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Burmese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "ယုံကြည်ရသောကီးများကိုကြည့်ရန်အá€á€˝á€€á€ş á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်á‹" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "downloaded package ဖိုင်များရှင်းရန်အá€á€˝á€€á€ş á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်á‹" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "software settings ပြောင်းရန်အá€á€˝á€€á€ş á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်á‹" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "software repository settings ပြောင်းရန်အá€á€˝á€€á€ş á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်á‹" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "package file သွင်းမည်" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "ဒီ package ကိုသွင်းရန် á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်á‹" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "ဆော့ဝဲလ်များ သွင်းရန်ဖြုá€á€şá€›á€”်အá€á€˝á€€á€ş á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်á‹" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "ဆော့ဝဲလ်သွင်းရန်အá€á€˝á€€á€ş á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်á‹" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "ရင်းမြစ်အသစ်မှဆော့ဝဲလ်များသွင်းရန်အá€á€˝á€€á€ş á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "ဆော့ဝဲလ်ဝယ်ပြီးသွင်းရန်အá€á€˝á€€á€ş á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်á‹" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "ဆော့ဝဲလ်များအသစ်ထွက်ရှိမှု့သွင်းရန်အá€á€˝á€€á€şá€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်á‹" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "á€á€á€Ľá€¬á€¸á€ˇá€žá€Żá€¶á€¸á€•ြုသူáŹá€śá€Żá€•်ငန်းများကိုပယ်ဖျက်မည်" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "á€á€á€Ľá€¬á€¸á€žá€°áŹá€†á€±á€¬á€·á€ťá€˛á€śá€şá€•ြောင်းလဲမှု့များကိုပယ်ဖျက်ရန်အá€á€˝á€€á€ş á€á€˝á€„့်ပြုá€á€»á€€á€şá€śá€­á€Żá€ˇá€•်သည်" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "á€á€»á€­á€Żá€·á€šá€˝á€„်းá€á€»á€€á€ş" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "á€á€»á€­á€Żá€·á€šá€˝á€„်းá€á€»á€€á€ş -" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "ဒီလုပ်ဆောင်á€á€»á€€á€şá€śá€Żá€•်ဆောင်ရန်သင့်ကိုá€á€˝á€„့်မပြုပါ" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "á€á€”်းစီá€á€Ľá€„်း" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "သင်ဆက်လက်လုပ်ဆောင်á€á€»á€„်ပါသလားዠ[Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "ပေးထားသော package များကိုသွင်းမည်" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "ပေးထားသော package များ ကိုပြန်သွင်းမည်" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "ပေးထားသော package များ ဖြုá€á€şá€™á€Šá€ş" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "á€á€˝á€„့်ပြုá€á€€á€şá€›á€›á€”်စောင့်ဆိုင်းနေပါသည်" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "ယုံကြည်ရသော key ကိုဖြုá€á€şá€™á€Šá€ş" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "ဆော့ဝဲလ်အရင်းအမြစ်ထည့်မည်" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "အောင်မြင်ပါသည်" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "ပယ်ဖျက်မည်á‹" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "မအောင်မြင်" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ဖိုင်ကိုသွင်းနေပါသည်" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Package များကိုသွင်းနေသည်" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "ဆော့ဖ်ဝဲလ်ဖိုင်ထုပ်များ ဖယ်ရှားနေပါသည်" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "စက်စနစ်á€á€…်á€á€Żá€śá€Żá€¶á€¸á€€á€­á€Żá€ˇá€†á€„့်မြင်နေပါသည်" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "ပြောင်းလဲမှု့များကိုသွင်းနေပါသည်" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "ဆော့ဝဲလ်အရင်းအမြစ်ထည့်နေပါသည်" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "ရှာဖွေနေပါသည်" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "ရှာဖွေá€á€Ľá€„်းမအောင်မြင်ပါ" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "သင်áŹá€ˇá€„်á€á€¬á€”က်ကွန်နက်ရှင်ကိုစစ်ဆေးကြည့်ပါ" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Package မá€á€Šá€şá€›á€ľá€­á€•ါ" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Package သည်နောက်ဆုံးပေါ်ဖြစ်သည်" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Package သည်သွင်းပြီးထားပါ" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Package မသွင်းရသေးပါ" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/ms.po0000644000175000017500000013332612117271433015646 0ustar renaterenate00000000000000# Malay translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-02 10:23+0000\n" "Last-Translator: abuyop \n" "Language-Team: Malay \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Senarai kekunci vendor yang dipercayai" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Untuk paparkan senarai kekunci dipercayai, anda perlukan pengsahihan." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Buang fail pakej yang dimuat turunkan" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Untuk membersihkan fail pakej yang dimuat turun, anda perlu dapatkan " "pengesahihan." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Ubah konfigurasi perisian" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Untuk mengubah tetapan perisian, anda perlu dapatkan pengesahihan." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Ubah repositori perisian" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Untuk mengubah tetapan repositori perisian, anda perlukan pengsahihan." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Pasang fail pakej" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Untuk memasang pakej ini, anda perlukan pengsahihan." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Kemaskini informasi pakej" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Untuk mengemakini katalog perisian, anda perlukan pengsahihan." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Pasang atau buang pakej" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Untuk memasang atau membuang perisian, anda perlukan pengsahihan." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Pasang perisian dari repositori tersenarai putih yang sangat-dipercayai." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Untuk memasang perisian, anda perlu sahihkan." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Tambah repositori baru dan pasang pakej darinya" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Untuk memasang dari sumber baru, anda perlukan pengsahihan." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Tambah repositori baru bagi perisian yang dibeli dan pasang pakej darinya" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Untuk memasang perisian, anda perlukan pengsahihan." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Tingkatkan pakej-pakej" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Untuk memasang kemaskini perisian, anda perlukan pengsahihan." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Batalkan tugas pengguna lain" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Untuk membatalkan perubahan perisian orang lain, anda perlukan pengsahihan." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Tetapkan proksi untuk memuat turun perisian" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Untuk gunakan pelayan proksi bagi tujuan memuat turun perisian, anda " "perlukan pengsahihan." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "RALAT" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Telah memuat-turun %sB dari %sB pada %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Telah memuat-turun %sB daripada %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "RALAT:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Anda tidak dibenarkan melakukan tindakan ini." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Membaris Gilir" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Menghuraikan keperluan" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Pakej BARU berikut akan dipasangkan (%(count)s):" msgstr[1] "Pakej BARU berikut akan dipasangkan (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Pakej berikut akan ditatarkan (%(count)s):" msgstr[1] "Pakej berikut akan ditatarkan (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Pakej berikut akan DIBUANG (%(count)s):" msgstr[1] "Pakej berikut akan DIBUANG (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Pakej berikut akan DITURUN TARAF (%(count)s):" msgstr[1] "Pakej berikut akan DITURUN TARAF (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Pakej berikut akan dipasang semula (%(count)s):" msgstr[1] "Pakej berikut akan dipasang semula (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Pakej berikut akan dikekalkan (%(count)s):" msgstr[1] "Pakej berikut akan dikekalkan (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Perlu dapatkan %sB arkib." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Selepas operasi ini, %sbait ruang cakera akan digunakan." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Selepas operasi ini, %sbait ruang cakera akan dibebaskan." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Adakah anda ingin meneruskannya [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Untuk mengoperasi lebih daripada satu pakej, letakkan nama pakej didalam " "tanda petikan:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Segar semula cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Cuba baiki dependensi yang rosak? Merupakan operasi yang berkemungkinan " "merbahaya kerana ia boleh menyebabkan pembuangan banyak pakej." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Cuba selesaikan pemasangan tidak lengkap yang terdahulu" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Pasang pakej yang diberikan" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Pasang semula pakej yang diberikan" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Buang pakej yang diberikan" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Buang pakej yang diberikan termasuklah fail konfigurasi" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Turun taraf pakej yang diberikan" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Usang: Sila gunakan --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Tatar sistem melalui kaedah yang selamat" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Tatarkan sistem, kemungkinan melibatkan pemasangan dan pembuangan pakej" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Tambah vendor kepada yang dipercayai" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Tambah id kekunci vendor (juga perlukan --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Guna keyserver yang diberikan untuk mencari kekunci" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Tambah repositori baru dari deb-line yang diberikan" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Tentukan fail sources.list.d alternatif yang mana repositori seharusnya " "ditambahkan." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Senarai kekunci vendor yang dipercayai" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Buang kekunci yang dipercayai berdasarkan fingerprint yang diberikan" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Konfigur semula pakej yang dipasang. Keutamaan soalan diminimumkan boleh " "ditentukan secara pilihan" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Keutamaan soalan debconf diminimumkan untuk dipaparkan" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Jangan lampirkan ke terminal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Benarkan pakej dari sumber yang tidak disahihkan" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Papar maklumat tambahan mengenai pakej. Buat masa ini hanya nombor versi" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Menunggu pengsahihan" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Jangan menutup daemon disebabkan ketiadaaan aktviti" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Jangan muat apa-apa pemalam" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Tunjukkan informasi pemprosesan dalam" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Tutup dan gantikan sebuah daemon yang sedang berjalan" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Dengar bus sesi DBUS (Hanya diperlukan untuk pengujian" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Lakukan operasi didalam chroot yang diberikan" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Simpan stat profil dalam fail yang ditentukan" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Jangan membuat apa-apa perubahan kepada sistem (Hanya berguna kepada " "pembangun)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Fail dipasang" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Pakej dipasang" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Telah menambah kunci daripada fail" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Telah kemaskini cache" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Gelintar selesai" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Telah membuang kunci dipercayai" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Pakej-pakej yang telah dibuang" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Pakej-pakej yang telah dikemaskini" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistem yang telah ditingkatkan" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Perubahan yang telah digunakan" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Pemasangan tidak lengkap telah dibaiki" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Keperluan rosak telah dibaiki" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Sumber perisian tambahan" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Membenarkan komponen distribusi" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Buang fail pakej yang dimuat turun" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Konfigur semula pakej yang dipasang" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Berjaya" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Dibatalkan" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Gagal" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Memasang fail" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Memasang pakej-pakej" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Menambah kunci daripada fail" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Mengemaskini cache" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Membuang kunci dipercayai" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Membuang pakej-pakej" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Mengemaskini pakej-pakej" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Meningkatkan sistem" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Menerapkan perubahan" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Membaiki pemasangan tidak lengkap" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Membaiki perisian terpasang" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Menambah sumber perisian" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Membenarkan komponen distribusi" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Membuang fail pakej yang dimuat turun" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Menkonfigurasi semula pakej yang dipasang" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Menggelintar" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Pemasangan fail pakej telah gagal" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Pemasangan perisian telah gagal" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Menambah kunci ke senarai pembekal perisian yang dipercayai mengalami " "kegagalan" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Menyegarkan senarai perisian telah gagal" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Membuang penjaja daripada senarai penjaja dipercaya telah gagal" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Membuang perisian telah gagal" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Mengemaskini perisian telah gagal" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Meningkatkan sistem telah gagal" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Menerapkan perubahan perisian telah gagal" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Membaiki pemasangan tidak lengkap telah gagal" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Membaiki keperluan rosak telah gagal" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Penambahan sumber perisian gagal" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Penambajan komponen distribusi gagal" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Pembuangan fail pakej yang dimuat turun gagal" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Gelintar gagal" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Menambah kunci lesen" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Periksa sambungan Internet anda." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Periksa jika anda sedang mengguna repositori parti ketiga. Jika ya " "nyahbolehkan mereka, kerana mereka adalah penyebab masalah biasa.\n" "Apalagi jalankan arahan berikut didalam satu Terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Fail yang dipilih mungkin bukan fail kekunci GPG atau fail mungkin buruk." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "kekunci pilihan tidak dapat dibuangkan. Semak sama ada anda telah masukkan " "fingerprint yang sah." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Semak sama ada anda sedang jalankan alat pengurusan perisian yang lain, cth. " "Sypnatic atau aptitude. Hanya satu alat dibenarkan untuk membuat perubahan." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Ini adalah masalah penting. Cuba lagi kemudian. Jika masalah ini muncul " "semula, sila laporkan ralat kepada pembangun." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "Semak ejaan nama pakej, dan repositori tersebut dibenarkan." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Tiada keperluan untuk kemaskini." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Tiada keperluan untuk pemasangan" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Tiada keperluan untuk membuang." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Anda meminta untuk membuang sebuah pakej yang penting kepada sistem anda." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Sambungan kepada daemon telah hilang. Kemungkinan besar daemon latarbelakang " "telah mati." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Pemasangan atau pembuangan sebuah pakej perisian telah gagal." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Fitur dipinta tidak disokong." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Terdapat ralat pengaturcaraan didalam aptdaemon, perisian yang membenarkan " "anda memasang/membuang perisian dan lakukan tugas berkaitan dengan " "pengurusan pakej." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Ralat ini mungkin disebabkan keperluan pakej perisian tambahan yang hilang " "atau tidak dipasang. Tambahan pula mungkin terdapat konflik antara pakej " "perisian yang tidak membenarkannya dipasang pada masa yang sama." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Ia perlukan pemasangan pakej dari sumber tidak disahihkan." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Pemasangan mungkin telah gagal disebabkan ralat didalam pakej perisian " "selaras dengannya atau ia dibatalkan didalam cara yang dipaksa. Anda perlu " "membaiki ini sebelum anda boleh memasang atau membuang perisian lagi." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "Sila salin fail ke komputer setempat anda dan semak kebenaran fail." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Pemasangan pakej yang mana melanggari piawaian kualiti yang dibenarkan. Ini " "akan menyebabkan masalah pada komputer anda. Sila hubungi individu atai " "organisasi yang menyediakan fail pakej ini termasuklah perincian dibawah." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Kunci lesen dimuat turun yang diperlukan untuk jalankan perisian ini tidak " "sah atau tidak dapat dipasang dengan betul.\n" "Rujuk perincian untuk maklumat lanjut." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Semua penataran yang ada telah dipasang." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Kunci lesen yang membenarkan anda gunakan perisian ini tidak dapat dimuat " "turun. Sila semak sambungan rangkaian anda." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" "Anda tidak memiliki kelayakan yang diperlukan untuk membuat tindakan ini." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Anda sama ada beri kata laluan yang salah atau batalkak keizinan.\n" "Tambahan pula juga terdapat sebab teknikal berlakunya ralat ini jika anda " "tidak dapat lihat dialog kata laluan: persekitaran dekstop anda tidak " "menyediakan ejen sesi Kit Polisi." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Gagal untuk memuat-turun fail-fail pakej" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Gagal untuk memuat-turun informasi repositori" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Keperluan pakej tidak dapat diselesaikan" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Sistem pakej adalah rosak" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Kunci tidak dipasang" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Kunci tidak dibuang" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Gagal untuk mengunci pengurus pakej" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Gagal untuk memuat senarai pakej" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakej tidak wujud" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Pakej sudah dikemaskini" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakej sudah dipasang" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakej tidak dipasang" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Gagal untuk membuang pakej sistem yang diperlukan" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Tugas tidak dapat diperhatikan atau dikawal" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Operasi pakej telah gagal" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Memerlukan pemasangan pakej-pakej yang tidak dipercayai" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Pemasangan yang dahulu belum diselesaikan lagi" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Pakej berkualiti rendah" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Fail pakej tidak boleh dibuka" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Fitur tidak disokong" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Gagal memuat turun kunci lesen" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Gagal memasang kunci lesen" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Sistem sudah dikemakini" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Anda tidak diizinkan" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Anda tidak dibenarkan membuat tindakan ini" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Ralat yang tidak boleh dikendalikan berlaku" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Menunggu untuk servis bermula" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Menunggu" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Menunggu untuk medium yang diperlukan" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Menunggu untuk pengurus perisian lain untuk tutup" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Menunggu untuk prompt fail konfigurasi" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Menjalankan tugas" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Sedang dimuat-turun" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Menanya sumber perisian" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Sedang membersihkan" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Selesai" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Sedang membatalkan" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Memuat senarai perisian" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Sedang memasang %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Mengubahsuai %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Membuang %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "membuang sepenuhnya %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Khidmat kehilangan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Menjalankan pemetik sebelum-pemasangan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Meningkatkan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Membuka %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Menyediakan pemasangan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Menyediakan konfigurasi %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Menyediakan pembuangan %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Menyediakan pembuangan lengkap %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Pasang %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Buang sepenuhnya %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Buang %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Memproses %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Selesai" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Penyahihan gagal" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Memperoleh" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Melahu" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Rangkaian tiada" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Butiran" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fail" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Memuat Turun %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Dimuat turun" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' diperlukan" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Sila masukkan CD/DVD kedalam pemacu '%s' untuk memasang pakej perisian " "didalamnya." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "T_eruskan" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Pasang" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Pasang Semula" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Buang" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Singkirkan" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Tatar" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Turun Taraf" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Langkau tatar" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Sila lihat senarai perubahan dibawah." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Perisian tambahan yang perlu dipasangkan" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Perisian tambahan yang perlu dipasang semula" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Perisian tambahan yang perlu dibuang" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Perisian tambahan yang perlu disingkirkan" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Perisian tambahan yang perlu ditatarkan" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Perisian tambahan yang perlu diturun taraf" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Kemaskini akan dilangkau" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Perubahan tambahan diperlukan" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB akan dimuat turun secara keseluruhan." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB ruang cakera akan dibebaskan." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB ruang cakera akan digunakan." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Gantikkan pertukaran yang anda buat didalam '%s' dengan versi kemudian fail " "konfigurasi tersebut?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Jika anda tidak mengetahui kenapa fail tersebut sudah berada disitu, ia " "biasanya sudah selamat untuk menggantikannya." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Pertukaran" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Simpan" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Gantikan" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Butiran" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Menunggu %s untuk keluar" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Memuat turun %(files)s" msgstr[1] "Memuat turun %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "repositori setempat" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Memuat turun dari %s" msgstr[1] "Memuat turun dari %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Struktur bagi %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Keterangan %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Tandatangan keterangan %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Pakej tersedia dari %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Sumber tersedia dari %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Terjemahan tersedia dari %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Terjemahan untuk %s (%s) dari %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Terjemahan untuk %s dari %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Terjemahan (%s) dari %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Pakej %s tiada" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pakej %s tidak dipasang" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versi %s dari %s tidak dipasang" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Pakej %s sudah dipasang" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Versi %s dari %s tiada." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "URL pelayan kunci tidak sah: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Protokol pelayan tidak sah: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Id kekunci tidak sah: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Gagal memuat turun dan pasang kekunci %s dari %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Fail kekunci %s tidak dapat dipasang: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Kekunci dengan cap jari %s tidak dapat dibuang: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Pakej %s tidak dapat dibuang." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versi %s dari %s tidak dapat dipasang" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Versi lama %s dari %s sudah pun dipasang" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Versi %s dari %s sudah pun dipasang" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Versi %s dari %s tiada" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Anda perlu tentukan versi untuk turun taraf %s ke" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Versi %s lama dari %s sudah pun dipasang" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Pakej %s tiada didalam keluaran %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Pakej %s tidak dapat dibuang" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Pakej tidak menyediakan medan kawalan Saiz-Terpasang yang sah. Rujuk Polisi " "Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Kunci lesen kosong" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "kunci lesen tidak dibenarkan mengandungi kod boleh laku." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Laluan kunci lesen %s tidak sah" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Kunci lesen sudah wujud: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Lokasi kunci lesen tidak selamat semenjak ia mengandungi pautan simbolik. " "Laluan %s dipetakan ke %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Direktori untuk memasang kunci tidak wujud lagi: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Gagal menulis fail kunci ke: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Pakej berikut mempunyai dependensi yang tidak menepati syarat:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "tetapi ianya pakej maya" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "tetapi ianya tidak dipasang" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "tetapi ianya tidak akan dipasang" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "tetapi %s yang terpasang." #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "tetapi %s yang akan dipasang" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Menambah kunci kepada senarai penjaja perisian yang dipercayai telah gagal" aptdaemon-1.1.1/po/tr.po0000644000175000017500000013464512117271433015661 0ustar renaterenate00000000000000# Turkish translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-19 21:59+0000\n" "Last-Translator: Volkan Gezer \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "GĂĽvenilir saÄźlayıcıların anahtarlarını listele" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "GĂĽvenilir anahtarların listesini görmek için kimlik doÄźrulaması gerekli." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "İndirilen paket dosyalarını kaldır" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "İndirilen paket dosyalarını temizlemek için, kimliÄźinizi doÄźrulamalısınız." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Yazılım yapılanmasını deÄźiĹźtir" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Yazılım ayarlarını deÄźiĹźtirmek için, kimliÄźinizi doÄźrulamalısınız." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Yazılım deposunu deÄźiĹźtir" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "Yazılım depo ayarlarını deÄźiĹźtirmek için kimlik doÄźrulaması gerekli." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Paket dosyasını kur" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Bu paketi kurmak için kimlik doÄźrulaması gerekli." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Paket bilgisini gĂĽncelleĹźtir" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Yazılım rehberini gĂĽncelleĹźtirmek için kimlik doÄźrulaması gerekli." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Paketleri kur ya da kaldır" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Yazılım kurmak ya da kaldırmak için kimlik doÄźrulaması gerekli." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "Yazılımı beyaz listedeki gĂĽvenilir bir depodan yĂĽkle." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Yazılımını yĂĽklemek için kimlik doÄźrulaması gerekiyor." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Yeni bir depo ekle ve oradan paket kur" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Yeni kaynaktan yazılım yĂĽklemek için yetkilendirilmiĹź olmanız gerekmektedir." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "Ăścretli bir paket deposu ekle ve oradan paket kur" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "Ăścretli yazılım yĂĽkleyebilmeniz için yetkilendirilmiĹź olmanız gerekmektedir." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Paketleri yĂĽkselt" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "GĂĽncelleĹźtirilen yazılımı kurmak için kimlik doÄźrulaması gerekli." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "BaĹźka bir kullanıcının görevini iptal et" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "BaĹźka birisinin yazılım deÄźiĹźikliklerini iptal edebilmek için kimlik " "doÄźrulaması gerekli." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Yazılım indirmeleri için vekil sunucu ayarla" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Yazılım indirirken bir vekil sunucu kullanmak için kimlik doÄźrulaması " "gerekli." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "HATA" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB of %sB at %sB/s İndirildi" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Downloaded %sB of %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "HATA:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Bu iĹźlemi gerçekleĹźtirmenize izin verilmiyor." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "KuyruÄźa alınıyor" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Bağımlılıklar çözĂĽmleniyor" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "AĹźağıdaki (%(count)s) YENİ paket kurulacak:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "AĹźağıdaki (%(count)s) paket yĂĽkseltilecek:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "AĹźağıdaki (%(count)s) paket kaldırılacak:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "AĹźağıdaki (%(count)s) paketin sĂĽrĂĽmĂĽ düşürĂĽlecek:" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "AĹźağıdaki paketler tekrar kurulacak (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "AĹźağıdaki (%(count)s) paket deÄźiĹźtirilmeyecek:" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "%sB arĹźivlerinin alınması gerekli." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Bu iĹźlemden sonra, ilave disk alanından %sB kullanılacak." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Bu iĹźlemden sonra, ilave disk alanından %sB boĹź olacak." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Devam etmek istiyor musunuz[E/H]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Birden fazla paket ĂĽzerinde iĹźlem yapmak için paket isimlerini tırnak " "iĹźaretleri içine koyun:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Ă–nbelleÄźi yenile" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Kırık bağımlılıkların çözĂĽlmeye çalışılması. Çok sayıda paket " "kaldırılabileceÄźinden dolayı tehlikeli bir iĹźlemdir." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Daha önceki tamamlanmayan kurulumu bitirmeye çalış" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Verilen paketleri kur" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Verilen paketleri tekrar kur" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Verilen paketleri kaldır" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Yapılandırma dosyalarını içeren verilmiĹź paketleri kaldır" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Verilen paketlerin sĂĽrĂĽmlerini düşür" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Onaylanmadı: LĂĽtfen --gĂĽvenli-yĂĽkseltme kullanın" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Sistemi gĂĽvenli bir Ĺźekilde yĂĽkselt" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" "Sistemi yĂĽkseltin, bu iĹźlem sırasında bazı paketler kurulabilir ve " "kaldırılabilir" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "SaÄźlayıcıyı gĂĽvenilenler listesine ekleyin" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Ăśretici anahtar kimliÄźi ekleyin (ayrıca gereken --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Anahtarları aramak için verilen anahtar sunucuyu kullanın" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Verilen deb-satırından yeni depo ekleyin" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Hangi depoların ekleneceÄźini belirleyen alternatif bir source.list.d dosyası " "belirtin." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "GĂĽvenilir saÄźlayıcı anahtarlarını listele" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Parmak izi verilen doÄźrulanmış anahtarı kaldırın" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "YĂĽklenen paketleri yeniden yapılandır. Seçimsel olarak soruların önem " "derecesi belirlenebilir" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "GörĂĽntĂĽlenecek sorunun en küçük debconf önceliÄźi" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "apt uç birimine iliĹźtirmeyin" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "TasdiklenmemiĹź kaynaklardan paketlere izin verir" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Paketler hakkındaki ek bilgileri göster. Ĺžu an sadece sĂĽrĂĽm numarası " "görĂĽntĂĽleniyor" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Kimlik doÄźrulaması için bekleniyor" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Hareketsizlik nedeniyle sihirbazı kapatmayın" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Hiçbir eklentiyi yĂĽkleme" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "İç iĹźlem bilgisini göster" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Çık ve çalışan bir sĂĽreçle deÄźiĹźtir" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "DBus oturum arabirimi ĂĽzerinden dinle (Sadece test için gerekli" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "İşlemleri verilen chroot içinde yap" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Profil bilgilerini seçilen dosyada sakla" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Sistem ĂĽzerinde herhangi bir deÄźiĹźiklik yapmayınız ( Yalnızca " "geliĹźtiricilerin kullanımı için)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "YĂĽklenen dosya" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Kurulan paketler" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Dosyadan anahtar eklendi" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Ă–nbellek gĂĽncelleĹźtirildi" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Arama tamamlandı" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "GĂĽvenilir anahtar silindi" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Kaldırılan paketler" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "GĂĽncelleĹźtirilen paketler" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "YĂĽkseltilen sistem" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Uygulanan deÄźiĹźiklikler" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Onarılan tamamlanmamış kurulum" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Onarılan kırık bağımlılıklar" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Depo eklendi" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "EtkinleĹźtirilen dağıtım bileĹźeni" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "İndirilen paket dosyaları kaldırıldı" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Kurulan paketler yeniden yapılandırıldı" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "BaĹźarılı" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "İptal Edildi" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "BaĹźarısız" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Dosya yĂĽkleniyor" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Paketler kuruluyor" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Dosyadan anahtar ekleniyor" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Ă–nbellek gĂĽncelleniyor" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "GĂĽvenilir anahtar siliniyor" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Paketler siliniyor" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Paketler gĂĽncelleniyor" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Sistem yĂĽkseltiliyor" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "DeÄźiĹźiklikler uygulanıyor" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Tamamlanmamış kurulum onarılıyor" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Kurulu yazılım onarılıyor" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Depo ekleme" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Dağıtım bileĹźeni etkinleĹźtiriliyor" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "İndirilen paket dosyaları kaldırılıyor" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "YĂĽklenen paketler yeniden yapılandırılıyor" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Arıyor" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Paket dosyasının kurulumu baĹźarısız oldu" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Yazılım kurulumu baĹźarısız oldu" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "Anahtarı, gĂĽvenilir yazılım saÄźlayıcı listesine ekleme baĹźarısız" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Yazılım listesinin yenilenmesi baĹźarısız oldu" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "SaÄźlayıcı gĂĽvenilir olanlar listesinden kaldırma baĹźarısız oldu" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Yazılımın kaldırılması baĹźarısız oldu" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Yazılım gĂĽncellemesi baĹźarısız oldu" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Sistem yĂĽkseltmesi baĹźarısız oldu" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Yazılım deÄźiĹźiklikleri uygulaması baĹźarısız oldu" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Tamamlanmamış kurulum onarımı baĹźarısız oldu" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Kırık bağımlılıkların onarımı baĹźarısız oldu" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Depo eklenemedi" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Dağıtım bileĹźeni etkinleĹźtirilemedi" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "İndirilen paketlerin kaldırılması baĹźarısız oldu" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Arama baĹźarısız oldu" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Lisans anahtarı ekleniyor" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "İnternet baÄźlantınızı kontrol edin." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "ÜçüncĂĽ parti paket depoları kulanıp kullanmadığını denetleyin.EÄźer " "kullanıyorsanız problemlerin kaynağı genellikle onlardır.\n" "Ayrıca konsolda Ĺźu komutu girin: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Seçili dosya bir GPG anahtar dosyası olmayabilir veya bozuk olabilir." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Seçilen anahtar kaldırılamıyor. Geçerli bir parmak izi saÄźladığınızı kontrol " "edin." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "BaĹźka bir yazılım yönetim aracını Ĺźu anda çalıştırıp çalıştırmadığınızı " "kontrol edin, örneÄźin Synaptic veya aptitude. Bir seferde sadece bir araç " "deÄźiĹźiklik yapabilir." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Bu ciddi bir problem. Daha sonra tekrar deneyin. EÄźer bu problem tekrar " "gözĂĽkĂĽrse, lĂĽtfen geliĹźtiricilere hatayı rapor edin." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "Paket adının yazımını ve uygun deponun etkinliÄźini denetleyin." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "GĂĽncelleĹźtirmeye ihtiyaç yok." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Bir kuruluma ihtiyaç yok" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Kaldırmak için herhangi bir neden yok." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Sisteminizin temel bölĂĽmlerinden olan bir paketi kaldırmak istiyorsunuz." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Sihirbazla olan baÄźlantı kesildi. BĂĽyĂĽk olasılıkla arka plan sihirbazı çöktĂĽ." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Bir paketin kurulumu ya da kaldırılması baĹźarısız oldu." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Talep edilen özellik desteklenmiyor." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Yazılım kurmanızı/kaldırmanızı ve paket yönetimi ile ilgili diÄźer görevleri " "gerçekleĹźtirmenizi saÄźlayan aptdaemon'da bir programlama hatası var gibi " "gözĂĽkĂĽyor." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Bu hata, bulunamayan veya kurulabilir olmayan gerekli ek yazılım " "paketlerinden kaynaklanıyor olabilir ya da aynı anda kurulamayan yazılım " "paketleri arasındaki çakışmadan kaynaklanıyor da olabilir." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Bu kurulum doÄźrulanmamış kaynaklardan yĂĽkleme yapmayı gerektiriyor." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "YĂĽkleme iĹźlemi ilgili yazılım paketindeki bir hata yĂĽzĂĽnden veya uygun " "olmayan bir biçimde kapatılmasından dolayı baĹźarısız olmuĹź olabilir. BaĹźka " "bir yazılım yĂĽklemeden veya kaldırmadan önce bu durumu dĂĽzeltmelisiniz." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "LĂĽtfen dosyayı yerel bilgisayarınıza kopyalayın ve dosya izinlerini kontrol " "ediniz." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Nitelik standartlarını bozan bu paketin kurulumuna izin verilmedi. Bu, " "bilgisayarınızla ilgili ciddi sorunlara neden olabilir. LĂĽtfen bu paketi " "saÄźlayan kiĹźiyle ya da kurumla iletiĹźime geçin ve paket paketin altına " "ayrıntıları da ekleyin." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Bu yazılımı çalıştırabilmek için indirilen lisans anahtarı geçerli deÄźil ya " "da dĂĽzgĂĽn bir Ĺźekilde yĂĽklenemedi.\n" "Daha fazla bilgi için ayrıntılara bakın." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Kullanılabilir tĂĽm gĂĽncellemeler zaten yĂĽklenmiĹź durumda." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Bu yazılımı kullanabilmeniz için gerekeli lisans anahtarı indirilemedi. " "LĂĽtfen aÄź baÄźlantınızı kontrol edin." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Bu iĹźlemi gerçekleĹźtirmek için yeterli yetkiye sahip deÄźilsiniz." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Yanlış bir Ĺźifre girmiĹź olabilir veya yetkilendirmeyi iptal etmiĹź " "olabilirsiniz.\n" "Ayrıca, eÄźer bir Ĺźifre iletisi görmediyseniz, teknik bir sebep olabilir: " "masaĂĽstĂĽ ortamınız PolicyKit oturum aracı saÄźlamıyor." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Paket dosyalarını indirme baĹźarısız" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Depo bilgisini indirme baĹźarısız" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Paket bağımlılıkları çözĂĽlemiyor" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Paket sistemi bozuk" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Anahtar kurulmadı" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Anahtar kaldırılmadı" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Paket yöneticisini kilitleme baĹźarısız" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Paket listesini yĂĽkleme baĹźarısız" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paket yok" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Paket zaten gĂĽncel durumda." #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Paket zaten kurulmuĹź" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Paket kurulu deÄźil" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Temel sistem paketlerini kaldırma baĹźarısız" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "İşlem gösterilemiyor ya da kontrol edilemiyor" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Paket iĹźlemi baĹźarısız" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "GĂĽvenilir olmayan paketlerin kurulumunu gerektirir" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Ă–nceki kurulum tamamlanmadı" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Paket kötĂĽ kalitede" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Paket dosyası açılamadı" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Desteklenmeyen özellik" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Lisans anahtarı indirme iĹźlemi baĹźarısız oldu" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Lisans anahtarı kurulumu baĹźarısız oldu" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Sistem zaten gĂĽncel" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Yetkilendirilemediniz" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Bu iĹźlemi gerçekleĹźtirme izniniz yok" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Ăśstesinden gelinemeyecek bir sorun oluĹźtu" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "BaĹźlamak için servis bekleniyor" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Beklemede" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Gerekli ortam için bekleniyor" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "DiÄźer yazılım yöneticilerinin çıkış yapması için bekleniyor" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "İstenen yapılandırma dosyası için bekleniyor" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Çalışan görev" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "İndiriliyor" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Yazılım kaynakları sorgulanıyor" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Temizlik yapılıyor" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Bitti" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "İptal ediliyor" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Yazılım listesi yĂĽkleniyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s kuruluyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s yapılandırılıyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s kaldırılıyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s tamamen kaldırılıyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "%s paketinin kaybolduÄźu not ediliyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Son-kurulum tetikleyicisi %s çalışıyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s yĂĽkseltiliyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s paketi açılıyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "%s paketini yĂĽklemeye hazırlanılıyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "%s paketini yapılandırmaya hazırlanılıyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "%s paketini kaldırmaya hazırlanılıyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "%s paketinin tamamen kaldırılmasına hazırlanılıyor" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s kuruldu" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s tamamen kaldırıldı" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s kaldırıldı" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "%s iĹźleniyor" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Yapıldı" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Kimlik doÄźrulama baĹźarısız oldu" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Alınıyor" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "BoĹźta" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "AÄź kullanılabilir durumda deÄźil" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Ayrıntılar" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Dosya" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sB İndirildi" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "İndirilen" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "'%s' CD/DVD gerekli" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "LĂĽtfen yazılım paketlerini yĂĽklemek için ĂĽzerindeki CD/DVD'yi '%s' " "sĂĽrĂĽcĂĽsĂĽne takın." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "D_evam Et" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Kur" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Yeniden kur" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Kaldır" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Temizle" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "YĂĽkselt" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "SĂĽrĂĽm düşür" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "YĂĽkseltmeyi atla" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "LĂĽtfen, aĹźağıdaki deÄźiĹźiklik listesine bir göz atın." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Ek yazılım kurulması gerekiyor" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Ek yazılımın yeniden kurulması gerekiyor" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Ek yazılım kaldırılması gerekiyor" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Ek yazılımın temizlenmesi gerekiyor" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Ek yazılım yĂĽkseltmesi gerekiyor" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Ek yazılımın sĂĽrĂĽmĂĽnĂĽn düşürĂĽlmesi gerekiyor" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "GĂĽncelleĹźtirmeler atlanacak" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Ek deÄźiĹźiklikler gerekli" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB tamamıyla indirilecek." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB disk alanı boĹźalacak." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB daha disk alanı kullanılacak." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "'%s' içindeki deÄźiĹźiklikleriniz yapılandırma dosyasının sonraki bir sĂĽrĂĽmĂĽ " "ile deÄźiĹźtirilsin mi?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "EÄźer dosyanın neden hala burada olduÄźunu bilmiyorsanız, yerinde tutmak " "genellikle daha gĂĽvenlidir." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_DeÄźiĹźiklikler" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Koru" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_DeÄźiĹźtir" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detaylar" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Çıkmak için %s bekleniyor" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "%(files)s İndiriliyor" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "Yerel yazılım kaynağı" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "%s'ten indiriliyor" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s paketinin yapısı" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s paketinin açıklaması" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%s paketinin açıklama imzası" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "%s deposundaki kullanılabilir paketler" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "%s deposundaki kullanılabilir kaynaklar" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "%s deposundaki kullanılabilir çeviriler" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%s (%s) için %s deposundaki çeviriler" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s için %s deposundaki çeviriler" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "\"%s\" çevirilerinin deposu: %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "%s Paketi eriĹźilebilir deÄźil" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "%s paketi yĂĽklenmedi" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "%s 'in %s sĂĽrĂĽmĂĽ yĂĽklĂĽ deÄźil." #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "%s Paketi daha önceden yĂĽklenmiĹź" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "%s in %s sĂĽrĂĽmĂĽ mevcut deÄźil" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "Anahtar sunucu adresi geçersiz: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Sunucu için geçersiz iletiĹźim kuralları: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Geçersiz anahtar kimliÄźi: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "%s Anahtarının %s adresinden indirilmesi ve yĂĽklenmesi baĹźarısız oldu:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "%s Anahtar dosyası yĂĽklenemedi: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "%s iziyle olan anahtarlar silinemedi :%s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "%s paketi kaldırılamadı." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "%s öğesinin %s sĂĽrĂĽmĂĽ kurulu deÄźil" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "%s'ın daha eski sĂĽrĂĽmĂĽ olan %s zaten yĂĽklenmiĹź." #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "%s öğesinin %s sĂĽrĂĽmĂĽ zaten kurulu" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "%s in %s sĂĽrĂĽmĂĽ mevcut deÄźil" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "%s Paketini düşürmek istediÄźiniz sĂĽrĂĽmĂĽ belirtmelisiniz" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "%s 'in daha yeni sĂĽrĂĽmĂĽ %s zaten yĂĽklenmiĹź." #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "%s paketi %s sĂĽrĂĽmĂĽnde mevcut deÄźil." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "%s Paketi kaldırılamadı" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Kurulan paket geçerli bir YĂĽkleme-Boyut kontrol alanı saÄźlamıyor. Debian " "sözleĹźmesi 5.6.20'ye bakınız." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Lisans anahtarı boĹź" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Lisans anahtarı çalıştırılabilir kod içeremez" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "%s lisans anahtar yolu geçersiz" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Lisans anahtarı zaten mevcut: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Sembolik baÄźlantılar içerdiÄźinden dolayı lisans anahtarının konumu gĂĽvenli " "deÄźil. %s yolu %s'e çıkıyor" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Anahtarın yĂĽkleneceÄźi dizin henĂĽz bulunmuyor: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Anahtar dosyası Ĺźu konuma yazılamadı: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "AĹźağıdaki paketler karşılanmamış bağımlılıklara sahip:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "ama bu bir sanal paket" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ama kurulu deÄźil" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ama kurulmayacak" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ama %s kurulu" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ama %s kurulacak" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "GĂĽvenilir yazılım saÄźlayıcılarının listesine anahtar ekleme baĹźarısız oldu" aptdaemon-1.1.1/po/hi.po0000644000175000017500000016515512117271433015634 0ustar renaterenate00000000000000# Hindi translation for aptdaemon # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-12-25 16:28+0000\n" "Last-Translator: Vibhav Pant \n" "Language-Team: Hindi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "विश्वसनीय विक्रेता का कŕĄŕ¤ŕ¤śŕĄ€ सूची" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "विश्वसनीय कŕĄŕ¤ŕ¤śŕĄ€ की सूची को देखने के लिए, आपको सत्यापन की आवश्यकता हŕĄ." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "डाउनलोड पŕĄŕ¤•ज संचिका हटाएŕ¤" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "डाउनलोड पŕĄŕ¤•ेज संचिका को साफ करने के लिए आपको प्राधिकार की आवश्यकता हŕĄ" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "सॉफ्टवेयर विन्यास बदलें" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "सॉफ्टवेयर विन्यास हेतŕĄ, आपको प्राधिकार की आवश्यकता हŕĄ." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "सॉफ्टवेयर भंडार बदले" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "सॉफ्टवेयर भंडार विन्यास को बदलने हेतŕĄ, आपको सत्यापन की आवश्यकता हŕĄ." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "पŕĄŕ¤•ेज संचिका को संस्थापित करें" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "इस पŕĄŕ¤•ेज को संस्थापित करने के लिए, आपको सत्यापन की आवश्यकता हŕĄ." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "पŕĄŕ¤•ेज सूचना को अद्यतन करें" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "सॉफ्टवेयर नामावली के अद्यतन के लिए, आपको सत्यापन की आवश्यकता हŕĄ." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "पŕĄŕ¤•ेज संस्थापित करें या हटाएŕ¤" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" "सॉफ्टवेयर को संस्थापित करने या हटाने के लिए आपको सत्यापन की आवश्यकता हŕĄ." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "एक नया भंडार जोड़े तथा इससे पŕĄŕ¤•ेज संस्थापित करें" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "नए स्रोत से सॉफ्टवेयर संस्थापित करने के लिए, आपको सत्यापन की आवश्यकता हŕĄ." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "एक नया सॉफ्टवेयर खरीदारी का भंडार जोड़े तथा इससे पŕĄŕ¤•ेज संस्थापित करें" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" "खरीदे गए सॉफ्टवेयर को संस्थापित करने के लिए, आपको सत्यापन की आवश्यकता हŕĄ." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "अद्यतन पŕĄŕ¤•ेज" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "अद्यतन सॉफ्टवेयर को संस्थापित करने के लिए, आपको सत्यापन की आवश्यकता हŕĄ." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "दूसरे प्रयोक्ता के कार्य को रद्द करें" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "किसी और के द्वारा सॉफ्टवयेर परिवर्तन को निरस्त करने हेतŕĄ, आपको सत्यापन की " "आवश्यकता हŕĄ." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "सॉफ्टवेयर डाउनलोड करने हेतॠप्रॉक्सी नियत करें" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "सॉफ्टवेयर डाउनलोड करने के लिए प्रॉक्सी सर्वर के उपयोग हेतॠआपको सत्यापन की " "आवश्यकता हŕĄ." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "त्रŕĄŕ¤źŕ¤ż" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB को %sB से %sB/s पर डाउनलोड कर रहा हŕĄ" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%sB को %sB से डाउनलोड कर रहा हŕĄ" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "त्रŕĄŕ¤źŕ¤ż:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "इस कार्य को करने के लिए आपको अनŕĄŕ¤®ŕ¤¤ŕ¤ż नहीं हŕĄ." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "कतार" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "निर्भरता हल कर रहा हŕĄ" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "निम्न नया पŕĄŕ¤•ेज संस्थापित होगा (%(count)s):" msgstr[1] "निम्न नए पŕĄŕ¤•ेजो का संस्थापना होगा (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "निम्न पŕĄŕ¤•ेज उन्नत होगें (%(count)s):" msgstr[1] "निम्न पŕĄŕ¤•ेज उन्नत होगें (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "निम्न पŕĄŕ¤•ेज हटाए जाएगें (%(count)s):" msgstr[1] "निम्न पŕĄŕ¤•ेज हटाएठजाएगें (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "निम्न पŕĄŕ¤•ेज को अवनत किया जाएगा (%(count)s):" msgstr[1] "निम्न पŕĄŕ¤•ेजों को अवनत किया जाएगा (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "निम्न पŕĄŕ¤•ेज पŕĄŕ¤¨ŕ¤ŕ¤¸ŕ¤‚स्थापित होगें (%(count)s):" msgstr[1] "निम्न पŕĄŕ¤•ेज पŕĄŕ¤¨ŕ¤ŕ¤¸ŕ¤‚स्थापित होगें (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "निम्न पŕĄŕ¤•ेज को वापस रखा जाएगा (%(count)s):" msgstr[1] "निम्न पŕĄŕ¤•ेजों को वापस रखा जाएगा (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "%sB के अभिलेखों को प्राप्त करने की आवश्यकता हŕĄ." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "इस क्रिया कलाप के पश्चात, %sB अतिरिक्त डिस्क जगह का उपयोग होगा." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "इस क्रिया-कलाप के पश्चात, %sB अतिरिक्त डिस्क जगह खाली होगा." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "क्या आप आगे बढ़ना चाहते हŕĄŕ¤‚ [हाठY/ ना n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "एक से अधिक पŕĄŕ¤•ेज पर क्रिया-कलाप हेतॠपŕĄŕ¤•ेज के नामों को उद्धरण चिह्न में " "रखें:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "कŕĄŕ¤¶ को पŕĄŕ¤¨ŕ¤ŕ¤¤ŕ¤ľŕ¤śŕ¤ľ करें" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "खंडित निर्भरताओं को सŕĄŕ¤˛ŕ¤ťŕ¤ľŕ¤¨ŕĄ‡ का प्रयास करें. सम्भवतठखतरनाक क्रिया-कलाप होगा " "क्योंकि यह कठपŕĄŕ¤•ेज को हटाने का प्रयास करेगा." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "एक पूर्ववर्ति अपŕĄŕ¤°ŕĄŤŕ¤Ł संस्थापना को पŕĄŕ¤°ŕ¤ľ करने का प्रयास करें" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "दिए गए पŕĄŕ¤•ेज को संस्थापित करें" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "दिए गए पŕĄŕ¤•ेज को पŕĄŕ¤¨ŕ¤ŕ¤¸ŕ¤‚स्थापित करें" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "दिए गए पŕĄŕ¤•ेज को हटाएŕ¤" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "दिए गए पŕĄŕ¤•ेज को विन्यास संचिक सहित हटाएŕ¤" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "दिए गए पŕĄŕ¤•ेज को अवनत करें" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "अवमानना: कŕĄŕ¤Şŕ¤Żŕ¤ľ --safe-upgrade का उपयोग करें" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "तंत्र का उन्नयन सŕĄŕ¤°ŕ¤•्षित तरीके से करें" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "पŕĄŕ¤•ेज के सम्भावित संस्थापन तथा हटाने हेतŕĄ, तंत्र का उन्नयन करें" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "केवल विश्वसनीय विक्रेता को जोड़े" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "विक्रेता के कŕĄŕ¤ŕ¤śŕĄ€ आŕ¤ŕ¤ˇŕĄ€ को जोड़े (--keyserver की भी जरŕĄŕ¤°ŕ¤¤ हŕĄ)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "दिए गए कŕĄŕ¤ŕ¤śŕĄ€ŕ¤¸ŕ¤°ŕĄŤŕ¤µŕ¤° को कŕĄŕ¤ŕ¤śŕĄ€ देखने हेतॠउपयोग करें" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "दिए गए deb-line से नए भंडार को जोड़े" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "एक वŕĄŕ¤•ल्पिक sources.list.d संचिका का उल्लेख करें जो जिसका भंडार जोड़ा जाए." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "विश्वसनीय विक्रेता कŕĄŕ¤ŕ¤śŕĄ€ सूची" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "दिए गए अŕ¤ŕ¤—ŕĄŕ¤˛ŕĄ€ŕ¤›ŕ¤ľŕ¤Ş के विश्वसनीय कŕĄŕ¤ŕ¤śŕĄ€ को हटाएŕ¤" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "संस्थापित पŕĄŕ¤•ेज को पŕĄŕ¤¨ŕ¤ŕ¤µŕ¤żŕ¤¨ŕĄŤŕ¤Żŕ¤ľŕ¤¸ करें. वरियता के प्रश्नो के न्यूनतम विकल्प का " "उल्लेख करें" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "debconf के न्यूनतम वरियता संबंधित प्रश्न दिखाएŕ¤" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "एपीटी टर्मिनल को संलग्न नहीं करें" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "प्रमाणित स्रोतों से पŕĄŕ¤•ेज की अनŕĄŕ¤®ŕ¤¤ŕ¤ż दें" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "पŕĄŕ¤•ेजो के अतिरिक्त सूचना को दिखाएŕ¤. वर्तमान में केवल संस्करण संख्या" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "प्रमाणिकरण हेतॠप्रतीक्षारत" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "निष्क्रिय होने के कारण डेमन को शटडाउन न करें" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "आंतरिक प्रक्रियागत सूचना दिखाएं" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "वर्तमान चल रहे डेमन को छोड़े तथा प्रतिस्थापित करे" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "डीबस सत्र बस को ध्यान दे (केवल जाŕ¤ŕ¤š हेतॠआवश्यक" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "दिए गए chroot मेंं संक्रिया को पूरा करें" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "विशिष्ट संचिका में प्रोफाइल सांख्यिकी का संग्रह करे" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "तंत्र में कोठबदलाव न करें (केवल विकासकर्ता हेतŕĄ)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "संस्थापित संचिका" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "संस्थापित पŕĄŕ¤•ेज" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "संचिका से कŕĄŕ¤‚जी जोड़े" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "कŕĄŕ¤¶ अद्यतन करें" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "खोज हो गयी" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "विश्वासी कŕĄŕ¤‚जी को हटाएं" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "पŕĄŕ¤•ेज हटाएं" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "पŕĄŕ¤•ेज अद्यतन करें" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "तंत्र अद्यतन करें" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "बदलाव लागू करें" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "अपूर्ण संस्थापित का जीर्णोद्वार करें" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "खंडित निर्भताओं का जीर्णोद्वार करें" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "सॉफ्टवेयर स्रोत जोड़े" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "इस वितरक के ŕ¤ŕ¤źŕ¤• को समर्थ करें" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "डाउनलोड पŕĄŕ¤•ेज संचिका हटाएŕ¤" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "संस्थापित पŕĄŕ¤•ेज का पŕĄŕ¤¨ŕ¤ŕ¤µŕ¤żŕ¤¨ŕĄŤŕ¤Żŕ¤ľŕ¤¸ करें" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "सफल" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "रद्द" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "असफल" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "संचिका संस्थापित हो रहा हŕĄ" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "पŕĄŕ¤•ेज संस्थापित हो रहा हŕĄ" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "संचिका से कŕĄŕ¤‚जी जोड़े" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "कŕĄŕ¤¶ अद्यतन कर रहा हŕĄ" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "विश्वासनीय कŕĄŕ¤‚जी हटाएं" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "पŕĄŕ¤•ेज हटाएं" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "पŕĄŕ¤•ेज अद्यतन कर रहा हŕĄ" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "तंत्र को उन्नत कर रहा हŕĄ" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "बदलाव लागू कर रहा हŕĄ" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "अपूर्ण संस्थापना का जीर्णोद्वार कर रहा हŕĄ" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "स्थापित हŕĄŕ¤Ź सॉफ्टवेयर की मरम्मत हो रही हŕĄ" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "सॉफ्टवेयर स्रोत को जोड़ रहा हŕĄ" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "इस वितरक के ŕ¤ŕ¤źŕ¤• को समर्थ कर रहा हŕĄ" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "डाउनलोड पŕĄŕ¤•ेज संचिका को हटा रहा हŕĄ" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "संस्थापित पŕĄŕ¤•ेज को पŕĄŕ¤¨ŕ¤ŕ¤µŕ¤żŕ¤¨ŕĄŤŕ¤Żŕ¤ľŕ¤¸ कर रहा हŕĄ" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "खोज हो रही हŕĄŕ¤‚" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "पŕĄŕ¤•ेज संचिका का संस्थापन असफल हो गया" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "साफ्टवेयर का संस्थापन असफल हो गया" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "साफ्टवेयर सूची की पŕĄŕ¤¨ŕ¤ŕ¤¤ŕ¤ľŕ¤śŕ¤ľ करना असफल" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "विश्वसनीय सूची से विक्रेता को हटाना असफल" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "साफ्टवेयर हटाना असफल" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "साफ्टवेयर अद्यतन असफल" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "तंत्र का अद्यतन असफल" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "साफ्टवेयर बदलाव लागू करने में असफल" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "अपूर्ण संस्थापित का जीर्णोद्वार असफल" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "खंडित निर्भरता का जीर्णोद्वार असफल" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "सॉफ्टवेयर स्रोत को जोड़ने में विफल" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "वितरक के ŕ¤ŕ¤źŕ¤• को जोड़ने में विफल" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "डाउनलोड पŕĄŕ¤•ेज संचिका हटाने में असफल" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "खोज असफल हŕĄŕ¤" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "अंतर्जाल संयोजन की जाŕ¤ŕ¤š करें।" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "जाŕ¤ŕ¤š करे क्या आप तŕĄŕ¤¤ŕĄ€ŕ¤Ż पक्ष भण्डार का उपयोग कर रहे हŕĄ. यदि ŕ¤ŕ¤¸ŕ¤ľ हॠतो उसे " "अशक्त करें, क्योंकि समस्याओं की जड़ समान्यतठवही होते हŕĄŕ¤‚. इसके पश्चात " "टर्मिनल में निम्न कमांड को चलाएंठapt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "चŕĄŕ¤¨ŕ¤ľ गया संचिका जीपीजी कŕĄŕ¤‚जी संचिका नहीं हॠया विकŕĄŕ¤¤ हŕĄ." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "चŕĄŕ¤¨ŕĄ‡ गए कŕĄŕ¤ŕ¤śŕĄ€ नहीं हट सकता. जाŕ¤ŕ¤šŕĄ‡ की आप एक वŕĄŕ¤§ अŕ¤ŕ¤—ŕĄŕ¤˛ŕĄ€ŕ¤›ŕ¤ľŕ¤Ş प्रदान कर रहे हŕĄŕ¤‚." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "जाŕ¤ŕ¤šŕĄ‡ की क्या आप वर्तमान में कोठअन्य सॉफ्टवेयर प्रबंधक उपकरण चला रहे हŕĄŕ¤‚, " "जŕĄŕ¤¸ŕĄ‡ कि सिनेप्टिक या एपटीट्यूड. एक बार में केवल एक ही उपकरण को परिवर्तन हेतॠ" "अनŕĄŕ¤®ŕ¤¤ŕ¤ż हŕĄ." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "यह गंभीर समस्या हŕĄ. बाद में पŕĄŕ¤¨ŕ¤ कोशिश करें. यदि यह समस्या पŕĄŕ¤¨ŕ¤ आता हॠतो " "कŕĄŕ¤Şŕ¤Żŕ¤ľ विकासकर्ता को त्रŕĄŕ¤źŕ¤ż के बारे में रिपोर्ट करें." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "पŕĄŕ¤•ेज नाम के उच्चारण, तथा उपयŕĄŕ¤•्त भंडार को समर्थ हŕĄ, की जाŕ¤ŕ¤š करें" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "अद्यतन की आवश्यका नहीं हŕĄ." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "संस्थापन की आवश्यकता नहीं हŕĄ" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "हटाने की आवश्यकता नहीं हŕĄ." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "आपने एक ŕ¤ŕ¤¸ŕĄ‡ पŕĄŕ¤•ेज को हटाने के लिए कहा हॠजो आपके तंत्र का अनिवार्य भाग हŕĄ." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "डेमन से संयोजन नष्ट हो गया हŕĄ. ज्याद उम्मीद हॠकि पŕĄŕ¤·ŕĄŤŕ¤ ŕ¤­ŕĄ‚मि में डेमन विकŕĄŕ¤¤ " "हो गया हŕĄ." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "साफ्टवेयर पŕĄŕ¤•ेज का संस्थापना या हटाया जाना असफल हो गया हŕĄ." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "अनŕĄŕ¤°ŕĄ‹ŕ¤§ŕ¤żŕ¤¤ सŕĄŕ¤µŕ¤żŕ¤§ŕ¤ľ समर्थित नहीं हŕĄ" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "ŕ¤ŕ¤ŞŕĄŤŕ¤źŕ¤ˇŕĄ€ŕ¤®ŕ¤¨ में एक प्रोग्रामिंग त्रŕĄŕ¤źŕ¤ż हॠ| ŕ¤ŕ¤ŞŕĄŤŕ¤źŕ¤ˇŕĄ€ŕ¤®ŕ¤¨ आपको सॉफ्टवेयर स्थापित / " "हटाने और कŕĄŕ¤ पŕĄŕ¤•ेज प्रबंधन से संबंधित कार्य करने देता हŕĄ" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "यह त्रŕĄŕ¤źŕ¤ż जरŕĄŕ¤°ŕĄ€ अतिरिक्त सॉफ्टवेयर पŕĄŕ¤•ेज के कारण हॠजो छŕĄŕ¤ź रहा हॠया " "संस्थापित नहीं हŕĄ. इसके अतरिक्त सॉफ्टवेयर पŕĄŕ¤•ेज के बीच विरोधाभास हॠजो एक " "समय संस्थापित होने की अनŕĄŕ¤®ŕ¤¤ŕ¤ż देता हŕĄ." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "यह संस्थापना असफल हो जाएगा क्योंकि संबंधित साफ्टवेयर पŕĄŕ¤•ेज में त्रŕĄŕ¤źŕ¤ż हॠया " "गलत तरीके से यह निरस्त कर दिया गया हŕĄ. किसी अन्य साफ्टवेयर को संस्थापित करने " "या हटाने के पहले इसकी मरम्मत जरŕĄŕ¤°ŕĄ€ हŕĄ." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "कŕĄŕ¤Şŕ¤Żŕ¤ľ संचिका का नकल अपने स्थानीय कंप्यूटर पर करें तथा संचिका अनŕĄŕ¤®ŕ¤¤ŕ¤ż की जाŕ¤ŕ¤š " "करें." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "ŕ¤ŕ¤¸ŕĄ‡ पŕĄŕ¤•ेज जो मानक गŕĄŕ¤Łŕ¤µŕ¤¤ŕĄŤŕ¤¤ŕ¤ľ का उलंŕ¤ŕ¤¨ करता हॠसंस्थापना की अनŕĄŕ¤®ŕ¤¤ŕ¤ż नहीं हŕĄ. यह " "आपके कंप्यूटर के लिए गंभीर समस्य़ा पŕĄŕ¤¦ŕ¤ľ कर देगा. कŕĄŕ¤Şŕ¤Żŕ¤ľ इस पŕĄŕ¤•ेज संचिका को " "प्रदान करने वाले व्यक्ति या संगठन से निम्न विस्तŕĄŕ¤¤ विवरण सहीत संपर्क करें." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "सभी उपलब्ध उन्नयन पहले से ही स्थापित हो चŕĄŕ¤•े हŕĄŕ¤‚" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "पŕĄŕ¤•ेज संचिका का डाउनलोड असफल" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "भण्डार सूचना का डाउनलोड असफल" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "पŕĄŕ¤•ेज निर्भरता सŕĄŕ¤˛ŕ¤ťŕ¤ľŕ¤Żŕ¤ľ नहीं जा सका" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "पŕĄŕ¤•ेज तंत्र विकŕĄŕ¤¤ हŕĄ" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "कŕĄŕ¤‚जी संस्थापित नहीं हŕĄ" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "कŕĄŕ¤‚जी हटाया नहीं गया हŕĄ" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "पŕĄŕ¤•ेज प्रबंधक को ताला लगाने में असफल" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "पŕĄŕ¤•ेज सूची के लदान में असफल" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "पŕĄŕ¤•ेज का अस्तिव नहीं हŕĄ" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "पŕĄŕ¤•ेज पहले से ही संस्थापित हŕĄ" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "पŕĄŕ¤•ेज संस्थापित नहीं हŕĄ" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "अनिवार्य पŕĄŕ¤•ेज तंत्र को हटाने में विफल" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "कार्य को देख-रेख या नियंत्रित नहीं किया जा सकता" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "पŕĄŕ¤•ेज क्रियान्वयन असफल" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "अविश्वसनीय पŕĄŕ¤•ेज संस्थापन की आवश्यकता" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "पूर्ववर्ती संस्थापन पूर्ण नहीं हŕĄŕ¤† हŕĄ" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "यह पŕĄŕ¤•ेज ŕ¤ŕ¤źŕ¤żŕ¤Żŕ¤ľ स्तर का हŕĄ" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "पŕĄŕ¤•ेज संचिका नहीं खŕĄŕ¤˛ सका" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "सŕĄŕ¤µŕ¤żŕ¤§ŕ¤ľ समर्थित नहीं हŕĄ" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "एक अप्रबंधकीय त्रŕĄŕ¤źŕ¤ż हŕĄŕ¤ हŕĄ" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "सेवा शŕĄŕ¤°ŕĄ होने की प्रतीक्षा कर रहा हŕĄ" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "प्रतीक्षारत" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "आवश्यक माध्यम हेतॠप्रतीक्षारत" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "अन्य साफ्टवेयर प्रबंधक के खाली होने की प्रतीक्षा कर रहा हŕĄ" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "संचिका प्राम्प्ट विन्यास की प्रतीक्षा कर रहा हŕĄ" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "कार्य चल रहा हŕĄ" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "डाउनलोड किया जा रहा हŕĄ" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "साफ कर रहा हŕĄ" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "समाप्त" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "रद्द कर रहा हŕĄ" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "साफ्टवेयर सूची लदान कर रहा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s संस्थापित हो रहा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s विन्यासित कर रहा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s हटा रहा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s पूरी तरह से हट् चŕĄŕ¤•ा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "संस्थापन-पश्चात ट्रीगर %s चल रहा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s अद्यतन कर रहा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s अनपŕĄŕ¤•हो रहा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "%s के स्थापित होने की तŕĄŕ¤Żŕ¤ľŕ¤°ŕĄ€ हो रही हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s स्थापित हो चŕĄŕ¤•ा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s पूरी तरह से हट चŕĄŕ¤•ा हŕĄ" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s हट चŕĄŕ¤•ा हŕĄ" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "किया गया" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "प्रमाणीकरण निष्फल" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "मिलान कर रहा हŕĄ" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "निष्क्रिय" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "संजाल उपलब्ध नहीं हŕĄ" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "विवरण" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "संचिका" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "%sB डाउनलोड हो गया" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "डाउनलोड हो गया" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "सीडी/डिवीडी '%s' की आवश्यकता हŕĄ" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "कŕĄŕ¤Şŕ¤Żŕ¤ľ उपरोक्त सीडी/डीवीडी को '%s' ड्राइव में डाले ताकि इससे सॉफ्टवेयर पŕĄŕ¤•ेज " "संस्थापित हो सके." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "जारी रखें (_C)" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "संस्थापित करें" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "पŕĄŕ¤¨ŕ¤ŕ¤¸ŕ¤‚स्थापित करें" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "हटाएŕ¤" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "सफाŕ¤" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "उन्नयन" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "अवनयन" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "उन्नयन छोड़े" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "कŕĄŕ¤Şŕ¤Żŕ¤ľ निम्न परिवर्तन सूची पर एक नजर देख ले." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "अतरिक्त सॉफ्टवेयर संस्थापित होना हŕĄ" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "अतरिक्त सॉफ्टवेयर पŕĄŕ¤¨ŕ¤ŕ¤¸ŕ¤‚स्थापित होना हŕĄ" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "अतरिक्त सॉफ्टवेयर हटाया जाना हŕĄ" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "अतरिक्त सॉफ्टवेयर साफ किया जाना हŕĄ" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "अतरिक्त सॉफ्टवेयर उन्नयन होना हŕĄ" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "अतरिक्त सॉफ्टवेयर अवनयन होना हŕĄ" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "अद्यतन छोड़ दिया जाएगा" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "अतरिक्त परिवर्तन की आवश्यकता हŕĄ" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "कŕĄŕ¤˛ %sB डाउनलोड किया जाएगा." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB डिस्क स्थान खाली होगा." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB अतरिक्त डिस्क स्थान उपयोग होगा." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "विन्यास संचिका के नवीनतम संस्करण से '%s' में परिवर्तन प्रतिस्थापित करेंगे?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "यदि आप नहीं जानते कि वहाठपर संचिका पहले से क्यों हŕĄ, तो इसे प्रतिस्थापित " "करना सŕĄŕ¤°ŕ¤•्षित हŕĄ." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "बदलाव (_C)" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "बनाए रखें (_K)" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "प्रतिस्थापित करें (_R)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "विवरण (_D)" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "%s से बाहर होने की प्रतिक्षा कर रहा हŕĄ" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "डाउनलोड कर रहा हॠ%(files)s" msgstr[1] "डाउनलोड कर रहा हॠ%(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "पŕĄŕ¤•ेज %s उपलब्ध नहीं हŕĄ" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "पŕĄŕ¤•ेज %s संस्थापित नहीं हŕĄ" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "संस्करण %s जो %s का हॠसंस्थापित नहीं हŕĄ" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "पŕĄŕ¤•ेज %s पहले से संस्थपित हŕĄ" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "यह संस्करण %s जो %s का हॠउपलब्ध नहीं हŕĄ." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "डाउनलोड करने में असफल तथा कŕĄŕ¤‚जी %s को %s से संस्थापित करें:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "कŕĄŕ¤‚जी संचिका %s संस्थापित नहीं कर सकता: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "अंगŕĄŕ¤˛ŕĄ€ŕ¤›ŕ¤ľŕ¤Ş सहीत कŕĄŕ¤‚जी %s नहीं हटा सकता: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "पŕĄŕ¤•ेज %s नहीं हटाया जा सकता." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "संस्करण %s जो %s का हॠसंस्थपित नहीं हŕĄ" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "पूर्ववर्ती संस्करण %s जो %s का हॠपहले से संस्थापित हŕĄ" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "संस्करण %s जो %s का हॠपहले से संस्थापित हŕĄ" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "यह संस्करण %s जो %s का हॠउपलब्ध नहीं हŕĄ" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "%s से पदावनत करने के लिए आप उस संस्करण का उल्लेख करें" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "परवर्ती संस्करण %s जो %s का हॠपहले से संस्थापित हŕĄ" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "यह पŕĄŕ¤•ेज %s की उपलब्धता %s प्रकाशन में नहीं हŕĄ." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "पŕĄŕ¤•ेज %s नहीं हटाया जा सकता" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "यह पŕĄŕ¤•ेज वŕĄŕ¤§-आकार फिल्ड नहीं प्रदान करता हŕĄ. देखें डेबियन नीति 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "निम्न पŕĄŕ¤•ेज में सभी निर्भरता नहीं हŕĄ." #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "लेकिन यह एक आभासी पŕĄŕ¤•ेज हŕĄ" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "लेकिन यह संस्थापित नहीं हŕĄ" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "लेकिन यह संस्थापित नहीं होने जा रहा हŕĄ" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "लेकिन %s संस्थापित हŕĄ" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "लेकिन %s संस्थापित हो जाएगा" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "विश्वसनीय साफ्टवेयर विक्रेता की सूची में कŕĄŕ¤‚जी जोड़ने में असफल" aptdaemon-1.1.1/po/en_CA.po0000644000175000017500000012057012117271433016171 0ustar renaterenate00000000000000# English (Canada) translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-01-16 11:47+0000\n" "Last-Translator: Daniel LeBlanc \n" "Language-Team: English (Canada) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "List keys of trusted vendors" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "To view the list of trusted keys, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Change software repository" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "To change software repository settings, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Install package file" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "To install this package, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Update package information" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "To update the software catalog, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Install or remove packages" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "To install or remove software, you need to authenticate." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Add a new repository and install packages from it" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "To install software from a new source, you need to authenticate." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Add a new repository of purchased software and install packages from it" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "To install purchased software, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Upgrade packages" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "To install updated software, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Cancel the task of another user" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "To cancel someone else's software changes, you need to authenticate." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Set a proxy for software downloads" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "To use a proxy server for downloading software, you need to authenticate." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Downloaded %sB of %sB at %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Downloaded %sB of %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROR:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "You are not allowed to perform this action." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Queuing" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Resolving dependencies" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Need to get %sB of archives." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "After this operation, %sB of additional disk space will be used." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "After this operation, %sB of additional disk space will be freed." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Do you want to continue [Y/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Refresh the cache" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Try to finish a previous incompleted installation" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Install the given packages" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstall the given packages" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Remove the given packages" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Remove the given packages including configuration files" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Deprecated: Please use --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Upgrade the system in a safe way" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Upgrade the system, possibly installing and removing packages" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Add the vendor to the trusted ones" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Add the vendor keyid (also needs --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Use the given keyserver for looking up keys" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Add new repository from the given deb-line" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Specify an alternative sources.list.d file to which repositories should be " "added." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "List trusted vendor keys" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Remove the trusted key of the given fingerprint" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Do not attach to the apt terminal" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Allow packages from unauthenticated sources" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Waiting for authentication" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Do not shutdown the daemon because of inactivity" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Show internal processing information" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Quit and replace an already running daemon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Store profile stats in the specified file" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Do not make any changes to the system (Only of use to developers)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Installed file" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Installed packages" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Added key from file" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Updated cache" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Removed trusted key" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Removed packages" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Updated packages" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Upgraded system" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Applied changes" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Repaired incomplete installation" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Repaired broken dependencies" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Added software source" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Enabled component of the distribution" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Successful" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Cancelled" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Failed" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installing file" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installing packages" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Adding key from file" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Updating cache" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Removing trusted key" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Removing packages" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Updating packages" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Upgrading system" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Applying changes" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Repairing incomplete installation" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Adding software source" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Enabling component of the distribution" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Installation of the package file failed" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Installation of software failed" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Refreshing the software list failed" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Removing the vendor from the list of trusted ones failed" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Removing software failed" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Updating software failed" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Upgrading the system failed" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Applying software changes failed" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Repairing incomplete installation failed" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Repairing broken dependencies failed" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Adding software source failed" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Enabling component of the distribution failed" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Check your Internet connection." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Check if you are using third-party repositories. If so, disable them, " "because they are a common source of problems.\n" "Furthermore, run the following command in a Terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "The selected file might not be a GPG key file or it might be corrupt." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "There is no need for an update." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "There is no need for an installation." #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "There is no need for a removal." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "You have requested to remove a package which is an essential part of your " "system." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "The connection to the daemon was lost. Most likely, the background daemon " "crashed." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "The installation or removal of a software package failed." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Failed to download package files" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Failed to download repository information" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Package dependencies cannot be resolved" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "The package system is broken" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Key was not installed" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Key was not removed" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Failed to lock the package manager" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Failed to load the package list" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Package does not exist" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Package is already installed" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Package isn't installed" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Failed to remove an essential system package" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Task cannot be monitored or controlled" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Package operation failed" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Requires installation of untrusted packages" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Previous installation hasn't been completed" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "An unhandlable error occured" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Waiting for service to start" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Waiting" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Waiting for required medium" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Waiting for other software managers to quit" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Waiting for configuration file prompt" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Running task" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Downloading" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Cleaning up" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Finished" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Cancelling" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Loading software list" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installing %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configuring %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Removing %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Running post-installation trigger %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Upgrading %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Done" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Authentication failed" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Fetching" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Idle" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Network isn't available" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Details" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "File" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Downloaded %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Downloaded" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' is required" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinue" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Install" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstall" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Remove" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Purge" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Upgrade" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Downgrade" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Skip upgrade" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Please take a look at the list of changes below." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Additional software has to be installed" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Additional software has to be re-installed" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Additional software has to be removed" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Additional software has to be purged" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Additional software has to be upgraded" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Additional software has to be downgraded" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Updates will be skipped" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Additional changes are required" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB will be downloaded in total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB of disk space will be freed." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB more disk space will be used." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Replace your changes in '%s' with a later version of the configuration file?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "If you don't know why the file is there already, it is usually safe to " "replace it." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Changes" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Keep" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Replace" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Details" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "Adding the key to the list of trusted software vendors failed" aptdaemon-1.1.1/po/POTFILES.in0000644000175000017500000000032712117271433016436 0ustar renaterenate00000000000000[encoding: UTF-8] data/org.debian.apt.policy.in aptdaemon/console.py aptdaemon/core.py aptdaemon/enums.py aptdaemon/gtkwidgets.py aptdaemon/gtk3widgets.py aptdaemon/lock.py aptdaemon/progress.py aptdaemon/worker.py aptdaemon-1.1.1/po/nds.po0000644000175000017500000010375512117271433016016 0ustar renaterenate00000000000000# German, Low translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2011-01-16 11:58+0000\n" "Last-Translator: Michael Vogt \n" "Language-Team: German, Low \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Paketdatei installeren" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Paketinformatschoonen opfrischen." #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Paketverschoonen opfrischen" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Eene Opgav vun e'em annern Bruker löschen." #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Sluten Se de Dämon nich wenn he leddig schient" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Binnen Verarbeidensinformatschonen opwiesen" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Sluten un wesseln Se en al lopen Dämon ut" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "De Profilstatistik in de angeven Datei spiekern" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Installerte Datei" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Installertes Paket" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/shn.po0000644000175000017500000010321512117271433016011 0ustar renaterenate00000000000000# Shan translation for aptdaemon # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-01-18 13:02+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Shan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/fil.po0000644000175000017500000010434312117271433015776 0ustar renaterenate00000000000000# Filipino translation for aptdaemon # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-05-02 07:53+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Filipino \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Ilista ang mga pinagkakatiwalaang vendor" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "Upang matingnan ang listahan ng mga pinagkakatiwalaang keys, kailangan mo " "itong patotohanan." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Alisin ang mga di-nownload na mga package file." #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Upang linisin ang mga di-nownload na package file, kailangan mo itong " "patotohanan." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Baguhin ang software configuration" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "Upang baguhin ang mga settiing ng software, kailangan mo itong patotohanan." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Baguhin ang software repository" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Upang baguhin ang mga setting ng repositoryo ng software, kailangan mo itong " "patotohanan" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "I-install ang package file" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Upang i-install ang paketeng ito, kailangan mo itong patotohanan." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "" msgstr[1] "" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "" msgstr[1] "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "" aptdaemon-1.1.1/po/da.po0000644000175000017500000013346212117271433015614 0ustar renaterenate00000000000000# Danish translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-02-27 16:08+0000\n" "Last-Translator: Ask Hjorth Larsen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Lav en liste med nøgler fra betroede udbydere" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "For at se listen af betroede nøgler, skal du først godkende." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Fjern hentede pakkefiler" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "Du skal godkende for at rense hentede pakkefiler." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Ændr programopsætning" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Du skal godkende for at ændre programindstillinger." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Skift softwarearkiv" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "For at ændre indstillinger for softwarearkiver, skal du først godkende." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "InstallĂ©r pakkefil" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "For at installere denne pakke, skal du først godkende." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "OpdatĂ©r pakkeinformation" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "For at opdatere softwarekataloget, skal du først godkende." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "InstallĂ©r eller fjern pakker" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "For at installere eller fjerne software, skal du først godkende." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "InstallĂ©r software fra et hvidlistet, højt pĂĄlideligt arkiv." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Der kræves godkendelse for at installere software." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Tilføj et nyt softwarearkiv og installĂ©r pakker fra det" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "Du skal godkende for at kunne installere programmer fra en ny kilde." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Tilføj et nyt softwarearkiv med købte programmer og installĂ©r pakker fra det" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Du skal godkende for at kunne installere købte programmer." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "OpgradĂ©r pakker" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "For at installere opdateret software, skal du først godkende." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Afbryd en anden brugers opgave" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "For at annullere en andens softwareændringer, skal du først godkende." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Sæt en proxy til indhentning af software" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "For at bruge en proxyserver til at hente software, skal du først godkende." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "FEJL" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Har hentet %sB af %sB med %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Har hentet %sB af %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "FEJL:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Du har ikke lov til at udføre denne handling." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Sætter i kø" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Løser afhængigheder" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Følgende NYE pakke vil blive installeret (%(count)s):" msgstr[1] "Følgende NYE pakker vil blive installeret (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Følgende pakke vil blive opgraderet (%(count)s):" msgstr[1] "Følgende pakker vil blive opgraderet (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Følgende pakke vil blive FJERNET (%(count)s):" msgstr[1] "Følgende pakker vil blive FJERNET (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Følgende pakke vil blive NEDGRADERET (%(count)s):" msgstr[1] "Følgende pakker vil blive NEDGRADERET (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Følgende pakke vil blive geninstalleret (%(count)s):" msgstr[1] "Følgende pakker vil blive geninstalleret (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Følgende pakke blev holdt tilbage (%(count)s):" msgstr[1] "Følgende pakker blev holdt tilbage (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Skal hente %sB arkiver." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Efter denne operation vil der blive brugt yderligere %sB diskplads." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" "Efter denne operation vil der blive frigjort yderligere %sB diskplads." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "Ănsker du at forsætte [J/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Anbring pakkenavnene i citationstegn for at behandle mere end en pakke:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Genopfrisk cachen" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Forsøg at rette beskadigede afhængigheder. Dette kan være en farlig " "operation, da den kan forsøge at fjerne mange pakker." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Prøv at færdiggøre en tidligere ufuldført installation" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "InstallĂ©r de givne pakker" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "GeninstallĂ©r de givne pakker" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Fjern de givne pakker" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Fjern de givne pakker inklusive konfigurationsfiler" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Nedgrader de angivne pakker" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Forældet: Brug --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Opgrader systemet pĂĄ sikker vis" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Opgrader systemet, muligvis ved at installere og fjerne pakker" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Hav tillid til udbyderen" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Tilføj udbyderes nøgle-id (kræver ogsĂĄ --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Brug den angivne nøgleserver til at slĂĄ nøgler op" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Tilføj nyt arkiv fra den givne deb-linje" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "Angiv en alternativ sources.list.d-fil hvor arkiver skal tilføjes." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Vis betroede udbydernøgler" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Fjern den betroede nøgle for det givne fingeraftryk" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Omkonfigurer installerede pakker. En minimal prioritet af spørgsmĂĄl kan " "angives efter behag." #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Den mindste debconf-prioritet, der vises spørgsmĂĄl for" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Kobl ikke til apt-terminalen" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Tillad pakker fra ikke-godkendte kilder" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Vis yderligere information om pakkerne. I øjeblikket kun versionsnummeret" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Venter pĂĄ godkendelse" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Luk ikke dæmonen ned pĂĄ grund af inaktivitet" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Indlæs ingen udvidelsesmoduler" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Vis intern arbejdsinformation" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Afslut og erstat en allerede kørende dæmon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Lyt til DBus-sessionsbussen (kun pĂĄkrævet til test)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Udfør handlinger i den givne chroot" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Gem profilstatistik i den angivne fil" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Udfør ingen ændringer pĂĄ systemet (kun til nytte for udviklere)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Installeret fil" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Installerede pakker" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Nøgle tilføjet fra fil" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "Opdaterede mellemlager" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "Søgning fuldført" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Fjernede betroet nøgle" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Fjernede pakker" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Opdaterede pakker" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Upgraderede systemet" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Anvendte ændringer" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "Reparerede ufuldstændig installation" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Reparerede beskadigede afhængigheder" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Tilføjede softwarekilde" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Aktiverede komponent i distributionen" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Fjernede hentede pakkefiler" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Omkonfigurerede installerede pakker" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Fuldført" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Annulleret" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "Mislykket" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Installerer fil" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Installerer pakker" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Tilføjer nøgle fra fil" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Opdaterer mellemlager" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Fjerner betroet nøgle" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Fjerner pakker" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Opdaterer pakker" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Opgraderer systemet" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Anvender ændringer" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Reparerer ufuldstændig installation" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Reparerer installeret software" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Tilføjer softwarekilde" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Aktiverer komponent i distributionen" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Fjerner hentede pakkefiler" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Omkonfigurerer installerede pakker" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Søger" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Installation af pakkefilen mislykkedes" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Softwareinstallationen mislykkedes" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Det lykkedes ikke at tilføje nøglen i listen over betroede software-" "leverandører" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Opdatering af softwarelisten mislykkedes" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "" "Fjernelse af leverandøren fra listen af betroede leverandører mislykkedes" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Fjernelse af software mislykkedes" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "Opdatering af software mislykkedes" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "Opgradering af systemet mislykkedes" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "Udførelse af ændringer til software mislykkedes" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Reparation af ufuldstændig installation mislykkedes" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Reparation af beskadigede afhængigheder mislykkedes" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Tilføjelse af softwarekilde mislykkedes" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Aktivering af distributionskomponent mislykkedes" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Fejl ved fjernelse af hentede pakkefiler" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "Søgning mislykkedes" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Tilføjer licensnøgle" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "KontrollĂ©r din internetforbindelse" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "KontrollĂ©r om du anvender tredjepartsarkiver. Deaktiver dem hvis de " "benyttes, da de er en almindeligt kendt kilde til problemer.\n" "Kør derudover denne kommando i en terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Den valgte fil er mĂĄske ikke en GPG-nøglefil, eller den kan være beskadiget." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "Den valgte nøgle kunne ikke fjernes. Kontroller at du har givet et korrekt " "fingeraftryk." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Kontroller om der i øjeblikket kører et andet værktøj til hĂĄndtering af " "software, f.eks. Synaptic eller aptitude. Ændringer kan kun laves af et " "værktøj ad gangen." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Dette er et alvorligt problem. Prøv igen senere. Hvis problemet opstĂĄr igen, " "sĂĄ rapportĂ©r det venligst til udviklerne." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Kontroller stavningen af pakkenavnet, og at det korrekte pakkearkiv er " "aktiveret." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Opdatering er ikke nødvendig." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Installation er ikke nødvendig" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Fjernelse er ikke nødvendig." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Du anmodede om at fjerne en pakke som er en essentiel del af dit system." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Forbindelsen til dæmonen blev afbrudt. Det er sandsynligt at " "baggrundsdæmonen er gĂĄet ned." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Installation eller fjernelse af en softwarepakke mislykkedes." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Den forespurgte funktion understøttes ikke." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Der ser ud til at være en programmeringsfejl i aptdaemon, programmet som gør " "dig i stand til at installere/fjerne programmer og udføre andre " "pakkehĂĄndteringsopgaver." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Denne fejl kan skyldes at yderligere pĂĄkrævede softwarepakker mangler eller " "ikke kan installeres. Endvidere kan der være en konflikt mellem " "softwarepakker som ikke mĂĄ være installeret samtidigt." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "" "Dette kræver installation af pakker fra kilder som ikke er godkendte." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Installationen er mĂĄske slĂĄet fejl pĂĄ grund af en fejl i den pĂĄgældende " "softwarepakke, eller fordi den blev afbrudt pĂĄ en ubehagelig mĂĄde. Det vil " "være nødvendigt at reparere dette, før du kan installere eller fjerne " "yderligere software." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "Kopier filen til din lokale computer og kontroller rettighederne." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Installationen af en pakke som overtræder kvalitetskravene er ikke tilladt. " "Dette kan medføre alvorlige problemer pĂĄ din computer. Kontakt personen " "eller organisationen, du hentede denne pakkefil og inkluder detaljerne " "nedenfor." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Den hentede licensnøgle, som kræves for at kunne køre dette program, er ikke " "gyldig eller kunne ikke installeres korrekt.\n" "Yderligere information kan findes i detaljerne." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Alle tilgængelige opgraderinger er allerede installeret." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Licensnøglen, som lader dig bruge dette program, kunne ikke hentes. " "KontrollĂ©r venligst din netværksforbindelse." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Du har ikke de nødvendige rettigheder til at udføre denne handling." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Du angav enten en forkert adgangskode eller annullerede godkendelsen.\n" "Der kan i tillæg være tekniske ĂĄrsager til denne fejl, hvis du ikke har set " "et vindue med adgangskode: dit skrivebordsmiljø tilbyder ikke en " "sessionsagent for PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Kunne ikke hente pakkefiler" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Kunne ikke hente information om softwarearkiv" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Pakkeafhængigheder kan ikke afklares" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Pakkesystemet er beskadiget" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Nøglen blev ikke installeret" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Nøglen blev ikke fjernet" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Kunne ikke lĂĄse pakkehĂĄndteringen" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Kunne ikke indlæse pakkelisten" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Pakken findes ikke" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Pakken er allerede fuldt opdateret" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Pakken er allerede installeret" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Pakken er ikke installeret" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Kunne ikke fjerne essentiel systempakke" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Opgaven kan ikke overvĂĄges eller kontrolleres" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Pakkehandling mislykkedes" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Kræver installation af ikke-betroede pakker" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Tidligere installation blev ikke fuldført" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Pakken er af dĂĄrlig kvalitet" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Pakkefil kunne ikke ĂĄbnes" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Funktion understøttes ikke" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Kunne ikke hente licensnøglen" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Kunne ikke installere licensnøglen" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Systemet er allerede opdateret" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Du kunne ikke godkendes" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Du har ikke lov til at udføre denne handling" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Der opstod en fejl som ikke kunne hĂĄndteres" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Venter pĂĄ at tjeneste starter" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Venter" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Venter pĂĄ krævet medie" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Venter pĂĄ at andre softwarehĂĄndteringsprogrammer afslutter" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Venter pĂĄ prompt for konfigurationsfil" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Kører opgave" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Henter" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Forespørger i softwarekilder" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Rydder op" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Fuldført" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Annullerer" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Henter softwareliste" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Installerer %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Sætter %s op" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Fjerner %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Fjerner %s helt" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Bemærker forsvinding af %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Afvikler efterinstallationskode %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Opgraderer %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Pakker %s ud" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Forbereder installation af %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Forbereder opsætning af %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Forbereder fjernelse af %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Forbereder fuldstændig fjernelse af %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "Installerede %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "Fjernede %s helt" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "Fjernede %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Behandler %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Færdig" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Autentifikation mislykkedes" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Henter" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "ledig" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Netværk ikke tilgængeligt" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detaljer" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Fil" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Hentede %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Hentede" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Cd'en eller dvd'en \"%s\" skal bruges" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Indsæt venligst den ovenstĂĄende cd/dvd i drevet \"%s\" for at installere " "softwarepakker fra den." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "F_ortsæt" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "InstallĂ©r" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "GeninstallĂ©r" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Fjern" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Udrens" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "OpgradĂ©r" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "NedgradĂ©r" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Spring opgradering over" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Se venligst listen af ændringer nedenfor." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Der skal installeres yderligere software" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Yderligere software skal geninstalleres" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Der skal fjernes yderligere software" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Der skal udrenses yderligere software" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Der skal opgraderes yderligere software" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Der skal nedgraderes yderligere software" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Opdateringer vil blive sprunget over" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Yderligere ændringer er pĂĄkrævet" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "I alt %sB vil blive hentet." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB diskplads vil blive frigjort." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB yderligere diskplads vil blive brugt." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Erstat dine ændringer i \"%s\" med en nyere udgave af konfigurationsfilen?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Hvis du ikke ved hvorfor filen allerede findes, er det normalt sikkert at " "erstatte den." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Ændringer" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Behold" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "E_rstat" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detailer" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Venter pĂĄ at %s afslutter" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Henter %(files)s" msgstr[1] "Henter %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "lokalt arkiv" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Henter fra %s" msgstr[1] "Henter fra %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Struktur af %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Beskrivelse af %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Beskrivelsessignatur for %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Tilgængelige pakker fra %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Tilgængelige kilder fra %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Tilgængelige oversættelser fra %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Oversættelser for %s (%s) fra %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Oversættelser for %s fra %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Oversættelser (%s) fra %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Pakke %s er ikke tilgængelig" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "Pakke %s er ikke installeret" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versionen %s af %s er ikke installeret" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Pakken %s er allerede installeret" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Version %s af %s er ikke tilgængelig" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "URL'en til nøgleserver er ugyldig: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Ugyldig protokol for serveren: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Ugyldig nøgle-ID: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Fejl under hentning og installering af nøglen %s fra %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Nøglefil %s kunne ikke installeres: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Nøgle med fingeraftryk %s kunne ikke fjernes: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Pakken %s kan ikke fjernes." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Version %s af %s er ikke installeret" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Den tidligere version %s af %s er allerede installeret" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Version %s af %s er allerede installeret" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Version %s af %s er ikke tilgængelig" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Du skal angive en version at nedgradere %s til" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Den seneste version %s af %s er allerede installeret" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Pakken %s er ikke tilgængelig i udgaven %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Pakken %s kan ikke fjernes" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Pakkens kontrolfelt Installed-Size er ugyldigt. Se Debian Policy 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Licensnøglen er tom" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Det er ikke tilladt for licensnøglen at indeholde programkode." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Licensnøglestien %s er ugyldig" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Licensnøglen findes allerede: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Placeringen af licensnøglen er usikker, da den indeholder symbolske lænker. " "Stien %s afbildes til %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Kataloget, hvor nøglen skal installeres, findes endnu ikke: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Kunne ikke skrive nøglefil til: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Følgende pakker har uopfyldte afhængigheder:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "men det er en virtuel pakke" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "men den er ikke installeret" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "men den vil ikke blive installeret" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "men %s er installeret" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "men %s vil blive installeret" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Tilføjelse af nøglen til listen af betroede softwareleverandører mislykkedes" aptdaemon-1.1.1/po/es.po0000644000175000017500000013547512117271433015645 0ustar renaterenate00000000000000# Spanish translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2012-12-30 08:46+0000\n" "Last-Translator: Paco Molinero \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Lista de claves de proveedores de confianza" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "Para ver la lista de claves de confianza, necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Eliminar los archivos de paquete descargado" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "Para limpiar los archivos de paquetes descargados, necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Cambiar la configuraciĂłn del software" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "Para cambiar la configuraciĂłn del software, necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Cambiar el repositorio de software" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "" "Para cambiar la configuraciĂłn de los repositorios, necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instalar archivo de paquete" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "Para instalar este paquete, necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "Actualizar informaciĂłn de paquetes" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "Para actualizar el catálogo de software, necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instalar o eliminar paquetes" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "Para instalar o eliminar software, necesita autenticarse." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Instalar software desde un repositorio de lista blanca altamente confiable." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "Para instalar software, necesita autenticarse." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Añadir un repositorio nuevo e instalar paquetes desde Ă©l" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "Para instalar software desde una fuente nueva, necesita autenticarse." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Añadir un repositorio nuevo de software comprado e instalar paquetes desde Ă©l" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "Para instalar software comprado, necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "Actualizar paquetes" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "Para instalar software actualizado, necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Cancelar la tarea de otro usuario" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "Para cancelar los cambios de software de alguien más, necesita autenticarse." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Establecer un proxy para descargas de software" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "" "Para usar un servidor proxy para descargar software, necesita autenticarse." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "ERROR" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "Descargados %sB de %sB a %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "Descargados %sB de %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "ERROR:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "No tiene permitido realizar esta acciĂłn." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Poner en cola" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Resolviendo dependencias" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Se instalará el siguiente paquete NUEVO (%(count)s):" msgstr[1] "Se instalarán los siguientes paquetes NUEVOS (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Se actualizará el siguiente paquete (%(count)s):" msgstr[1] "Se actualizarán los siguientes paquetes (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Se ELIMINARĂ e siguiente paquete (%(count)s):" msgstr[1] "Se ELIMINARĂN los siguientes paquetes (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Se DESACTUALIZARĂ el siguiente paquete (%(count)s):" msgstr[1] "Se DESACTUALIZARĂN los siguientes paquetes (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Se reinstalará el siguiente paquete (%(count)s):" msgstr[1] "Se reinstalarán los siguientes paquetes (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Se retuvo el siguiente paquete (%(count)s):" msgstr[1] "Se retuvieron los siguientes paquetes (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Se necesitan obtener %sB de archivadores." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "" "DespuĂ©s de esta operaciĂłn, se usarán %sB de espacio adicional en el disco." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "" "DespuĂ©s de esta operaciĂłn, se liberarán %sB de espacio adicional en el disco." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "ÂżQuiere continuar [S/n]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "Para operar con más de un paquete debe colocar los nombres de los paquetes " "entre comillas:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Actualizar cachĂ©" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "Intentar resolver dependencias rotas. OperaciĂłn potencialmente peligrosa ya " "que podrĂ­a tratar de eliminar muchos paquetes." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "Intente finalizar una instalaciĂłn incompleta anterior" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instalar los paquetes proporcionados" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Reinstalar los paquetes proporcionados" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Eliminar los paquetes proporcionados" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "" "Eliminar los paquetes proporcionados incluyendo los archivos de configuraciĂłn" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Desactualizar los paquetes dados" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "Obsoleto: use --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "Actualice el sistema de forma segura" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "Actualizar el sistema, posiblemente instalar y eliminar paquetes" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Añadir al fabricante como confiable" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Añadir la id de clave de vendedor (tambiĂ©n necesita --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "Utilice el servidor de claves dado para buscar las claves" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Añadir repositorio nuevo desde el deb-line dado" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Especifique un archivo sources.list.d alternativo al cual deberĂ­an añadirse " "los repositorios." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Lista de claves de proveedores de confianza" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Eliminar la clave autenticada de la huella dada." #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Reconfigurar paquetes instalados. Opcionalmente puede especificarse la " "prioridad mĂ­nima de las preguntas" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "La prioridad mĂ­nima de pregunta de debconf que se mostrará" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "No adjuntar a la terminal apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Permitir paquetes de fuente sin autenticar" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Mostrar informaciĂłn adicional acerca de los paquetes. Actualmente solo el " "nĂşmero de versiĂłn" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Esperando la autenticaciĂłn" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "No parar el demonio en caso de inactividad" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "No cargar ningĂşn complemento" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Mostrar informaciĂłn del procesamiento interno" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Salir y sustituir un demonio que ya estĂ© ejecutándose" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "Escuchar en el bus de sesiĂłn de DBus (necesario solo para pruebas" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Realiza operaciones en el chroot dado" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Guardar estadĂ­sticas de perfil en el archivo especificado" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "No haga ningĂşn cambio en el sistema (sĂłlo para uso de los desarrolladores)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Archivo instalado" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paquetes instalados" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "Clave añadida desde archivo" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "CachĂ© actualizada" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "BĂşsqueda realizada" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "Clave de confianza eliminada" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Paquetes desinstalados" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Paquetes actualizados" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistema actualizado" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Cambios aplicados" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "InstalaciĂłn incompleta reparada" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "Dependencias rotas reparadas" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "Origen de software añadido" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Activado componente de la distribuciĂłn" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Eliminados los paquetes descargados" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Reconfigurados los paquetes instalados" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Completado" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Cancelado" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "FallĂł" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Instalando archivo" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Instalando paquetes" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Añadiendo clave desde archivo" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Actualizando cachĂ©" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Eliminando clave de confianza" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Desinstalando paquetes" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Actualizando paquetes" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Actualizando sistema" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Aplicando los cambios" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Reparando instalaciĂłn incompleta" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Reparando software instalado" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Añadiendo origen de software" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Activando componente de la distribuciĂłn" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Eliminando los archivos de paquetes descargados" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Reconfigurando paquetes instalados" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "BĂşsqueda" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "FallĂł la instalaciĂłn del archivo de paquete" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "FallĂł la instalaciĂłn de software" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Falla al añadir la clave a la lista de proveedores de software de confianza" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "FallĂł la actualizaciĂłn de la lista de software" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Hubo un fallo al eliminar el proveedor de la lista de confianza" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "FallĂł la eliminaciĂłn de software" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "FallĂł la actualizaciĂłn de software" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "FallĂł la actualizaciĂłn del sistema" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "FallĂł la aplicaciĂłn de cambios de software" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "FallĂł la reparaciĂłn de la instalaciĂłn incompleta" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "FallĂł la reparaciĂłn de las dependencias rotas" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "FallĂł añadir origen de software" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "FallĂł activar componente de la distribuciĂłn" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "FallĂł la eliminaciĂłn de archivos de paquetes descargados" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "FallĂł la bĂşsqueda" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Añadiendo clave de licencia" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Compruebe su conexiĂłn a Internet." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Compruebe si está usando repositorios de terceros. En tal caso, " "desactĂ­velos, ya que son una fuente habitual de problemas.\n" "Posteriormente, ejecute el siguiente comando en un terminal: apt-get install " "-f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "Puede que el archivo seleccionado no sea un archivo de clave GPG o que estĂ© " "dañado." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "La calve seleccionada no se puede eliminar. Compruebe que suministrĂł una " "huella válida." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Compruebe si está actualmente ejecutando otra herramientas de gestiĂłn de " "software, por ejemplo Synaptic o aptitude. Solamente se puede usar una " "herramienta cada vez." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Este es un problema serio. Vuelva a intentarlo más tarde. Si el problema " "vuelve a aparecer, informe del error a los desarrolladores." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Compruebe la ortografĂ­a del nombre del paquete y si está activado el " "repositorio apropiado." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "No hay necesidad de una actualizaciĂłn." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "No hay necesidad de una instalaciĂłn" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "No hay necesidad de una desinstalaciĂłn." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Ha solicitado desinstalar un paquete que es parte esencial de su sistema." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Se ha perdido la conexiĂłn con el demonio. Probablemente el demonio de " "segundo plano ha dejado de funcionar." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "FallĂł al instalar o desinstalar un paquete de software." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "La caracterĂ­stica solicitada no está permitida." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Parece que hay un error de programaciĂłn en aptdaemon, el software que le " "permite instalar o eliminar software y realizar otras tareas de gestiĂłn de " "paquetes relacionadas." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Este error podrĂ­a deberse a que se necesitan paquetes de software " "adicionales que faltan o que no son instalables. TambiĂ©n podrĂ­a ser un " "conflicto entre paquetes de software que no pueden instalarse juntos." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Los paquetes a instalar necesarios de fuentes no autenticadas." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "La instalaciĂłn pudo haber fallado por un error en los paquetes " "correspondientes de software o se cancelĂł de una manera incorrecta. Debe " "reparar esto antes de poder instalar o eliminar cualquier otro software." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "Copie el archivo en su equipo local y compruebe los servicios." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "No se permite la instalaciĂłn de cualquier paquete que viole los estándares " "de calidad. Eso podrĂ­a causar problemas serios a su equipo. Contacte con la " "persona u organizaciĂłn que le proporcionĂł este archivo de paquete e incluya " "los detalles a continuaciĂłn." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "La clave de la licencia descargada requerida para ejecutar este software no " "es válida o no se pudo instalar correctamente.\n" "Vea los detalles para tener más informaciĂłn." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Todas las actualizaciones disponibles ya han sido instaladas." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "No pudo descargarse la clave de licencia que permite el uso de este " "software. Compruebe su conexiĂłn de red." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "No tiene los privilegios requeridos para realizar esta acciĂłn." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "O bien a proporcionado una contraseña incorrecta o ha cancelado la " "autorizaciĂłn.\n" "Puede que haya una razĂłn tĂ©cnica para este error si no ha visto un diálogo " "para la contraseña: su entorno de escritorio no proporciona un agente de " "sesiĂłn de PolicyKit" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "FallĂł al descargar los archivos de paquetes" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "FallĂł al descargar la informaciĂłn del repositorio" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Las dependencias del paquete no se pueden resolver" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "El paquete de sistema está roto" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "La clave no ha sido instalada" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "La clave no ha sido eliminada" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "FallĂł al bloquear el gestor de paquetes" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "FallĂł al cargar la lista de paquetes" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "El paquete no existe" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "El paquete ya esta actualizado a la fecha" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "El paquete ya está instalado" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "El paquete no está instalado" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "FallĂł al desinstalar un paquete esencial del sistema" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "La tarea no pudo monitorizarse o controlarse" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "FallĂł la operaciĂłn con el paquete" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Se requiere la instalaciĂłn de paquetes no confiables" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Una instalaciĂłn previa no se completĂł" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "El paquete es de mala calidad" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "El archivo de paquete no se puede abrir" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "CaracterĂ­stica no permitida" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "FallĂł la descarga de la clave de licencia" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Fallo en la instalaciĂłn de la clave de licencia" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "El sistema ya está actualizado" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "No se le pudo autorizar" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "No tiene permitido realizar esta acciĂłn" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "OcurriĂł un error que no se puede manejar" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Esperando el servicio para iniciar" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Esperando" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Esperando el soporte requerido" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Esperando que los demás gestores de paquetes se cierren" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Esperando la solicitud del archivo de configuraciĂłn" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Ejecutando tarea" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Descargando" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Consultando los orĂ­genes del software" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Limpiando" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Finalizado" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Cancelando" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Cargando la lista de software" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Instalando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Configurando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Desinstalando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Borrando completamente %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Se detectĂł la desapariciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Ejecutando activador de post-instalaciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Actualizando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Desempaquetando %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Preparando la instalaciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Preparando la configuraciĂłn %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Preparando la eliminaciĂłn de %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Preparando para borrar completamente %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s instalado" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s completamente eliminado" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s eliminado" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Procesando %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "Finalizado" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "FallĂł la autenticaciĂłn" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Consiguiendo" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Inactivo" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "La red no está disponible" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detalles" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Archivo" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "Descargado %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Descargado" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "Se requiere el CD/DVD «%s»" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Inserte el CD/DVD en «%s» para instalar desde Ă©l los paquetes de software." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "C_ontinuar" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instalar" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Reinstalar" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Eliminar" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Purgar" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Actualizar" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Desactualizar" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Omitir actualizaciĂłn" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Eche un vistazo a la lista de cambios." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Se necesita instalar software adicional" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Se debe reinstalar software adicional" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Se debe desinstalar software adicional" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Se debe desinstalar software adicional completamente" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Se debe actualizar software adicional" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Se debe desactualizar software adicional" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Se omitirán las actualizaciones" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Se necesitan cambios adicionales" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB se descargarán en total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "Se liberará %sB de espacio en disco." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "se usarán %sB más de espacio en el disco." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "ÂżReemplazar sus cambios en «%s» con la Ăşltima versiĂłn del archivo de " "configuraciĂłn?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Si no sabe por quĂ© el archivo ya está allĂ­, generalmente es seguro " "reemplazarlo." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Cambios" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Mantener" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Reemplazar" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detalles" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Esperando a %s para salir" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Descargando %(files)s" msgstr[1] "Descargando %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "repositorio local" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Descargando de %s" msgstr[1] "Descargando de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Estructura de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "DescripciĂłn de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Firma de descripciĂłn de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Paquetes disponibles de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "OrĂ­genes disponibles de %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Traducciones disponibles de %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Traducciones para %s (%s) de %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Traducciones para %s de %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Traducciones (%s) de %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "El paquete %s no está disponible" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "El paquete %s no está instalado" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "La versiĂłn %s de %s no está instalada" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "El paquete %s ya está instalado" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "La versiĂłn %s de %s no está disponible." #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "El URL del servidor de claves no es válido: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "El protocolo del servidor no es válido: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Id de clave inválido: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Fallo al descargar e instalar la clave %s de %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "El archivo clave file %s no se puede instalar: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "La clave con la huella %s no se puede eliminar: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "El paquete %s no se puede eliminar." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "La versiĂłn %s de %s no está instalada" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "La antigua versiĂłn %s de %s ya está instalada" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "La versiĂłn %s de %s ya está instalada" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "La versiĂłn %s de %s no está disponible" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "Necesita especificar una versiĂłn a la que desactualizar %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "La Ăşltima versiĂłn %s de %s ya está instalada" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "El paquete %s no está disponible en la distribuciĂłn %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "El paquete %s no se puede eliminar" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "El paquete no proporciona un campo de control del tamaño de instalaciĂłn " "válido. Vea la polĂ­tica de Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "La clave de la licencia está vacĂ­a." #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "La clave de la licencia no puede contener cĂłdigo ejecutable." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "La ruta %s de la clave de licencia es invalida" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "La clave de licencia ya existe: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "La ubicaciĂłn de la clave de licencia no es segura, ya que contiene enlaces " "simbĂłlicos. La ruta %s asigna a %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "El directorio para instalar la clave aĂşn no existe: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Fallo al escribir el archivo de clave a: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Los siguientes paquetes tienen dependencias incumplidas:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "pero es un paquete virtual" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "pero no está instalado" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "pero no va a ser instalado" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "pero %s está instalado" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "pero %s no está instalado" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Hubo un fallo al añadir la clave a la lista de proveedores de software de " #~ "confianza" aptdaemon-1.1.1/po/ja.po0000644000175000017500000014543212117271433015622 0ustar renaterenate00000000000000# Japanese translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-01-24 01:57+0000\n" "Last-Translator: Koichi Akabe \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "信頼ă§ăŤă‚‹ă™ăłă€ăĽă®éŤµă‚’一覧表示ă—ăľă™" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "信頼ă—ă¦ă„る鍵ă®ăŞă‚ąăを表示ă™ă‚‹ă«ăŻă€čŞŤč¨ĽăŚĺż…č¦ă§ă™ă€‚" #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "ă€ă‚¦ăłă­ăĽă‰ă—ăźă‘ăケăĽă‚¸ă•ァイă«ă®ĺ‰Šé™¤" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "ă€ă‚¦ăłă­ăĽă‰ă—ăźă‘ăケăĽă‚¸ă•ァイă«ă‚’削除ă™ă‚‹ă«ăŻă€čŞŤč¨Ľă™ă‚‹ĺż…č¦ăŚă‚りăľă™" #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "ă‚˝ă•ăウェア設定ă®ĺ¤‰ć›´" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "ă‚˝ă•ăウェア設定を変更ă™ă‚‹ă«ăŻă€čŞŤč¨Ľă™ă‚‹ĺż…č¦ăŚă‚りăľă™" #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "ă‚˝ă•ăウェアăŞăťă‚¸ăăŞă®ĺ¤‰ć›´" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "ă‚˝ă•ăウェアăŞăťă‚¸ăăŞă®č¨­ĺ®šă‚’変更ă™ă‚‹ă«ăŻă€čŞŤč¨ĽăŚĺż…č¦ă§ă™ă€‚" #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "ă‘ăケăĽă‚¸ă•ァイă«ă®ă‚¤ăłă‚ąăăĽă«" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "ă“ă®ă‘ăケăĽă‚¸ă‚’イăłă‚ąăăĽă«ă™ă‚‹ă«ăŻă€čŞŤč¨ĽăŚĺż…č¦ă§ă™ă€‚" #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "ă‘ăケăĽă‚¸ć…ĺ ±ă®ć›´ć–°" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "ă‚˝ă•ăウェアカタă­ă‚°ă‚’ć›´ć–°ă™ă‚‹ă«ăŻă€čŞŤč¨ĽăŚĺż…č¦ă§ă™ă€‚" #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "ă‘ăケăĽă‚¸ă®ă‚¤ăłă‚ąăăĽă«ăľăźăŻĺ‰Šé™¤" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "ă‚˝ă•ăウェアをイăłă‚ąăăĽă«ăľăźăŻĺ‰Šé™¤ă™ă‚‹ă«ăŻă€čŞŤč¨Ľă‚’čˇŚă†ĺż…č¦ăŚă‚りăľă™ă€‚" #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "信頼性ă®é«ă„ă›ăŻă‚¤ăăŞă‚ąăă«čĽ‰ăŁă¦ă„ă‚‹ăŞăťă‚¸ăăŞă‹ă‚‰ă‚˝ă•ăウェアをイăłă‚ąăăĽă«ă—ăľă™ă€‚" #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "ă‚˝ă•ăウェアをイăłă‚ąăăĽă«ă™ă‚‹ă«ăŻčŞŤč¨ĽăŚĺż…č¦ă§ă™ă€‚" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "ć–°ă—ă„ăŞăťă‚¸ăăŞă‚’追加ă—ă¦ă‘ăケăĽă‚¸ă‚’イăłă‚ąăăĽă«ă—ăľă™" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "ć–°ă—ă„ă‚˝ăĽă‚ąă‹ă‚‰ă‚˝ă•ăウェアをイăłă‚ąăăĽă«ă™ă‚‹ă«ăŻă€čŞŤč¨ĽăŚĺż…č¦ă§ă™ă€‚" #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "ć–°ă—ă„ăŞăťă‚¸ăăŞă‚’追加ă—ă¦ă‘ăケăĽă‚¸ă‚’イăłă‚ąăăĽă«ă—ăľă™" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "購入ă—ăźă‚˝ă•ăウェアをイăłă‚ąăăĽă«ă™ă‚‹ă«ăŻă€čŞŤč¨ĽăŚĺż…č¦ă§ă™ă€‚" #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "ă‘ăケăĽă‚¸ă®ă‚˘ăă—ă‚°ă¬ăĽă‰" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "ć›´ć–°ă•れăźă‚˝ă•ăウェアをイăłă‚ąăăĽă«ă™ă‚‹ă«ăŻă€čŞŤč¨ĽăŚĺż…č¦ă§ă™ă€‚" #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "ä»–ă®ă¦ăĽă‚¶ă®ă‚żă‚ąă‚Żă®ä¸­ć­˘" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "ä»–äşşă«ă‚ă‚‹ă‚˝ă•ăウエアă®ĺ¤‰ć›´ă‚’é˛ăăźă‚ă€čŞŤč¨ĽăŚĺż…č¦ă§ă™" #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "ă‚˝ă•ăウェアă€ă‚¦ăłă­ăĽă‰ă®ăźă‚ă®ă—ă­ă‚­ă‚·ă‚’設定" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "ă‚˝ă•ăウェアă®ă€ă‚¦ăłă­ăĽă‰ă«ă—ă­ă‚­ă‚·ă‚µăĽăăĽă‚’ĺ©ç”¨ă™ă‚‹ă«ăŻă€čŞŤč¨ĽăŚĺż…č¦ă§ă™ă€‚" #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "エă©ăĽ" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "%sB / %sB ă‚’ă€ă‚¦ăłă­ăĽă‰ć¸ďĽ%sB/s)" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "%sB / %sB ă‚’ă€ă‚¦ăłă­ăĽă‰ć¸" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "エă©ăĽ:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "ă“ă®ă‚˘ă‚Żă‚·ă§ăłă‚’行ă†ć¨©é™ăŚă‚りăľă›ă‚“。" #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "待機中" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "äľťĺ­é–˘äż‚を解決ă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "以下ă®ć–°ă—ă„ă‘ăケăĽă‚¸ă‚’イăłă‚ąăăĽă«ă—ăľă™ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "以下ă®ă‘ăケăĽă‚¸ă‚’アăă—ă‚°ă¬ăĽă‰ă—ăľă™ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "以下ă®ă‘ăケăĽă‚¸ă‚’削除ă—ăľă™ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "以下ă®ă‘ăケăĽă‚¸ă‚’ă€ă‚¦ăłă‚°ă¬ăĽă‰ă—ăľă™ (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "以下ă®ă‘ăケăĽă‚¸ă‚’再イăłă‚ąăăĽă«ă—ăľă™ (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "以下ă®ă‘ăケăĽă‚¸ăŻăťă®ăľăľă§ă™ (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "%sB ă®ă‚˘ăĽă‚«ă‚¤ă–を取得ă™ă‚‹ĺż…č¦ăŚă‚りăľă™ă€‚" #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "ă“ă®ć“Ťä˝śă‚’行ă†ă¨ă€%sB ă®čż˝ĺŠ ă‡ă‚Łă‚ąă‚Żé ĺźźă‚’使用ă—ăľă™ă€‚" #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "ă“ă®ć“Ťä˝śă‚’行ă†ă¨ă€%sB ă®čż˝ĺŠ ă‡ă‚Łă‚ąă‚Żé ĺźźăŚé–‹ć”ľă•れăľă™ă€‚" #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "ç¶šă‘ăľă™ă‹? [Y/n]" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "2 個以上ă®ă‘ăケăĽă‚¸ă‚’操作ă™ă‚‹ă«ăŻă‚Żă‚©ăĽă†ăĽă‚·ă§ăłăžăĽă‚Żă®é–“ă«ă‘ăケăĽă‚¸ĺŤă‚’入れă¦ăŹă ă•ă„:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "ă‚­ăŁăă‚·ăĄă‚’ć›´ć–°" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "壊れăźäľťĺ­é–˘äż‚を修復ă—ă‚ă†ă¨ă—ă¦ă„ăľă™ă€‚ă“ă®ć“Ťä˝śăŻĺ¤šăŹă®ă‘ăケăĽă‚¸ă‚’削除ă™ă‚‹ĺŹŻč˝ć€§ăŚă‚ă‚‹ă€ĺŤ±é™şăŞä˝śćĄ­ă§ă™ă€‚" #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "以前ă®ä¸Ťĺ®Śĺ…¨ăŞă‚¤ăłă‚ąăăĽă«çŠ¶ć…‹ă‚’çµ‚äş†ă•ă›ă‚ă†ă¨ă—ă¦ă„ăľă™" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "指定ă•れăźă‘ăケăĽă‚¸ă‚’イăłă‚ąăăĽă«" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "指定ă•れăźă‘ăケăĽă‚¸ă‚’再イăłă‚ąăăĽă«" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "指定ă•れăźă‘ăケăĽă‚¸ă‚’削除" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "設定ă•ァイă«ă‚’ĺ«ă‚ă¦ćŚ‡ĺ®šă•れăźă‘ăケăĽă‚¸ă‚’削除" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "指定ă•れăźă‘ăケăĽă‚¸ă§ă€ă‚¦ăłă‚°ă¬ăĽă‰" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "非推奨: --safe-upgrade を使用ă—ă¦ăŹă ă•ă„" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "安全ăŞć–ąćł•ă§ă‚·ă‚ąă†ă ă‚’アăă—ă‚°ă¬ăĽă‰" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "シスă†ă ă‚’アăă—ă‚°ă¬ăĽă‰ă—ăľă™ă€‚ă‘ăケăĽă‚¸ă®ă‚¤ăłă‚ąăăĽă«ă‚„削除ăŚčˇŚă‚Źă‚Śă‚‹ă‹ă‚‚ă—れăľă›ă‚“。" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "信頼ă§ăŤă‚‹ă™ăłă€ăĽă«čż˝ĺŠ ă™ă‚‹" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "ă™ăłă€ăĽă®éŤµ ID を追加 (--keyserver ă‚‚ĺż…č¦)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "鍵ă®ć¤śç´˘ă«ă€ćŚ‡ĺ®šă•れăźéŤµă‚µăĽăăĽă‚’ĺ©ç”¨ă™ă‚‹" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "指定ă•れ㟠deb-line ă‹ă‚‰ć–°ă—ă„ăŞăťă‚¸ăăŞă‚’追加" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "ă©ă®ăŞăťă‚¸ăăŞă‚’追加ă™ă‚‹ă‹ăŻă€ä»–ă® sources.list.d ă•ァイă«ă‚’指定ă—ă¦ăŹă ă•ă„。" #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "信頼ă•れăźă™ăłă€ăĽéŤµă®ä¸€č¦§" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "指定ă®ă•ィăłă‚¬ăĽă—ăŞăłăă‚’ă‚‚ă¤äżˇé Ľć¸ă®éŤµă‚’削除" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "イăłă‚ąăăĽă«ć¸ăżă®ă‘ăケăĽă‚¸ă‚’再設定ă—ăľă™ă€‚オă—ă‚·ă§ăłă§čłŞĺ•Źă®ĺ„Şĺ…度を最小ă«ă™ă‚‹ă‚ă†ćŚ‡ĺ®šă§ăŤăľă™ă€‚" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "質問ă®ĺ„Şĺ…度ăŚćś€ĺ°Źă®debconfă®ăżčˇ¨ç¤şă•れăľă™" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "apt terminalをアタăăă—ăŞă„ă§ăŹă ă•ă„" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "認証ă•れă¦ă„ăŞă„ă‚˝ăĽă‚ąă‹ă‚‰ă®ă‘ăケăĽă‚¸ĺ°Žĺ…Ąă‚’許可ă™ă‚‹" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "ă‘ăケăĽă‚¸ă®čż˝ĺŠ ć…報を表示ă—ăľă™ă€‚現在ăŻăăĽă‚¸ă§ăłç•ŞĺŹ·ă®ăżă§ă™ă€‚" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "認証を待ăŁă¦ă„ăľă™" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Do not shutdown the daemon because of inactivity" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "ă©ă®ă—ă©ă‚°ă‚¤ăłă‚‚ă­ăĽă‰ă—ăŞă„" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Show internal processing information" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Quit and replace an already running daemon" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "DBusă‚»ăă‚·ă§ăłăスă®ćŽĄç¶šă‚’ĺľ…ăˇăľă™ďĽă†ă‚ąă時ă®ăżĺż…č¦ă§ă™" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "指定ă•れăźchrootç’°ĺ˘ă§ć“Ťä˝śă‚’実行ă—ăľă™" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Store profile stats in the specified file" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "Do not make any changes to the system (Only of use to developers)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "イăłă‚ąăăĽă«ć¸ă®ă•ァイă«" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "イăłă‚ąăăĽă«ć¸ă®ă‘ăケăĽă‚¸" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "ă•ァイă«ă‹ă‚‰éŤµă‚’追加ă—ăľă—ăź" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "ă‚­ăŁăă‚·ăĄă‚’ć›´ć–°ă—ăľă—ăź" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "検索ăŚĺ®Śäş†ă—ăľă—ăź" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "信頼ă•れăźéŤµă‚’削除ă—ăľă—ăź" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "ă‘ăケăĽă‚¸ă‚’削除ă—ăľă—ăź" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "ă‘ăケăĽă‚¸ă‚’ć›´ć–°ă—ăľă—ăź" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "シスă†ă ă‚’アăă—ă‚°ă¬ăĽă‰ă—ăľă—ăź" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "変更をé©ç”¨ă—ăľă—ăź" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "不完全ăŞă‚¤ăłă‚ąăăĽă«çŠ¶ć…‹ă‚’äż®ĺľ©ă—ăľă—ăź" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "壊れă¦ă„ă‚‹äľťĺ­é–˘äż‚を修復ă—ăľă—ăź" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "追加ă•れăźă‚˝ă•ăウェアソăĽă‚ą" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "ă‡ă‚Łă‚ąăăŞă“ăĄăĽă‚·ă§ăłă®ćŚ‡ĺ®šă•れăźă‚łăłăťăĽăŤăłăă‚’ĺ©ç”¨ĺŹŻč˝ă«ă—ăľă—ăź" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "ă€ă‚¦ăłă­ăĽă‰ă—ăźă‘ăケăĽă‚¸ă•ァイă«ă®ĺ‰Šé™¤" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "イăłă‚ąăăĽă«ă—ăźă‘ăケăĽă‚¸ă®ĺ†Ťč¨­ĺ®š" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "ć功ă—ăľă—ăź" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "ă‚­ăŁăłă‚»ă«ă•れăľă—ăź" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "失敗ă—ăľă—ăź" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "ă•ァイă«ă‚’イăłă‚ąăăĽă«ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "ă‘ăケăĽă‚¸ă‚’イăłă‚ąăăĽă«ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "ă•ァイă«ă‹ă‚‰éŤµă‚’追加ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "ă‚­ăŁăă‚·ăĄă‚’ć›´ć–°ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "信頼ă•れăźéŤµă‚’削除ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "ă‘ăケăĽă‚¸ă‚’削除ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "ă‘ăケăĽă‚¸ă‚’ć›´ć–°ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "シスă†ă ă‚’アăă—ă‚°ă¬ăĽă‰ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "変更をé©ç”¨ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "不完全ăŞă‚¤ăłă‚ąăăĽă«çŠ¶ć…‹ă‚’äż®ĺľ©ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "イăłă‚ąăăĽă«ć¸ăżă®ă‚˝ă•ăウェアを修復ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "ă‚˝ă•ăウェアソăĽă‚ąă®čż˝ĺŠ " #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "ă‡ă‚Łă‚ąăăŞă“ăĄăĽă‚·ă§ăłă®ćŚ‡ĺ®šă•れăźă‚łăłăťăĽăŤăłăă‚’ĺ©ç”¨ĺŹŻč˝ă«ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "ă€ă‚¦ăłă­ăĽă‰ă—ăźă‘ăケăĽă‚¸ă•ァイă«ă®ĺ‰Šé™¤ä¸­" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "イăłă‚ąăăĽă«ă—ăźă‘ăケăĽă‚¸ă®ĺ†Ťč¨­ĺ®šä¸­" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "検索" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "ă‘ăケăĽă‚¸ă®ă‚¤ăłă‚ąăăĽă«ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "ă‚˝ă•ăウェアă®ă‚¤ăłă‚ąăăĽă«ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "ă‚˝ă•ăウェアăŞă‚ąăă®ć›´ć–°ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "信頼ć¸ăżăŞă‚ąăă‹ă‚‰ă®ă™ăłă€ăĽă®ĺ‰Šé™¤ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "ă‚˝ă•ăウェアă®ĺ‰Šé™¤ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "ă‚˝ă•ăウェアă®ć›´ć–°ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "シスă†ă ă®ă‚˘ăă—ă‚°ă¬ăĽă‰ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "ă‚˝ă•ăウェアă®ĺ¤‰ć›´ă®é©ç”¨ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "不完全ăŞă‚¤ăłă‚ąăăĽă«çжㅋă®äż®ĺľ©ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "壊れă¦ă„ă‚‹äľťĺ­é–˘äż‚ă®äż®ĺľ©ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "ă‚˝ă•ăウェアソăĽă‚ąă®čż˝ĺŠ ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "ă‡ă‚Łă‚ąăăŞă“ăĄăĽă‚·ă§ăłă®ćŚ‡ĺ®šă•れăźă‚łăłăťăĽăŤăłăă‚’ĺ©ç”¨ĺŹŻč˝ă«ă§ăŤăľă›ă‚“ă§ă—ăź" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "ă€ă‚¦ăłă­ăĽă‰ă—ăźă‘ăケăĽă‚¸ă•ァイă«ă®ĺ‰Šé™¤ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "検索ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽă®čż˝ĺŠ " #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "イăłă‚żăĽăŤăă接続を確認ă—ă¦ăŹă ă•ă„。" #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "サăĽă‰ă‘ăĽă†ă‚Łă®ăŞăťă‚¸ăăŞă‚’使用ă—ă¦ă„ă‚‹ă‹ă©ă†ă‹ă‚’確認ă—ă¦ăŹă ă•ă„。ĺ©ç”¨ă—ă¦ă„ă‚‹ĺ ´ĺă€ăă©ă–ă«ă®ĺŽźĺ› ă«ăŞă‚‹ĺ ´ĺăŚă‚ă‚‹ă®ă§ç„ˇĺŠąă«ă—ă¦ăŹă ă•ă„。\n" "ăťă®ă†ăă§ç«Żćś«ă‹ă‚‰ć¬ˇă®ă‚łăžăłă‰ă‚’実行ă—ă¦ăŹă ă•ă„: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "é¸ćŠžă—ăźă•ァイă«ăŻGPG鍵ă•ァイă«ă§ăŻăŞă„ă‹ă€ĺŁŠă‚Śă¦ă„る可č˝ć€§ăŚă‚りăľă™ă€‚" #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "é¸ćŠžă•れăźéŤµăŻĺ‰Šé™¤ă§ăŤăľă›ă‚“。有効ăŞă•ィăłă‚¬ăĽă—ăŞăłăを入力ă—ăźă‹ç˘şčŞŤă—ă¦ăŹă ă•ă„" #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "ä»–ă®ă‚˝ă•ăウェア管ç†ă„ăĽă«ă‚’現在実行ă—ă¦ă„ăŞă„ă‹ă©ă†ă‹ç˘şčŞŤă—ă¦ăŹă ă•ă„。例: Synaptic ăľăźăŻ " "aptitude。ĺŚć™‚ă«ă‚˝ă•ăウェアă®ĺ¤‰ć›´ă‚’行ăă‚‹ă®ăŻ 1 ă¤ă®ă„ăĽă«ă®ăżă§ă™ă€‚" #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "重大ăŞĺ•ŹéˇŚăŚç™şç”źă—ăľă—ăźă€‚ă‚‚ă†ä¸€ĺş¦čˇŚă„ă€ĺ†Ťĺş¦ĺ•ŹéˇŚăŚç”źăăźĺ ´ĺă«ăŻé–‹ç™şăăĽă ă«ă‚¨ă©ăĽĺ ±ĺ‘Šă‚’ăŠéˇă„ă—ăľă™ă€‚" #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "ă‘ăケăĽă‚¸ĺŤă®ă‚ąăšă«ă‚„ă€ă‘ăケăĽă‚¸ă«ĺăŁăźăŞăťă‚¸ăăŞăŚćś‰ĺŠąă«ăŞăŁă¦ă„ă‚‹ă‹ç˘şčŞŤă—ă¦ăŹă ă•ă„。" #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "アăă—ă‡ăĽăă‚’ĺż…č¦ă¨ă™ă‚‹ă‚‚ă®ăŻă‚りăľă›ă‚“。" #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "イăłă‚ąăăĽă«ă‚’ĺż…č¦ă¨ă™ă‚‹ă‚‚ă®ăŻă‚りăľă›ă‚“。" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "削除を必č¦ă¨ă™ă‚‹ă‚‚ă®ăŻă‚りăľă›ă‚“。" #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "削除をč¦ć±‚ă—ăźă‘ăケăĽă‚¸ăŻă‚·ă‚ąă†ă ă®é‡Ťč¦ăŞé¨ĺ†ă«é–˘ă‚Źă‚‹ă‚‚ă®ă§ă™ă€‚" #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "ă‡ăĽă˘ăłă¨ă®ćŽĄç¶šăŚĺ‡ć–­ă•れăľă—ăźă€‚ăăクグă©ă‚¦ăłă‰ă‡ăĽă˘ăłăŚă‚Żă©ăă‚·ăĄă—ăźĺŹŻč˝ć€§ăŚćĄµă‚ă¦é«ă„ă§ă™ă€‚" #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "ă‚˝ă•ăウェアă®ă‚¤ăłă‚ąăăĽă«ăľăźăŻĺ‰Šé™¤ăŚĺ¤±ć•—ă—ăľă—ăźă€‚" #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "č¦ć±‚ă•れăźć©źč˝ăŻă‚µăťăĽăă•れă¦ă„ăľă›ă‚“。" #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "ă‚˝ă•ăウェアをイăłă‚ąăăĽă«/削除ă—ăźă‚Šă€ä»–ă®ă‘ăケăĽă‚¸ç®ˇç†ă«é–˘é€Łă—ăźă‚żă‚ąă‚Żă‚’行ă†ă‚˝ă•ăウェアă§ă‚ă‚‹ă€aptdaemonă®ă—ă­ă‚°ă©ăźăłă‚°ă‚¨ă©ăĽă®ă‚ă†ă§ă™ă€‚" #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "ă“ă®ă‚¨ă©ăĽăŻĺż…č¦ăŞčż˝ĺŠ ă‚˝ă•ăウェアă‘ăケăĽă‚¸ăŚč¦‹ă¤ă‹ă‚‰ăŞă„ă‹ă‚¤ăłă‚ąăăĽă«ă•れă¦ă„ăŞă„ăźă‚発生ă—ăźă‚‚ă®ă§ă™ă€‚ăťă®ă†ăă€ĺŚć™‚ă«ă‚¤ăłă‚ąăăĽă«ă§ăŤăŞă„ă‚˝ă•ăウェア" "ă‘ăケăĽă‚¸ă®é–“ă§čˇťçŞăŚç™şç”źă—ă¦ă„る可č˝ć€§ăŚă‚りăľă™ă€‚" #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "ă“ă®ć“Ťä˝śă«ăŻčŞŤč¨Ľă•れă¦ă„ăŞă„ă‚˝ăĽă‚ąă‹ă‚‰ă®ă‘ăケăĽă‚¸ă‚’イăłă‚ąăăĽă«ă™ă‚‹ĺż…č¦ăŚă‚りăľă™ă€‚" #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "関係ă®ă‚ă‚‹ă‚˝ă•ăウェアă‘ăケăĽă‚¸ă§ă‚¨ă©ăĽăŚç™şç”źă—ăźă‹ă€é€šĺ¸¸ă§ăŻăŞă„ć–ąćł•ă§ä¸­ć–­ă•れăźăźă‚イăłă‚ąăăĽă«ă«ĺ¤±ć•—ă—ăźĺŹŻč˝ć€§ăŚă‚りăľă™ă€‚ă‚˝ă•ăウェアをイăłă‚ąăăĽă«ăľ" "ăźăŻĺ‰Šé™¤ă™ă‚‹ĺ‰Ťă«ă€ă“ă®ĺ•ŹéˇŚă‚’修正ă™ă‚‹ĺż…č¦ăŚă‚りăľă™ă€‚" #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "ă•ァイă«ă‚’ă­ăĽă‚«ă«ă®ă‚łăłă”ăĄăĽă‚żă«ă‚łă”ăĽă—ă¦ă€ă•ァイă«ă®ć¨©é™ă‚’ăă‚§ăクă—ă¦ăŹă ă•ă„。" #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "ĺ“質を満ăźă—ă¦ă„ăŞă„壊れăźă‘ăケăĽă‚¸ă®ă‚¤ăłă‚ąăăĽă«ăŻč¨±ĺŹŻă•れă¦ă„ăľă›ă‚“。コăłă”ăĄăĽă‚żă«ć·±ĺ»ăŞĺ•ŹéˇŚă‚’発生ă•ă›ă‚‹ĺŹŻč˝ć€§ăŚă‚ă‚‹ă‹ă‚‰ă§ă™ă€‚詳細ă«ă¤ă„ă¦ăŻă€ă“ă®ă‘ă" "ケăĽă‚¸ă‚’作ćă—ăźäşşç‰©ă‹çµ„çą”ă«é€Łçµˇă—ă¦ăŹă ă•ă„。" #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "ă“ă®ă‚˝ă•ăウェアを実行ă™ă‚‹ă®ă«ĺż…č¦ăŞă€ă‚¦ăłă­ăĽă‰ć¸ăżă®ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽăŚćś‰ĺŠąă§ăŞă„ă‹ă€ăľăźăŻć­Łĺ¸¸ă«ă‚¤ăłă‚ąăăĽă«ă•れă¦ă„ăľă›ă‚“。\n" "詳ă—ă„ć…ĺ ±ăŻč©łç´°ă‚’確認ă—ă¦ăŹă ă•ă„。" #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "ă™ăąă¦ă®ĺ©ç”¨ĺŹŻč˝ăŞă‚˘ăă—ă‚°ă¬ăĽă‰ăŻă™ă§ă«ă‚¤ăłă‚ąăăĽă«ă•れă¦ă„ăľă™ă€‚" #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "ă“ă®ă‚˝ă•ăウェアă®ä˝żç”¨ă‚’許可ă™ă‚‹ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽăŚă€ă‚¦ăłă­ăĽă‰ă§ăŤăľă›ă‚“ă§ă—ăźă€‚ăŤăăăŻăĽă‚ŻćŽĄç¶šă‚’ç˘şčŞŤă—ă¦ăŹă ă•ă„。" #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "" #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "ă‘ăケăĽă‚¸ă•ァイă«ă®ă€ă‚¦ăłă­ăĽă‰ă«ĺ¤±ć•—ă—ăľă—ăźă€‚" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "ăŞăťă‚¸ăăŞć…ĺ ±ă®ă€ă‚¦ăłă­ăĽă‰ă«ĺ¤±ć•—ă—ăľă—ăźă€‚" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "ă‘ăケăĽă‚¸ă®äľťĺ­ć€§ă‚’解決ă§ăŤăľă›ă‚“。" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "ă‘ăケăĽă‚¸ă‚·ă‚ąă†ă ăŚĺŁŠă‚Śă¦ă„ăľă™ă€‚" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "鍵ăŻă‚¤ăłă‚ąăăĽă«ă•れăľă›ă‚“ă§ă—ăź" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "鍵ăŻĺ‰Šé™¤ă•れăľă›ă‚“ă§ă—ăź" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "ă‘ăケăĽă‚¸ăžăŤăĽă‚¸ăŁăĽă®ă­ăクă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "ă‘ăケăĽă‚¸ä¸€č¦§ă®čŞ­ăżčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "ă‘ăケăĽă‚¸ăŚĺ­ĺś¨ă—ăľă›ă‚“" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "ă‘ăケăĽă‚¸ăŻă™ă§ă«ćś€ć–°ă§ă™" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "ă‘ăケăĽă‚¸ăŻă‚¤ăłă‚ąăăĽă«ć¸ă§ă™" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "ă‘ăケăĽă‚¸ăŻă‚¤ăłă‚ąăăĽă«ă•れă¦ă„ăľă›ă‚“" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "重č¦ăŞă‚·ă‚ąă†ă ă‘ăケăĽă‚¸ă®ĺ‰Šé™¤ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "タスクを監視ăľăźăŻă‚łăłăă­ăĽă«ă™ă‚‹ă“ă¨ăŚă§ăŤăľă›ă‚“" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "ă‘ăケăĽă‚¸ă®ć“Ťä˝śă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "信頼ă•れă¦ă„ăŞă„ă‘ăケăĽă‚¸ă®ă‚¤ăłă‚ąăăĽă«ăŚĺż…č¦ă§ă™" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "以前ă®ă‚¤ăłă‚ąăăĽă«ăŚĺ®Śäş†ă—ă¦ă„ăľă›ă‚“" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "ă‘ăケăĽă‚¸ă®ĺ“質ăŚć‚Şă„ă§ă™" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "ă‘ăケăĽă‚¸ă•ァイă«ă‚’é–‹ă‘ăľă›ă‚“ă§ă—ăź" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "サăťăĽăă•れă¦ă„ăŞă„機č˝ă§ă™" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽă®ă€ă‚¦ăłă­ăĽă‰ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽă®ă‚¤ăłă‚ąăăĽă«ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "シスă†ă ăŻă™ă§ă«ćś€ć–°ă§ă™" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "ă“ă®ă‚˘ă‚Żă‚·ă§ăłă‚’実行ă™ă‚‹ć¨©é™ăŚă‚りăľă›ă‚“" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "ăŹăłă‰ă«ă§ăŤăŞă„エă©ăĽăŚç™şç”źă—ăľă—ăź" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "処ç†ă®é–‹ĺ§‹ă‚’ĺľ…ăŁă¦ă„ăľă™" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "待機中" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "č¦ć±‚ă•れăźăˇă‡ă‚Łă‚˘ă‚’ĺľ…ăŁă¦ă„ăľă™" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "ä»–ă®ă‚˝ă•ăウェアăžăŤăĽă‚¸ăŁăĽă®çµ‚了を待ăŁă¦ă„ăľă™" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "設定ă•ァイă«ă®ă—ă­ăłă—ăă‚’ĺľ…ăŁă¦ă„ăľă™" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "タスクを実行中ă§ă™" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "ă€ă‚¦ăłă­ăĽă‰ä¸­ă§ă™" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "ă‚˝ă•ăウェアソăĽă‚ąă«ĺ•Źă„ĺわă›ă¦ă„ăľă™" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "クăŞăĽăłă‚˘ăă—中ă§ă™" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "終了ă—ăľă—ăź" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "ă‚­ăŁăłă‚»ă«ă—ăľă™" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "ă‚˝ă•ăウェアă®ä¸€č¦§ă‚’読ăżčľĽă‚“ă§ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "%s をイăłă‚ąăăĽă«ă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "%s を設定ă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "%s を削除ă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "%s を完全ă«ĺ‰Šé™¤ă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "%să®ć¶ĺ¤±ă‚’č¨éڞă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "イăłă‚ąăăĽă«ĺľŚăăŞă‚¬ %s を実行ă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "%s をアăă—ă‚°ă¬ăĽă‰ă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "%s を展開ă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "%s をイăłă‚ąăăĽă«ă™ă‚‹ćş–備をă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "%s を設定ă™ă‚‹ćş–備をă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "%s を削除ă™ă‚‹ćş–備をă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "%s を完全ă«ĺ‰Šé™¤ă™ă‚‹ćş–備をă—ă¦ă„ăľă™" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "%s をイăłă‚ąăăĽă«ă—ăľă—ăź" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "%s を完全ă«ĺ‰Šé™¤ă—ăľă—ăź" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "%s を削除ă—ăľă—ăź" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "%s を処ç†ä¸­" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "完了" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "認証ă«ĺ¤±ć•—ă—ăľă—ăź" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "取得ă—ă¦ă„ăľă™" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "待機中" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "ăŤăăăŻăĽă‚ŻăŚĺ©ç”¨ă§ăŤăľă›ă‚“" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "詳細ć…ĺ ±" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "ă•ァイă«" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "ă€ă‚¦ăłă­ăĽă‰ć¸ăż %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "ă€ă‚¦ăłă­ăĽă‰ć¸" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "'%s' ă¨ă„ă†ĺŤă®CD/DVDăŚĺż…č¦ă§ă™" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "ă‘ăケăĽă‚¸ă‚’イăłă‚ąăăĽă«ă™ă‚‹ăźă‚ă€CD/DVDă‚’ă‰ă©ă‚¤ă– '%s' ă«ĺ…Ąă‚Śă¦ăŹă ă•ă„。" #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "続行(_O)" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "イăłă‚ąăăĽă«" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "再イăłă‚ąăăĽă«" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "削除" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "完全ă«ĺ‰Šé™¤" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "アăă—ă‚°ă¬ăĽă‰" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "ă€ă‚¦ăłă‚°ă¬ăĽă‰" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "アăă—ă‚°ă¬ăĽă‰ă‚’スキăă—" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "以下ă®ĺ¤‰ć›´ç‚ąă®ăŞă‚ąăを確認ă—ă¦ăŹă ă•ă„。" #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "追加ソă•ăウェアをイăłă‚ąăăĽă«ă™ă‚‹ĺż…č¦ăŚă‚りăľă™" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "追加ソă•ăウェアを再イăłă‚ąăăĽă«ă™ă‚‹ĺż…č¦ăŚă‚りăľă™" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "追加ソă•ăウェアを削除ă™ă‚‹ĺż…č¦ăŚă‚りăľă™" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "完全ă«ĺ‰Šé™¤ă•れă‚ă†ă¨ă—ă¦ă„る追加ă®ă‚˝ă•ăウエア" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "追加ソă•ăウェアをアăă—ă‚°ă¬ăĽă‰ă™ă‚‹ĺż…č¦ăŚă‚りăľă™" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "追加ソă•ăウェアをă€ă‚¦ăłă‚°ă¬ăĽă‰ă™ă‚‹ĺż…č¦ăŚă‚りăľă™" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "アăă—ă‚°ă¬ăĽă‰ăŻă‚ąă‚­ăă—ă•れăľă™" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "追加ă®ĺ¤‰ć›´ăŚĺż…č¦ă§ă™" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "ĺ…¨é¨ă§ %sB ăŚă€ă‚¦ăłă­ăĽă‰ă•れăľă™ă€‚" #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB ă®ă‡ă‚Łă‚ąă‚Żă‚ąăšăĽă‚ąăŚé–‹ć”ľă•れăľă™ă€‚" #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "ĺ°‘ăŞăŹă¨ă‚‚ %sB ă®ă‡ă‚Łă‚ąă‚Żă‚ąăšăĽă‚ąăŚä˝żç”¨ă•れăľă™ă€‚" #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "変更ă•れă¦ă„ă‚‹ '%s' を最新ăăĽă‚¸ă§ăłă®č¨­ĺ®šă•ァイă«ă§ç˝®ăŤćŹ›ăăľă™ă‹ďĽź" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "ăťă®ă•ァイă«ăŚĺ­ĺś¨ă—ă¦ă„ă‚‹ç†ç”±ăŚĺ†ă‹ă‚‰ăŞă„ĺ ´ĺăŻă€é€šĺ¸¸ç˝®ăŤćŹ›ăăźă»ă†ăŚĺ®‰ĺ…¨ă§ă™ă€‚" #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "変更(_C)" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "ăťă®ăľăľ(_K)" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "ç˝®ăŤćŹ›ăă‚‹(_R)" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "詳細(_D)" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "%s ă®çµ‚了を待ăŁă¦ă„ăľă™" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "ă€ă‚¦ăłă­ăĽă‰ä¸­ %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "ă­ăĽă‚«ă«ăŞăťă‚¸ăăŞ" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "%s ă‹ă‚‰ă€ă‚¦ăłă­ăĽă‰ă—ă¦ă„ăľă™" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "%s ă®ć§‹ć" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "%s ă®č©łç´°" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "%să®ç˝˛ĺŤć¸ăżč©łç´°ă•ァイă«" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "%s ă§ĺ©ç”¨ĺŹŻč˝ăŞă‘ăケăĽă‚¸" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "%s ă§ĺ©ç”¨ĺŹŻč˝ăŞă‚˝ăĽă‚ą" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "%s ă§ĺ©ç”¨ĺŹŻč˝ăŞçż»č¨ł" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "%sďĽ%s)用ă®%să®çż»č¨łă‡ăĽă‚ż" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "%s用ă®%să®çż»č¨łă‡ăĽă‚ż" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "(%s)用ă®%să®çż»č¨łă‡ăĽă‚ż" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "ă‘ăケăĽă‚¸ %s ăŻĺ©ç”¨ă§ăŤăľă›ă‚“" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "ă‘ăケăĽă‚¸ %s ăŻă‚¤ăłă‚ąăăĽă«ă•れăľă›ă‚“" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "ăăĽă‚¸ă§ăł %s ă® %s ăŻă‚¤ăłă‚ąăăĽă«ă•れă¦ă„ăľă›ă‚“" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "ă‘ăケăĽă‚¸ %s ăŻă‚¤ăłă‚ąăăĽă«ć¸ăżă§ă™" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "ăăĽă‚¸ă§ăł %s ă® %s ăŻĺ©ç”¨ă§ăŤăľă›ă‚“。" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "ă‚­ăĽă‚µăĽăăĽă®URLăŚç„ˇĺŠąă§ă™: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "サăĽăăĽă®ă—ă­ăコă«ăŚç„ˇĺŠąă§ă™: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "ă‚­ăĽIDăŚç„ˇĺŠąă§ă™: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "キ㼠%s ă‚’ %s ă‹ă‚‰ă€ă‚¦ăłă­ăĽă‰ă—ă¦ă‚¤ăłă‚ąăăĽă«ă™ă‚‹ă®ă«ĺ¤±ć•—ă—ăľă—ăź:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "ă‚­ăĽă•ァイ㫠%s ăŻă‚¤ăłă‚ąăăĽă«ă§ăŤăľă›ă‚“ă§ă—ăź: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "ă•ィăłă‚¬ăĽă—ăŞăłă %s ă®ă‚­ăĽă‚’削除ă§ăŤăľă›ă‚“ă§ă—ăź: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "ă‘ăケăĽă‚¸ %s ăŻĺ‰Šé™¤ă§ăŤăľă›ă‚“" #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "ăăĽă‚¸ă§ăł %s ă® %s ăŻă‚¤ăłă‚ąăăĽă«ă•れă¦ă„ăľă›ă‚“" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "以前ă®ăăĽă‚¸ă§ăł %s ă® %s ăŻă‚¤ăłă‚ąăăĽă«ć¸ăżă§ă™" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "ăăĽă‚¸ă§ăł %s ă® %s ăŻă‚¤ăłă‚ąăăĽă«ć¸ăżă§ă™" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "ăăĽă‚¸ă§ăł %s ă® %s ăŻĺ©ç”¨ă§ăŤăľă›ă‚“" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "ă€ă‚¦ăłă‚°ă¬ăĽă‰ă™ă‚‹ %s ă®ăăĽă‚¸ă§ăłă‚’指定ă—ă¦ăŹă ă•ă„" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "最新ăăĽă‚¸ă§ăł %s ă® %s ăŻă‚¤ăłă‚ąăăĽă«ć¸ăżă§ă™" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "ă‘ăケăĽă‚¸ %s 㯠%s ăŞăŞăĽă‚ąă§ăŻĺ©ç”¨ă§ăŤăľă›ă‚“。" #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "ă‘ăケăĽă‚¸ %s ăŻĺ‰Šé™¤ă§ăŤăľă›ă‚“" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "ă“ă®ă‘ăケăĽă‚¸ăŻă€ć­Łă—ă„Install-SizeăŚč¨čż°ă•れă¦ă„ăľă›ă‚“。Debian Policy 5.6.20を確認ă—ă¦ăŹă ă•ă„。" #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽăŚç©şă§ă™" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽă«ĺ®źčˇŚă‚łăĽă‰ă‚’ĺ«ă‚ă‚‹ă“ă¨ăŻă§ăŤăľă›ă‚“。" #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽă®ă‘ス %s ăŚç„ˇĺŠąă§ă™" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽăŻă™ă§ă«ĺ­ĺś¨ă—ă¦ă„ăľă™ďĽš %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "ă©ă‚¤ă‚»ăłă‚ąă‚­ăĽă®ĺ ´ć‰€ăŻă‚·ăłăśăŞăクăŞăłă‚Żă‚’ĺ«ă‚“ă§ă„ă‚‹ăźă‚安全ă§ăŻă‚りăľă›ă‚“。ă‘ス%săŻ%să«ăžăă—ă•れă¦ă„ăľă™ă€‚" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "ă‚­ăĽă®ă‚¤ăłă‚ąăăĽă«ĺ…ă®ă‡ă‚Łă¬ă‚ŻăăŞăŻĺ­ĺś¨ă—ăľă›ă‚“: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "ă‚­ăĽă®ć›¸ăŤčľĽăżă«ĺ¤±ć•—ă—ăľă—ăź: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "以下ă®ă‘ăケăĽă‚¸ăŻäľťĺ­é–˘äż‚を満ăźă—ă¦ă„ăľă›ă‚“:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "ă—ă‹ă—ă€ä»®ćłă‘ăケăĽă‚¸ă§ă™" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "ă—ă‹ă—ă€ă‚¤ăłă‚ąăăĽă«ă•れă¦ă„ăľă›ă‚“" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "ă—ă‹ă—ă€ă‚¤ăłă‚ąăăĽă«ă•れăľă›ă‚“" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "ă—ă‹ă—ă€%s ăŻă‚¤ăłă‚ąăăĽă«ć¸ăżă§ă™" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "ă—ă‹ă—ă€%s ăŻă‚¤ăłă‚ąăăĽă«ă•れăľă™" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "信頼ć¸ăżă‚˝ă•ăウェアă™ăłă€ăĽăŞă‚ąăă¸ă®éŤµă®čż˝ĺŠ ă«ĺ¤±ć•—ă—ăľă—ăź" aptdaemon-1.1.1/po/sq.po0000644000175000017500000013707112117271433015653 0ustar renaterenate00000000000000# Albanian translation for aptdaemon # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the aptdaemon package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: aptdaemon\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-17 11:07+0000\n" "PO-Revision-Date: 2013-03-07 14:25+0000\n" "Last-Translator: Vilson Gjeci \n" "Language-Team: Albanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2013-03-09 23:28+0000\n" "X-Generator: Launchpad (build 16523)\n" #: ../data/org.debian.apt.policy.in.h:1 msgid "List keys of trusted vendors" msgstr "Listo çelĂ«sat e shitĂ«save tĂ« besuar" #: ../data/org.debian.apt.policy.in.h:2 msgid "To view the list of trusted keys, you need to authenticate." msgstr "" "PĂ«r tĂ« shfaqur listĂ«n e çelĂ«save tĂ« besuar, ju duhet tĂ« identifikoheni." #: ../data/org.debian.apt.policy.in.h:3 ../aptdaemon/console.py:612 msgid "Remove downloaded package files" msgstr "Hiq skedarĂ«t e paketave tĂ« shkarkuara" #: ../data/org.debian.apt.policy.in.h:4 msgid "To clean downloaded package files, you need to authenticate." msgstr "" "PĂ«r tĂ« pastruar skedarĂ«t e paketave tĂ« shkarkuara, ju duhet t identifikoheni." #: ../data/org.debian.apt.policy.in.h:5 msgid "Change software configuration" msgstr "Ndrysho konfigurimin e programeve" #: ../data/org.debian.apt.policy.in.h:6 msgid "To change software settings, you need to authenticate." msgstr "" "PĂ«r tĂ« ndryshuar parametrat e programeve, ju duhet tĂ« identifikoheni." #: ../data/org.debian.apt.policy.in.h:7 msgid "Change software repository" msgstr "Ndrysho magazinĂ«n e programeve" #: ../data/org.debian.apt.policy.in.h:8 msgid "To change software repository settings, you need to authenticate." msgstr "PĂ«r tĂ« ndryshuar parametrat e magazinĂ«s, ju duhet tĂ« identifikoheni." #: ../data/org.debian.apt.policy.in.h:9 msgid "Install package file" msgstr "Instalo skedarin e paketĂ«s" #: ../data/org.debian.apt.policy.in.h:10 msgid "To install this package, you need to authenticate." msgstr "PĂ«r tĂ« instaluar kĂ«tĂ« paketĂ«, ju duhet tĂ« identifikoheni." #: ../data/org.debian.apt.policy.in.h:11 msgid "Update package information" msgstr "PĂ«rditĂ«so informacionin e paketave" #: ../data/org.debian.apt.policy.in.h:12 msgid "To update the software catalog, you need to authenticate." msgstr "" "PĂ«r tĂ« pĂ«rditĂ«suar katalogun e programeve, ju duhet tĂ« identifikoheni." #: ../data/org.debian.apt.policy.in.h:13 msgid "Install or remove packages" msgstr "Instalo ose hiq paketat" #: ../data/org.debian.apt.policy.in.h:14 msgid "To install or remove software, you need to authenticate." msgstr "PĂ«r tĂ« instaluar apo hequr programe, ju duhet tĂ« identifikoheni." #. This priviledge will be requested when installing a package #. from a high trusted repository that can be explicitely whitelisted. #. #. The defaults for this action are the same as #. "org.debian.apt.install-or-remove-packages". #. #. The admin can override them to e.g. allow passwordless installs for #. leightweight applications like unity-webapps or for packages #. comming from high trust repositories (like internal repositories) #. #: ../data/org.debian.apt.policy.in.h:25 msgid "Install software from a high-trust whitelisted repository." msgstr "" "Instalo programe nga njĂ« magazinĂ« shumĂ« e besuar dhe nĂ« listĂ«n e bardhĂ«." #: ../data/org.debian.apt.policy.in.h:26 msgid "To install software, you need to authenticate." msgstr "PĂ«r tĂ« instaluar programe, ju duhet tĂ« identifikoheni." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #: ../data/org.debian.apt.policy.in.h:32 msgid "Add a new repository and install packages from it" msgstr "Shto njĂ« magazinĂ« tĂ« re dhe shto paketat prej saj" #: ../data/org.debian.apt.policy.in.h:33 msgid "To install software from a new source, you need to authenticate." msgstr "" "PĂ«r tĂ« instaluar programe nga njĂ« burim i ri, ju duhet tĂ« identifikoheni." #. This privilege allows to call AddRepository, UpdateCache(Partially) #. and InstallPackages in a row and only authenticating once. #. #. The client has to authenticate for this privilege before calling #. the aptdaemon methods. #. #. The only difference to install-packages-from-new-repo is the wording #. of the message. It is required by Ubuntu's Software-Center. #: ../data/org.debian.apt.policy.in.h:42 msgid "" "Add a new repository of purchased software and install packages from it" msgstr "" "Shto njĂ« magazinĂ« tĂ« re tĂ« programeve tĂ« blera dhe instalo paketat prej saj" #: ../data/org.debian.apt.policy.in.h:43 msgid "To install purchased software, you need to authenticate." msgstr "PĂ«r tĂ« instaluar programet e blera, ju duhet tĂ« identiifkoheni." #: ../data/org.debian.apt.policy.in.h:44 msgid "Upgrade packages" msgstr "PĂ«rditĂ«so paketat" #: ../data/org.debian.apt.policy.in.h:45 msgid "To install updated software, you need to authenticate." msgstr "" "PĂ«r tĂ« instaluar programet e pĂ«rditĂ«suara, ju duhet tĂ« identifikoheni." #: ../data/org.debian.apt.policy.in.h:46 msgid "Cancel the task of another user" msgstr "Anullo detyrĂ«n e njĂ« pĂ«rdoruesi tjetĂ«r" #: ../data/org.debian.apt.policy.in.h:47 msgid "To cancel someone else's software changes, you need to authenticate." msgstr "" "PĂ«r tĂ« fshirĂ« ndryshimet e programeve tĂ« dikujt tjetĂ«r, ju duhet tĂ« " "identifikoheni." #: ../data/org.debian.apt.policy.in.h:48 msgid "Set a proxy for software downloads" msgstr "Vendos proksi pĂ«r shkarkimet e programeve" #: ../data/org.debian.apt.policy.in.h:49 msgid "" "To use a proxy server for downloading software, you need to authenticate." msgstr "PĂ«r tĂ« pĂ«rdorur njĂ« server proksi, ju duhet tĂ« identifikoheni." #: ../aptdaemon/console.py:209 msgid "ERROR" msgstr "GABIM" #: ../aptdaemon/console.py:242 ../aptdaemon/gtkwidgets.py:299 #: ../aptdaemon/gtk3widgets.py:301 #, python-format msgid "Downloaded %sB of %sB at %sB/s" msgstr "U Shkarkuan %sB tĂ« %sB nĂ« %sB/s" #: ../aptdaemon/console.py:247 ../aptdaemon/gtkwidgets.py:304 #: ../aptdaemon/gtkwidgets.py:493 ../aptdaemon/gtk3widgets.py:306 #: ../aptdaemon/gtk3widgets.py:498 #, python-format msgid "Downloaded %sB of %sB" msgstr "U Shkarkua %sB e %sB" #: ../aptdaemon/console.py:374 ../aptdaemon/console.py:379 msgid "ERROR:" msgstr "GABIM:" #: ../aptdaemon/console.py:375 msgid "You are not allowed to perform this action." msgstr "Nuk ju lejohet tĂ« kryeni kĂ«tĂ« veprim." #: ../aptdaemon/console.py:398 ../aptdaemon/console.py:526 msgid "Queuing" msgstr "Duke kĂ«rkuar" #: ../aptdaemon/console.py:405 ../aptdaemon/enums.py:614 msgid "Resolving dependencies" msgstr "Duke zgjidhur vartĂ«sitĂ«" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:447 #, python-format msgid "The following NEW package will be installed (%(count)s):" msgid_plural "The following NEW packages will be installed (%(count)s):" msgstr[0] "Paketa E RE qĂ« vijon do tĂ« instalohet (%(count)s):" msgstr[1] "Paketat E REJA qĂ« vijojnĂ« do tĂ« instalohen (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:455 #, python-format msgid "The following package will be upgraded (%(count)s):" msgid_plural "The following packages will be upgraded (%(count)s):" msgstr[0] "Paketa qĂ« vijon do tĂ« pĂ«rditĂ«sohet (%(count)s):" msgstr[1] "Paketat qĂ« vijojnĂ« do tĂ« pĂ«rditĂ«sohen (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:463 #, python-format msgid "The following package will be REMOVED (%(count)s):" msgid_plural "The following packages will be REMOVED (%(count)s):" msgstr[0] "Paketa qĂ« vijon do tĂ« HIQET (%(count)s):" msgstr[1] "Paketat qĂ« vijojnĂ« do tĂ« HIQEN (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:472 #, python-format msgid "The following package will be DOWNGRADED (%(count)s):" msgid_plural "The following packages will be DOWNGRADED (%(count)s):" msgstr[0] "Paketa qĂ« vijon do tĂ« ULET NĂ‹ NIVEL (%(count)s):" msgstr[1] "Paketat qĂ« vijojnĂ« do tĂ« ULEN NĂ‹ NIVEL (%(count)s):" #. TRANSLATORS: %s is the number of packages #: ../aptdaemon/console.py:480 #, python-format msgid "The following package will be reinstalled (%(count)s):" msgid_plural "The following packages will be reinstalled (%(count)s):" msgstr[0] "Paketa qĂ« vijon do tĂ« riinstalohet (%(count)s):" msgstr[1] "Paketat qĂ« vijojnĂ« do tĂ« riinstalohen (%(count)s):" #: ../aptdaemon/console.py:487 #, python-format msgid "The following package has been kept back (%(count)s):" msgid_plural "The following packages have been kept back (%(count)s):" msgstr[0] "Paketa qĂ« vijon Ă«shtĂ« mbajtur (%(count)s):" msgstr[1] "Paketat qĂ« vijojnĂ« janĂ« mbajtur (%(count)s):" #: ../aptdaemon/console.py:495 #, python-format msgid "Need to get %sB of archives." msgstr "Kam nevojĂ« tĂ« marr %sB nga arkivat." #: ../aptdaemon/console.py:498 #, python-format msgid "After this operation, %sB of additional disk space will be used." msgstr "Pas kĂ«tij veprimi, %sB hapĂ«sirĂ« shtesĂ« nĂ« disk do tĂ« pĂ«rdoret." #: ../aptdaemon/console.py:502 #, python-format msgid "After this operation, %sB of additional disk space will be freed." msgstr "Pas kĂ«tij veprimi, %sB hapĂ«sirĂ« shtesĂ« nĂ« disk do tĂ« lirohet." #: ../aptdaemon/console.py:511 ../aptdaemon/console.py:513 msgid "Do you want to continue [Y/n]?" msgstr "DĂ«shironi tĂ« vazhdoni [P/j]?" #: ../aptdaemon/console.py:538 msgid "" "To operate on more than one package put the package names in quotation " "marks:\n" "aptdcon --install \"foo bar\"" msgstr "" "PĂ«r tĂ« vepruar me mĂ« tepĂ«r se njĂ« paketĂ« vendosini emrat e paketave me " "thonjĂ«za:\n" "aptdcon --install \"foo bar\"" #: ../aptdaemon/console.py:544 msgid "Refresh the cache" msgstr "Rifresko magazinĂ«n" #: ../aptdaemon/console.py:547 msgid "" "Try to resolve broken dependencies. Potentially dangerous operation since it " "could try to remove many packages." msgstr "" "PĂ«rpiquni tĂ« zgjidhni vartĂ«sitĂ« e dĂ«mtuara. Veprim potencialisht i " "rrezikshĂ«m, sepse do tĂ« pĂ«rpiqet tĂ« heqĂ« shumĂ« paketa." #: ../aptdaemon/console.py:552 msgid "Try to finish a previous incompleted installation" msgstr "PĂ«rpiqu tĂ« pĂ«rfundosh njĂ« instalim tĂ« mĂ«parshĂ«m tĂ« pa kompletuar" #: ../aptdaemon/console.py:556 ../aptdaemon/console.py:569 msgid "Install the given packages" msgstr "Instalo paketat e dhĂ«na" #: ../aptdaemon/console.py:559 msgid "Reinstall the given packages" msgstr "Riinstalo paketat e dhĂ«na" #: ../aptdaemon/console.py:562 msgid "Remove the given packages" msgstr "Hiqi paketat e dhĂ«na" #: ../aptdaemon/console.py:565 msgid "Remove the given packages including configuration files" msgstr "Hiqi paketat e dhĂ«na duke pĂ«rfshirĂ« edhe skedarĂ«t e konfigurimit" #: ../aptdaemon/console.py:572 msgid "Downgrade the given packages" msgstr "Uli njĂ« shkallĂ« paketat e dhĂ«na" #: ../aptdaemon/console.py:575 msgid "Deprecated: Please use --safe-upgrade" msgstr "I PapĂ«rdorshĂ«m: Ju lutemi tĂ« pĂ«rdorni --safe-upgrade" #: ../aptdaemon/console.py:579 msgid "Upgrade the system in a safe way" msgstr "PĂ«rditĂ«soje sistemin nĂ« njĂ« mĂ«nyrĂ« tĂ« sigurtĂ«" #: ../aptdaemon/console.py:582 msgid "Upgrade the system, possibly installing and removing packages" msgstr "PĂ«rditĂ«soni sistemin, mundĂ«sisht duke instaluar dhe hequr paketat" #: ../aptdaemon/console.py:586 msgid "Add the vendor to the trusted ones" msgstr "Shtojeni shitĂ«sin e burimet e besueshme" #: ../aptdaemon/console.py:589 msgid "Add the vendor keyid (also needs --keyserver)" msgstr "Shto keyid tĂ« shitĂ«sit (gjithashtu ka nevojĂ« pĂ«r --keyserver)" #: ../aptdaemon/console.py:593 msgid "Use the given keyserver for looking up keys" msgstr "PĂ«rdor serverin e dhĂ«nĂ« tĂ« çelĂ«save pĂ«r tĂ« parĂ« çelĂ«sat" #: ../aptdaemon/console.py:597 msgid "Add new repository from the given deb-line" msgstr "Shto njĂ« magazinĂ« tĂ« re nga deb-line e dhĂ«nĂ«" #: ../aptdaemon/console.py:601 msgid "" "Specify an alternative sources.list.d file to which repositories should be " "added." msgstr "" "Specifikoni njĂ« skedar alternativ sources.list.d tek i cili mund tĂ« shtohen " "magazinat." #: ../aptdaemon/console.py:605 msgid "List trusted vendor keys" msgstr "Listo çelĂ«sat e besueshĂ«m tĂ« shitĂ«sve" #: ../aptdaemon/console.py:608 msgid "Remove the trusted key of the given fingerprint" msgstr "Hiqeni çelĂ«sin e besuar tĂ« gjurmĂ«s sĂ« gishtĂ«rinjve tĂ« dhĂ«nĂ«" #: ../aptdaemon/console.py:615 msgid "" "Reconfigure installed packages. Optionally the minimum priority of questions " "can be specified" msgstr "" "Rikonfiguro tĂ« gjitha paketat e instaluara. NĂ« mĂ«nyrĂ« opsionale pĂ«rparĂ«sia " "minimale e pyetjeve mund tĂ« specifikohet" #: ../aptdaemon/console.py:620 msgid "The minimum debconf priority of question to be displayed" msgstr "Prioriteti minimal i pyetjes debconf mund tĂ« shfaqet" #: ../aptdaemon/console.py:624 msgid "Do not attach to the apt terminal" msgstr "Mos e bashkangjitni terminalin apt" #: ../aptdaemon/console.py:628 msgid "Allow packages from unauthenticated sources" msgstr "Lejo paketat nga bruime tĂ« paidentifikuara" #: ../aptdaemon/console.py:632 msgid "" "Show additional information about the packages. Currently only the version " "number" msgstr "" "Shfaq informacion shtesĂ« rreth paketave. PĂ«r momentin vetĂ«m numri i versionit" #: ../aptdaemon/console.py:640 ../aptdaemon/enums.py:619 msgid "Waiting for authentication" msgstr "Duke pritur pĂ«r identifikim" #: ../aptdaemon/core.py:2188 msgid "Do not shutdown the daemon because of inactivity" msgstr "Mos e mbyll daemon pĂ«r shkak tĂ« mungesĂ«s sĂ« veprimtarisĂ«" #: ../aptdaemon/core.py:2193 msgid "Do not load any plugins" msgstr "Mos ngarko asnjĂ« plugin" #: ../aptdaemon/core.py:2197 msgid "Show internal processing information" msgstr "Shfaq informacionin pĂ«r proçeset e brendshme" #: ../aptdaemon/core.py:2202 msgid "Quit and replace an already running daemon" msgstr "Dil dhe zĂ«vendĂ«soje njĂ« daemon qĂ« Ă«shtĂ« tashmĂ« nĂ« gjendje pune" #: ../aptdaemon/core.py:2207 msgid "Listen on the DBus session bus (Only required for testing" msgstr "DĂ«gjoni nĂ« bus tĂ« seksionit DBus (KĂ«rkohet vetĂ«m pĂ«r testim)" #: ../aptdaemon/core.py:2211 msgid "Perform operations in the given chroot" msgstr "Kryeni verpimin nĂ« chroot tĂ« dhĂ«nĂ«" #: ../aptdaemon/core.py:2216 msgid "Store profile stats in the specified file" msgstr "Ruaj gjendjet e profilit nĂ« skedarin e pĂ«rcaktuar" #: ../aptdaemon/core.py:2221 msgid "Do not make any changes to the system (Only of use to developers)" msgstr "" "Mos bĂ«ni asnjĂ« ndryshim nĂ« sistem (VetĂ«m pĂ«r tu pĂ«rdorur nga zhvilluesit)" #: ../aptdaemon/enums.py:366 msgid "Installed file" msgstr "Skedari i instaluar" #: ../aptdaemon/enums.py:367 msgid "Installed packages" msgstr "Paketat e instaluara" #: ../aptdaemon/enums.py:368 msgid "Added key from file" msgstr "ÇelĂ«s i shtuar nga skedari" #: ../aptdaemon/enums.py:369 msgid "Updated cache" msgstr "MagazinĂ« e pĂ«rditĂ«suar" #: ../aptdaemon/enums.py:370 msgid "Search done" msgstr "KĂ«rkimi u krye" #: ../aptdaemon/enums.py:371 msgid "Removed trusted key" msgstr "ÇelĂ«s i besueshĂ«m i hequr" #: ../aptdaemon/enums.py:372 msgid "Removed packages" msgstr "Paketa tĂ« hequra" #: ../aptdaemon/enums.py:373 msgid "Updated packages" msgstr "Paketa tĂ« pĂ«rditĂ«suara" #: ../aptdaemon/enums.py:374 msgid "Upgraded system" msgstr "Sistem i pĂ«rditĂ«suar" #: ../aptdaemon/enums.py:375 msgid "Applied changes" msgstr "Ndryshimet e kryera" #: ../aptdaemon/enums.py:376 msgid "Repaired incomplete installation" msgstr "U riparua instalimi i pa kompletuar" #: ../aptdaemon/enums.py:377 msgid "Repaired broken dependencies" msgstr "U riparuan vartĂ«sitĂ« e dĂ«mtuara" #: ../aptdaemon/enums.py:378 msgid "Added software source" msgstr "U shtua burimi i programit" #: ../aptdaemon/enums.py:379 msgid "Enabled component of the distribution" msgstr "Aktivizo pĂ«rbĂ«rĂ«sin e versionit" #: ../aptdaemon/enums.py:380 msgid "Removed downloaded package files" msgstr "Hiqi skedarĂ«t e shkarkuar tĂ« paketave" #: ../aptdaemon/enums.py:381 msgid "Reconfigured installed packages" msgstr "Paketat e instaluara tĂ« konfiguruara sĂ«risht" #: ../aptdaemon/enums.py:397 msgid "Successful" msgstr "Me Sukses" #: ../aptdaemon/enums.py:398 msgid "Canceled" msgstr "Anulluar" #: ../aptdaemon/enums.py:399 ../aptdaemon/enums.py:680 msgid "Failed" msgstr "DĂ«shtoi" #: ../aptdaemon/enums.py:414 msgid "Installing file" msgstr "Duke instaluar skedarin" #: ../aptdaemon/enums.py:415 msgid "Installing packages" msgstr "Duke instaluar paketat" #: ../aptdaemon/enums.py:416 msgid "Adding key from file" msgstr "Duke shtuar çelĂ«sin nga skedari" #: ../aptdaemon/enums.py:417 msgid "Updating cache" msgstr "Duke pĂ«rditĂ«suar magazinĂ«n" #: ../aptdaemon/enums.py:418 msgid "Removing trusted key" msgstr "Duke hequr çelĂ«sin e besuar" #: ../aptdaemon/enums.py:419 msgid "Removing packages" msgstr "Duke hequr paketat" #: ../aptdaemon/enums.py:420 msgid "Updating packages" msgstr "Duke pĂ«rditĂ«suar paketat" #: ../aptdaemon/enums.py:421 msgid "Upgrading system" msgstr "Duke pĂ«rditĂ«suar sistemin" #: ../aptdaemon/enums.py:422 ../aptdaemon/enums.py:615 msgid "Applying changes" msgstr "Duke aplikuar ndryshimet" #: ../aptdaemon/enums.py:423 msgid "Repairing incomplete installation" msgstr "Duke riparuar instalimin e pa kompletuar" #: ../aptdaemon/enums.py:424 msgid "Repairing installed software" msgstr "Duke riparuar programet e instaluara" #: ../aptdaemon/enums.py:425 msgid "Adding software source" msgstr "Duke shtuar burim programesh" #: ../aptdaemon/enums.py:426 msgid "Enabling component of the distribution" msgstr "Duke aktivizuar pĂ«rbĂ«rĂ«sin e versionit" #: ../aptdaemon/enums.py:427 msgid "Removing downloaded package files" msgstr "Duke hequr paketat e shkarkuara tĂ« skedarĂ«ve" #: ../aptdaemon/enums.py:428 msgid "Reconfiguring installed packages" msgstr "Duke rikonfiguruar paketat e instaluara" #: ../aptdaemon/enums.py:429 ../aptdaemon/enums.py:604 msgid "Searching" msgstr "Duke kĂ«rkuar" #: ../aptdaemon/enums.py:445 msgid "Installation of the package file failed" msgstr "Instalimi i skedarit tĂ« paketĂ«s dĂ«shtoi" #: ../aptdaemon/enums.py:446 msgid "Installation of software failed" msgstr "Instalimi i programit dĂ«shtoi" #: ../aptdaemon/enums.py:452 msgid "Adding the key to the list of trusted software vendors failed" msgstr "" "Shtimi i çelĂ«sit tek lista e shitĂ«sve tĂ« besueshĂ«m tĂ« programeve dĂ«shtoi" #: ../aptdaemon/enums.py:449 msgid "Refreshing the software list failed" msgstr "Rifreskimi i listĂ«s sĂ« programeve dĂ«shtoi" #: ../aptdaemon/enums.py:450 msgid "Removing the vendor from the list of trusted ones failed" msgstr "Heqja e shitĂ«sit nga lista e tĂ« besueshmeve dĂ«shtoi" #: ../aptdaemon/enums.py:452 msgid "Removing software failed" msgstr "Heqja e programit dĂ«shtoi" #: ../aptdaemon/enums.py:453 msgid "Updating software failed" msgstr "PĂ«rditĂ«simi i programit dĂ«shtoi" #: ../aptdaemon/enums.py:454 msgid "Upgrading the system failed" msgstr "PĂ«rditĂ«simi i sistemit dĂ«shtoi" #: ../aptdaemon/enums.py:455 msgid "Applying software changes failed" msgstr "DĂ«shtoi aplikimi i ndryshimit tĂ« programeve" #: ../aptdaemon/enums.py:456 msgid "Repairing incomplete installation failed" msgstr "Riparimi i instalimit tĂ« pakompletuar dĂ«shtoi" #: ../aptdaemon/enums.py:457 msgid "Repairing broken dependencies failed" msgstr "Riparimi i vartĂ«sive tĂ« dĂ«mtuara dĂ«shtoi" #: ../aptdaemon/enums.py:458 msgid "Adding software source failed" msgstr "Shtimi i burimit tĂ« skedarĂ«ve dĂ«shtoi" #: ../aptdaemon/enums.py:459 msgid "Enabling component of the distribution failed" msgstr "Aktivizimi i pĂ«rbĂ«rĂ«sit tĂ« distribucionit dĂ«shtoi" #: ../aptdaemon/enums.py:460 ../aptdaemon/enums.py:461 msgid "Removing downloaded package files failed" msgstr "Heqja e paketave tĂ« shkarkuara dĂ«shtoi" #: ../aptdaemon/enums.py:462 msgid "Search failed" msgstr "KĂ«rkimi dĂ«shtoi" #: ../aptdaemon/enums.py:463 msgid "Adding license key" msgstr "Duke shtuar çelĂ«sin e liçensĂ«s" #: ../aptdaemon/enums.py:479 ../aptdaemon/enums.py:480 msgid "Check your Internet connection." msgstr "Kontrollo lidhjen tĂ«nde me internetin." #: ../aptdaemon/enums.py:481 msgid "" "Check if you are using third party repositories. If so disable them, since " "they are a common source of problems.\n" "Furthermore run the following command in a Terminal: apt-get install -f" msgstr "" "Kontrollo nĂ«se je duke pĂ«rdorur magazina tĂ« palĂ«ve tĂ« treta. nĂ«se po, " "çaktivizoji ato, sepse ato janĂ« njĂ« burim i zakonshĂ«m i problemeve.\n" "Veç kĂ«saj nis komandĂ«n qĂ« vijon nĂ« njĂ« Terminal: apt-get install -f" #: ../aptdaemon/enums.py:486 msgid "The selected file may not be a GPG key file or it might be corrupt." msgstr "" "E dhĂ«na e zgjedhur sipas tĂ« gjitha gjasave nuk Ă«shtĂ« GPG-çelĂ«s ose Ă«shtĂ« e " "dĂ«mtuar." #: ../aptdaemon/enums.py:488 msgid "" "The selected key couldn't be removed. Check that you provided a valid " "fingerprint." msgstr "" "ÇelĂ«si i pĂ«rzgjedhur nuk mund tĂ« hiqej. Kontolloni nĂ«se keni dhĂ«nĂ« njĂ« " "gjurmĂ« gishtĂ«rinjsh tĂ« vlefshme." #: ../aptdaemon/enums.py:490 msgid "" "Check if you are currently running another software management tool, e.g. " "Synaptic or aptitude. Only one tool is allowed to make changes at a time." msgstr "" "Kontrolloni nĂ«se keni hapur njĂ« mjet tjetĂ«r pĂ«r menaxhimin e programeve, " "psh. Synaptic apo aptitude. VetĂ«m njĂ« mjet lejohet tĂ« bĂ«jĂ« ndryshime nĂ« njĂ« " "kohĂ« tĂ« caktuar." #: ../aptdaemon/enums.py:493 msgid "" "This is a serious problem. Try again later. If this problem appears again, " "please report an error to the developers." msgstr "" "Ky Ă«shtĂ« njĂ« problem serioz. Provo pĂ«rsĂ«ri mĂ« vonĂ«. NĂ«se problemi shfaqet " "pĂ«rsĂ«ri, ju lutemi t'i raportoni njĂ« gabim zhvilluesve." #: ../aptdaemon/enums.py:496 msgid "" "Check the spelling of the package name, and that the appropriate repository " "is enabled." msgstr "" "Kontrolloni shqiptimin e emrit tĂ« paketĂ«s dhe shikoni qĂ« magazina e duhur tĂ« " "aktivizohet." #: ../aptdaemon/enums.py:498 msgid "There isn't any need for an update." msgstr "Nuk ka nevojĂ« pĂ«r njĂ« pĂ«rditĂ«sim." #: ../aptdaemon/enums.py:499 msgid "There isn't any need for an installation" msgstr "Nuk ka nevojĂ« pĂ«r njĂ« instalim" #: ../aptdaemon/enums.py:501 msgid "There isn't any need for a removal." msgstr "Nuk ka nevojĂ« pĂ«r tĂ« hequr gjĂ«." #: ../aptdaemon/enums.py:502 msgid "" "You requested to remove a package which is an essential part of your system." msgstr "" "Ju kĂ«rkuat tĂ« hiqni njĂ« paketĂ« e cila Ă«shtĂ« pjesĂ« thelbĂ«sore e sistemit tuaj." #: ../aptdaemon/enums.py:505 msgid "" "The connection to the daemon was lost. Most likely the background daemon " "crashed." msgstr "" "Lidhja me daemon humbi. Ka shumĂ« mundĂ«si qĂ« daemon i sfondit tĂ« ketĂ« pasur " "njĂ« defekt." #: ../aptdaemon/enums.py:507 msgid "The installation or removal of a software package failed." msgstr "Instalimi apo heqja e njĂ« pakete programesh dĂ«shtoi." #: ../aptdaemon/enums.py:509 msgid "The requested feature is not supported." msgstr "Mjeti i kĂ«rkuar nuk suportohet." #: ../aptdaemon/enums.py:510 msgid "" "There seems to be a programming error in aptdaemon, the software that allows " "you to install/remove software and to perform other package management " "related tasks." msgstr "" "Duket se ka njĂ« gabim programimi nĂ« aptdaemon, programi qĂ« ju lejon tĂ« " "instaloni/hiqni programt dhe pĂ«r tĂ« performuar detyra tĂ« tjera tĂ« lidhura me " "menaxhimin e paketave." #: ../aptdaemon/enums.py:514 msgid "" "This error could be caused by required additional software packages which " "are missing or not installable. Furthermore there could be a conflict " "between software packages which are not allowed to be installed at the same " "time." msgstr "" "Ky gabim mund tĂ« jetĂ« shkaktuar nga paketat shtesĂ« tĂ« programeve tĂ« kĂ«rkuara " "qĂ« mungojnĂ« apo nuk janĂ« tĂ« instalueshme. PĂ«r mĂ« tepĂ«r mund tĂ« ketĂ« njĂ« " "konflikt midis paketave tĂ« programeve tĂ« cilat nuk lejohet tĂ« instalohen nĂ« " "tĂ« njĂ«jtĂ«n kohĂ«." #: ../aptdaemon/enums.py:520 msgid "This requires installing packages from unauthenticated sources." msgstr "Kjo kĂ«rkon instalimin e paketave nga burime tĂ« paidentifikuara." #: ../aptdaemon/enums.py:522 msgid "" "The installation could have failed because of an error in the corresponding " "software package or it was cancelled in an unfriendly way. You have to " "repair this before you can install or remove any further software." msgstr "" "Instalimi mund tĂ« ketĂ« dĂ«shtuar pĂ«r shkak tĂ« njĂ« gabimi nĂ« paketĂ«n " "korresponduese tĂ« programit ose Ă«shtĂ« anulluar nĂ« njĂ« mĂ«nyrĂ« jo miqĂ«sore. " "Juve ju duhet tĂ« riparoni kĂ«tĂ« para se tĂ« instaloni apo hiqni çdo program tĂ« " "mĂ«vonshëm." #: ../aptdaemon/enums.py:528 msgid "" "Please copy the file to your local computer and check the file permissions." msgstr "" "Ju lutemi ta kopjoni skedarin në kompjuterin tuaj lokal dhe të kontrolloni " "për lejet e skedarit." #: ../aptdaemon/enums.py:531 msgid "" "The installation of a package which violates the quality standards isn't " "allowed. This could cause serious problems on your computer. Please contact " "the person or organisation who provided this package file and include the " "details beneath." msgstr "" "Instalimi i një pakete e cila dhunon standartet e cilësisë nuk lejohet. Kjo " "mund të shkaktojë probleme serioze në kompjuterin tuaj. Ju lutemi të " "kontaktoni personin apo organizatën që bëri të disponueshme këtë paketë dhe " "të përfshini detajet më poshtë." #: ../aptdaemon/enums.py:537 msgid "" "The downloaded license key which is required to run this piece of software " "is not valid or could not be installed correctly.\n" "See the details for more information." msgstr "" "Çelësi i shkarkuar i liçensës që kërkohet për të nisur këtë program nuk " "është i vlefshëm ose nuk mund të instalohet siç duhet.\n" "Shikoni detajet për më tepër informacion." #: ../aptdaemon/enums.py:543 msgid "All available upgrades have already been installed." msgstr "Të gjitha përditësimet e disponueshme janë instaluar tashmë." #: ../aptdaemon/enums.py:545 msgid "" "The license key which allows you to use this piece of software could not be " "downloaded. Please check your network connection." msgstr "" "Çelësi i liçensës që ju mundëson ta nisni këtë program nuk mund të " "shkarkohet. Ju lutemi të kontrolloni lidhjen tuaj me rrjetin." #: ../aptdaemon/enums.py:554 msgid "You don't have got the required privileges to perform this action." msgstr "Ju nuk keni privilegjet e kërkuara për të kryer këtë veprim." #: ../aptdaemon/enums.py:556 msgid "" "You either provided a wrong password or cancelled the authorization.\n" "Furthermore there could also be a technical reason for this error if you " "haven't seen a password dialog: your desktop environment doesn't provide a " "PolicyKit session agent." msgstr "" "Juve ose keni dhënë një fjalëkalim të gabuar ose anulluat autorizimin.\n" "Për më tepër mund të ketë edhe një arsye teknike për këtë gabim nëse nuk " "keni parë një dialog për fjalëkalimin: ambienti juaj i desktopit nuk jep një " "agjent të seksionit për PolicyKit." #: ../aptdaemon/enums.py:563 msgid "Failed to download package files" msgstr "Dështuam në shkarkimin e skedarëve të paketave" #: ../aptdaemon/enums.py:564 msgid "Failed to download repository information" msgstr "Dështuam në shkarkimin e informacionit të magazinave" #: ../aptdaemon/enums.py:565 msgid "Package dependencies cannot be resolved" msgstr "Vartësitë e paketave nuk mund të zgjidhen" #: ../aptdaemon/enums.py:566 msgid "The package system is broken" msgstr "Sistemi i paketave është i dëmtuar" #: ../aptdaemon/enums.py:567 msgid "Key was not installed" msgstr "Çelësi nuk është instaluar" #: ../aptdaemon/enums.py:568 msgid "Key was not removed" msgstr "Çelësi nuk është hequr" #: ../aptdaemon/enums.py:569 msgid "Failed to lock the package manager" msgstr "Dështuam në bllokimin e menaxhuesit të paketave" #: ../aptdaemon/enums.py:570 msgid "Failed to load the package list" msgstr "Dështuam në ngarkimin e listës së paketave" #: ../aptdaemon/enums.py:571 msgid "Package does not exist" msgstr "Paketa nuk ekziston" #: ../aptdaemon/enums.py:572 msgid "Package is already up to date" msgstr "Paketa është e përditësuar tashmë" #: ../aptdaemon/enums.py:573 msgid "Package is already installed" msgstr "Paketa është e instaluar tashmë" #: ../aptdaemon/enums.py:574 msgid "Package isn't installed" msgstr "Paketa nuk është e instaluar" #: ../aptdaemon/enums.py:575 msgid "Failed to remove essential system package" msgstr "Dështuam në heqjen e një pakete thelbësore për sistemin" #: ../aptdaemon/enums.py:577 msgid "Task cannot be monitored or controlled" msgstr "Detyra nuk mund të monitorohet apo kontrollohet" #: ../aptdaemon/enums.py:578 msgid "Package operation failed" msgstr "Veprimi i paketave dështoi" #: ../aptdaemon/enums.py:579 msgid "Requires installation of untrusted packages" msgstr "Kërkon instalimin e paketave të pa kontrolluara" #: ../aptdaemon/enums.py:581 msgid "Previous installation hasn't been completed" msgstr "Instalimi i mëparshëm nuk është kompletuar" #: ../aptdaemon/enums.py:582 msgid "The package is of bad quality" msgstr "Paketa ka cilësi të keqe" #: ../aptdaemon/enums.py:583 msgid "Package file could not be opened" msgstr "Skedari i paketës nuk mund të hapet" #: ../aptdaemon/enums.py:584 msgid "Not supported feature" msgstr "Mjet i pa suportuar" #: ../aptdaemon/enums.py:585 msgid "Failed to download the license key" msgstr "Dështova në shkarkimin e çelësit të liçensës" #: ../aptdaemon/enums.py:586 msgid "Failed to install the license key" msgstr "Dështova në instalimin e çelësit të liçensës" #: ../aptdaemon/enums.py:587 msgid "The system is already up to date" msgstr "Sistemi është i përditësuar tashmë" #: ../aptdaemon/enums.py:601 msgid "You could not be authorized" msgstr "Nuk mudëm t'iu autorizonim" #: ../aptdaemon/enums.py:602 msgid "You are not allowed to perform this action" msgstr "Juve nuk iu lejohet ta kryeni këtë veprim" #: ../aptdaemon/enums.py:588 msgid "An unhandlable error occured" msgstr "Ndodhi një gabim i pakorrigjueshëm" #: ../aptdaemon/enums.py:603 msgid "Waiting for service to start" msgstr "Duke pritur që shërbimi të rinisë" #: ../aptdaemon/enums.py:605 msgid "Waiting" msgstr "Në pritje" #: ../aptdaemon/enums.py:606 msgid "Waiting for required medium" msgstr "Duke pritur për median e kërkuar" #: ../aptdaemon/enums.py:607 msgid "Waiting for other software managers to quit" msgstr "Duke pritur të dalin menaxhuesit e tjerë të programeve" #: ../aptdaemon/enums.py:608 msgid "Waiting for configuration file prompt" msgstr "Duke pritur për daljen e skedarit të konfigurimit" #: ../aptdaemon/enums.py:610 msgid "Running task" msgstr "Duke nisur detyrën" #: ../aptdaemon/enums.py:611 msgid "Downloading" msgstr "Duke shkarkuar" #: ../aptdaemon/enums.py:612 msgid "Querying software sources" msgstr "Duke grumbulluar burimet e programeve" #: ../aptdaemon/enums.py:613 msgid "Cleaning up" msgstr "Duke pastruar" #: ../aptdaemon/enums.py:616 msgid "Finished" msgstr "Përfunduar" #: ../aptdaemon/enums.py:617 msgid "Cancelling" msgstr "Duke anulluar" #: ../aptdaemon/enums.py:618 msgid "Loading software list" msgstr "Duke ngarkuar listën e programeve" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:635 #, python-format msgid "Installing %s" msgstr "Duke instaluar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:637 #, python-format msgid "Configuring %s" msgstr "Duke konfiguruar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:639 #, python-format msgid "Removing %s" msgstr "Duke fshirë %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:641 #, python-format msgid "Completely removing %s" msgstr "Duke hequr plotësisht %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:643 #, python-format msgid "Noting disappearance of %s" msgstr "Njoftoj zhdukjen e %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:645 #, python-format msgid "Running post-installation trigger %s" msgstr "Duke kryer veprimet e pas instalimit për %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:647 #, python-format msgid "Upgrading %s" msgstr "Duke Përditësuar %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:649 #, python-format msgid "Unpacking %s" msgstr "Duke hapur %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:651 #, python-format msgid "Preparing installation of %s" msgstr "Duke përgatitur instalimin e %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:653 #, python-format msgid "Preparing configuration of %s" msgstr "Duke përgatitur konfigurimin e %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:655 #, python-format msgid "Preparing removal of %s" msgstr "Duke përgatitur heqjen e %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:657 #, python-format msgid "Preparing complete removal of %s" msgstr "Duke përgatitur heqjen e plotë të %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:659 #, python-format msgid "Installed %s" msgstr "U instalua %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:661 #, python-format msgid "Completely removed %s" msgstr "U hoq plotësisht %s" #. TRANSLATORS: %s is the name of a package #: ../aptdaemon/enums.py:663 #, python-format msgid "Removed %s" msgstr "U hoq %s" #: ../aptdaemon/enums.py:675 #, python-format msgid "Processing %s" msgstr "Duke përpunuar %s" #: ../aptdaemon/enums.py:678 msgid "Done" msgstr "U Bë" #: ../aptdaemon/enums.py:679 msgid "Authentication failed" msgstr "Identifikimi dështoi" #: ../aptdaemon/enums.py:681 msgid "Fetching" msgstr "Duke mbledhur" #: ../aptdaemon/enums.py:682 msgid "Idle" msgstr "Në Pritje" #: ../aptdaemon/enums.py:683 msgid "Network isn't available" msgstr "Rrjeti nuk është i disponueshëm" #: ../aptdaemon/gtkwidgets.py:316 ../aptdaemon/gtk3widgets.py:318 msgid "Details" msgstr "Detajet" #: ../aptdaemon/gtkwidgets.py:458 ../aptdaemon/gtk3widgets.py:463 msgid "File" msgstr "Skedari" #. TRANSLATORS: header of the progress download column #: ../aptdaemon/gtkwidgets.py:463 ../aptdaemon/gtk3widgets.py:468 msgid "%" msgstr "%" #: ../aptdaemon/gtkwidgets.py:498 ../aptdaemon/gtk3widgets.py:503 #, python-format msgid "Downloaded %sB" msgstr "U Shkarkuan %sB" #: ../aptdaemon/gtkwidgets.py:500 ../aptdaemon/gtk3widgets.py:505 msgid "Downloaded" msgstr "Të shkarkuara" #. TRANSLATORS: %s represents the name of a CD or DVD #: ../aptdaemon/gtkwidgets.py:770 ../aptdaemon/gtk3widgets.py:818 #, python-format msgid "CD/DVD '%s' is required" msgstr "CD/DVD '%s' kërkohet" #. TRANSLATORS: %s is the name of the CD/DVD drive #: ../aptdaemon/gtkwidgets.py:772 ../aptdaemon/gtk3widgets.py:820 #, python-format msgid "" "Please insert the above CD/DVD into the drive '%s' to install software " "packages from it." msgstr "" "Ju lutemi të vendosni CD/DVD e mësipërm në draiv '%s' për të instaluar " "paketat e programeve prej tij." #: ../aptdaemon/gtkwidgets.py:776 ../aptdaemon/gtkwidgets.py:796 #: ../aptdaemon/gtk3widgets.py:824 ../aptdaemon/gtk3widgets.py:843 msgid "C_ontinue" msgstr "Vazhd_o" #: ../aptdaemon/gtkwidgets.py:845 ../aptdaemon/gtk3widgets.py:891 msgid "Install" msgstr "Instalo" #: ../aptdaemon/gtkwidgets.py:846 ../aptdaemon/gtk3widgets.py:892 msgid "Reinstall" msgstr "Riinstalo" #: ../aptdaemon/gtkwidgets.py:847 ../aptdaemon/gtk3widgets.py:893 msgid "Remove" msgstr "Hiqe" #: ../aptdaemon/gtkwidgets.py:848 ../aptdaemon/gtk3widgets.py:894 msgid "Purge" msgstr "Pastro" #: ../aptdaemon/gtkwidgets.py:849 ../aptdaemon/gtk3widgets.py:895 msgid "Upgrade" msgstr "Përditëso" #: ../aptdaemon/gtkwidgets.py:850 ../aptdaemon/gtk3widgets.py:896 msgid "Downgrade" msgstr "Çoje një shkallë më poshtë" #: ../aptdaemon/gtkwidgets.py:851 ../aptdaemon/gtk3widgets.py:897 msgid "Skip upgrade" msgstr "Anashkalo përditësimin" #. If there is only one type of changes (e.g. only installs) expand the #. tree #. FIXME: adapt the title and message accordingly #. FIXME: Should we have different modes? Only show dependencies, only #. initial packages or both? #: ../aptdaemon/gtkwidgets.py:862 ../aptdaemon/gtk3widgets.py:908 msgid "Please take a look at the list of changes below." msgstr "Ju lutemi ti hidhni një sy listës së ndryshimeve më poshtë." #: ../aptdaemon/gtkwidgets.py:869 ../aptdaemon/gtk3widgets.py:915 msgid "Additional software has to be installed" msgstr "Duhen instaluar programe shtesë" #: ../aptdaemon/gtkwidgets.py:871 ../aptdaemon/gtk3widgets.py:917 msgid "Additional software has to be re-installed" msgstr "Duhen riinstaluar programe shtesë" #: ../aptdaemon/gtkwidgets.py:873 ../aptdaemon/gtk3widgets.py:919 msgid "Additional software has to be removed" msgstr "Programe shtesë duhet të hiqen" #: ../aptdaemon/gtkwidgets.py:875 ../aptdaemon/gtk3widgets.py:921 msgid "Additional software has to be purged" msgstr "Programe shtesë duhen hequr" #: ../aptdaemon/gtkwidgets.py:877 ../aptdaemon/gtk3widgets.py:923 msgid "Additional software has to be upgraded" msgstr "Programe shtesë duhen përditësuar" #: ../aptdaemon/gtkwidgets.py:879 ../aptdaemon/gtk3widgets.py:925 msgid "Additional software has to be downgraded" msgstr "Programe shtesë do ulen një shkallë më poshtë" #: ../aptdaemon/gtkwidgets.py:881 ../aptdaemon/gtk3widgets.py:927 msgid "Updates will be skipped" msgstr "Përditësimet do të anashkalohen" #: ../aptdaemon/gtkwidgets.py:888 ../aptdaemon/gtk3widgets.py:934 msgid "Additional changes are required" msgstr "Ndryshime shtesë kërkohen" #: ../aptdaemon/gtkwidgets.py:893 ../aptdaemon/gtk3widgets.py:939 #, python-format msgid "%sB will be downloaded in total." msgstr "%sB do të shkarkohen në total." #: ../aptdaemon/gtkwidgets.py:897 ../aptdaemon/gtk3widgets.py:943 #, python-format msgid "%sB of disk space will be freed." msgstr "%sB hapësirë në disk do të lirohet." #: ../aptdaemon/gtkwidgets.py:901 ../aptdaemon/gtk3widgets.py:947 #, python-format msgid "%sB more disk space will be used." msgstr "%sB më tepër hapësirë në disk do të përdoret." #. TRANSLATORS: %s is a file path #: ../aptdaemon/gtkwidgets.py:972 ../aptdaemon/gtk3widgets.py:1020 #, python-format msgid "" "Replace your changes in '%s' with a later version of the configuration file?" msgstr "" "Ti zëvendësoj ndryshimet tuaja në '%s' me një version të mëvonshëm të " "skedarit të konfigurimit?" #: ../aptdaemon/gtkwidgets.py:974 ../aptdaemon/gtk3widgets.py:1022 msgid "" "If you don't know why the file is there already, it is usually safe to " "replace it." msgstr "" "Nëse nuk e didni pse skedari tashmë është aty, zakonisht është i sigurtë " "zëvendësimi i tij." #: ../aptdaemon/gtkwidgets.py:983 ../aptdaemon/gtk3widgets.py:1031 msgid "_Changes" msgstr "_Ndryshimet" #: ../aptdaemon/gtkwidgets.py:986 ../aptdaemon/gtk3widgets.py:1034 msgid "_Keep" msgstr "_Mbaje" #: ../aptdaemon/gtkwidgets.py:987 ../aptdaemon/gtk3widgets.py:1035 msgid "_Replace" msgstr "_Zëvendëso" #. TRANSLATORS: expander label in the error dialog #: ../aptdaemon/gtkwidgets.py:1082 ../aptdaemon/gtk3widgets.py:1132 msgid "_Details" msgstr "_Detaje" #. TRANSLATORS: %s is the name of a package manager #: ../aptdaemon/lock.py:179 #, python-format msgid "Waiting for %s to exit" msgstr "Duke pritur për %s që të mbyllet" #. TRANSLATORS: %s is a list of package names #: ../aptdaemon/progress.py:168 #, python-format msgid "Downloading %(files)s" msgid_plural "Downloading %(files)s" msgstr[0] "Duke shkarkuar %(files)s" msgstr[1] "Duke shkarkuar %(files)s" #. TRANSLATORS: the string is used as a fallback if we cannot #. get the URI of a local repository #: ../aptdaemon/progress.py:281 ../aptdaemon/progress.py:320 msgid "local repository" msgstr "depozita lokale" #. TRANSLATORS: %s is a list of repository names #: ../aptdaemon/progress.py:284 #, python-format msgid "Downloading from %s" msgid_plural "Downloading from %s" msgstr[0] "Duke shkarkuar nga %s" msgstr[1] "Duke shkarkuar nga %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:324 #, python-format msgid "Structure of %s" msgstr "Struktura e %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:327 #, python-format msgid "Description of %s" msgstr "Përshkrimi i %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:330 #, python-format msgid "Description signature of %s" msgstr "Firma përshkruese e %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:334 #, python-format msgid "Available packages from %s" msgstr "Paketat e disponueshme nga %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:337 #, python-format msgid "Available sources from %s" msgstr "Burimet e disponueshme nga %s" #. TRANSLATORS: repo is the name of a repository #: ../aptdaemon/progress.py:340 #, python-format msgid "Available translations from %s" msgstr "Përkthimet e disponueshme nga %s" #. TRANSLATORS: The first %s is the name of a language. The second #. one the name of the region/country. The third #. %s is the name of the repository #: ../aptdaemon/progress.py:356 #, python-format msgid "Translations for %s (%s) from %s" msgstr "Përkthimet për %s (%s) nga %s" #. TRANSLATORS: %s is the name of a language. The second one is #. the name of the repository #: ../aptdaemon/progress.py:361 #, python-format msgid "Translations for %s from %s" msgstr "Përkthimet për %s nga %s" #. TRANSLATORS: %s is the code of a language, e.g. ru_RU. #. The second one is the name of the repository #: ../aptdaemon/progress.py:366 #, python-format msgid "Translations (%s) from %s" msgstr "Përkthime (%s) nga %s" #: ../aptdaemon/worker.py:470 ../aptdaemon/worker.py:770 #: ../aptdaemon/worker.py:845 ../aptdaemon/worker.py:888 #, python-format msgid "Package %s isn't available" msgstr "Paketa %s nuk është e disponueshme" #: ../aptdaemon/worker.py:475 ../aptdaemon/worker.py:774 #: ../aptdaemon/worker.py:849 ../aptdaemon/worker.py:892 #, python-format msgid "Package %s isn't installed" msgstr "paketa %s nuk është instaluar" #: ../aptdaemon/worker.py:479 #, python-format msgid "The version %s of %s isn't installed" msgstr "Versioni %s i %s nuk është instaluar" #: ../aptdaemon/worker.py:493 #, python-format msgid "Package %s is already installed" msgstr "Paketa %s është instaluar tashmë" #: ../aptdaemon/worker.py:503 ../aptdaemon/worker.py:918 #, python-format msgid "The version %s of %s isn't available." msgstr "Versioni %s i %s nuk është i disponueshëm" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:661 #, python-format msgid "The keyserver URL is invalid: %s" msgstr "URL e serverit të çelësave është e pavlefshme: %s" #. TRANSLATORS: %s is the URL of GnuPG #. keyserver #: ../aptdaemon/worker.py:667 #, python-format msgid "Invalid protocol of the server: %s" msgstr "Protokoll i pavlefshëm i serverit: %s" #. TRANSLATORS: %s is the id of a GnuPG key #. e.g. E08ADE95 #: ../aptdaemon/worker.py:675 ../aptdaemon/worker.py:720 #, python-format msgid "Invalid key id: %s" msgstr "Identiteti i çelësit nuk është i saktë: %s" #: ../aptdaemon/worker.py:684 #, python-format msgid "" "Failed to download and install the key %s from %s:\n" "%s" msgstr "" "Dështova në shkarkimin e çelësit të instalimit %s nga %s:\n" "%s" #: ../aptdaemon/worker.py:701 #, python-format msgid "Key file %s couldn't be installed: %s" msgstr "Skedari i çelësit %s nuk mund të instalohej: %s" #: ../aptdaemon/worker.py:725 #, python-format msgid "Key with fingerprint %s couldn't be removed: %s" msgstr "Çelësi me gjurmën e gishtërinjve %s nuk mund të hiqej: %s" #: ../aptdaemon/worker.py:778 #, python-format msgid "Package %s cannot be removed." msgstr "Paketa %s nuk mund të hiqej." #: ../aptdaemon/worker.py:782 #, python-format msgid "The version %s of %s is not installed" msgstr "Versioni %s i %s nuk është instaluar" #: ../aptdaemon/worker.py:860 #, python-format msgid "The former version %s of %s is already installed" msgstr "Versioni i mëparshëm %s i %s është instaluar tashmë" #: ../aptdaemon/worker.py:865 ../aptdaemon/worker.py:911 #, python-format msgid "The version %s of %s is already installed" msgstr "Versioni %s i %s është instaluar tashmë" #: ../aptdaemon/worker.py:872 #, python-format msgid "The version %s of %s isn't available" msgstr "Versioni %s i %s nuk është i disponueshëm" #: ../aptdaemon/worker.py:876 #, python-format msgid "You need to specify a version to downgrade %s to" msgstr "" "Ju nevojitet të specifikoni një version për të ulur një shkallë më poshtë %s" #: ../aptdaemon/worker.py:904 #, python-format msgid "The later version %s of %s is already installed" msgstr "Versioni i fundit %s i %s është instaluar tashmë" #: ../aptdaemon/worker.py:935 #, python-format msgid "The package %s isn't available in the %s release." msgstr "Paketa %s nuk është e disponueshme në versionin %s." #: ../aptdaemon/worker.py:1120 #, python-format msgid "Package %s cannot be removed" msgstr "Paketa %s nuk mund të hiqet" #: ../aptdaemon/worker.py:1257 msgid "" "The package doesn't provide a valid Installed-Size control field. See Debian " "Policy 5.6.20." msgstr "" "Paketa nuk jep një fushë kontrolli të vlefshme për Përmasën e Instalimit. " "Shikoni çertifikatën e Debian 5.6.20." #: ../aptdaemon/worker.py:1397 msgid "The license key is empty" msgstr "Çelësi i liçensës është bosh" #: ../aptdaemon/worker.py:1411 msgid "The license key is not allowed to contain executable code." msgstr "Çelësi i liçensës nuk lejohet të mbajë kod të ekzekutueshëm." #: ../aptdaemon/worker.py:1420 #, python-format msgid "The license key path %s is invalid" msgstr "Shtegu i çelësit të liçensës %s është i pavlefshëm" #: ../aptdaemon/worker.py:1424 #, python-format msgid "The license key already exists: %s" msgstr "Çelësi i liçensës ekziston tashmë: %s" #: ../aptdaemon/worker.py:1429 #, python-format msgid "" "The location of the license key is unsecure since it contains symbolic " "links. The path %s maps to %s" msgstr "" "Vendndodhja e çelësit të liçensës është e pasigurtë përderisa përmban lidhje " "simbolike. Shtegu %s të drejton tek %s" #: ../aptdaemon/worker.py:1437 #, python-format msgid "The directory where to install the key to doesn't exist yet: %s" msgstr "Drejtoria ku instalon çelësin nuk ekziston tashmë: %s" #: ../aptdaemon/worker.py:1448 #, python-format msgid "Failed to write key file to: %s" msgstr "Dështova në shkrimin e skedarittë çelësit tek: %s" #: ../aptdaemon/worker.py:1483 msgid "The following packages have unmet dependencies:" msgstr "Paketat që vijojnë kanë vartësi të paplotësuara:" #: ../aptdaemon/worker.py:1537 msgid "but it is a virtual package" msgstr "Por është një paketë virtuale" #: ../aptdaemon/worker.py:1540 msgid "but it is not installed" msgstr "Por nuk është instaluar" #: ../aptdaemon/worker.py:1542 msgid "but it is not going to be installed" msgstr "Por nuk do të instalohet" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1546 #, python-format msgid "but %s is installed" msgstr "por %s është instaluar" #. TRANSLATORS: %s is a version number #: ../aptdaemon/worker.py:1550 #, python-format msgid "but %s is to be installed" msgstr "Por %s do të instalohet" #~ msgid "Adding the key to the list of trused software vendors failed" #~ msgstr "" #~ "Shtimi i çelësit në listën e shitësve të besueshëm të programeve dështoi" aptdaemon-1.1.1/applet.py0000644000175000017500000001131212117271433016076 0ustar renaterenate00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Demo applet which monitors the state of aptdaemon transactions""" # Copyright (C) 2008 Sebastian Heinlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. __author__ = "Sebastian Heinlein " import logging import gobject import gtk import pango import aptdaemon.client import aptdaemon.gtkwidgets logging.basicConfig(level=logging.DEBUG) log = logging.getLogger("AptStatusIcon") class AptStatusIcon(object): """Shows an icon in the notification bar which provides a menu to access the currently running and queued transactions. """ def __init__(self): """Initialize a new AptStatusIcon instance.""" self._client = aptdaemon.client.AptClient() self.loop = gobject.MainLoop() self.icon = gtk.status_icon_new_from_icon_name("update-notifier") self.icon.set_visible(False) self.icon.connect("popup-menu", self._on_popup_menu) self.icon.connect("activate", self._on_icon_activated) self._daemon = aptdaemon.client.get_aptdaemon() self._daemon.connect_to_signal("ActiveTransactionsChanged", self._on_transactions_changed) def run(self): """Run the status icon application.""" log.debug("Run") self.loop.run() def quit(self): """Quit the status icon application.""" log.debug("Quit") self.quit() def _on_transactions_changed(self, current, queued): """Callback if the active transactions of the daemon changed. Hide the icon if there isn't any active or queued transaction. """ if current or queued: self.icon.set_visible(True) else: self.icon.set_visible(False) def _on_popup_menu(self, status_icon, button, time): """Callback if the status icon popup menu is requested (usually a right click. Shows a popup menu containg the currently running and all queued transactions. """ log.debug("Popup menu") menu = gtk.Menu() current, queued = self._daemon.GetActiveTransactions() if current: log.debug("current: %s", current) menu.append(self._get_transaction_menu_item(current)) if queued: menu.append(gtk.SeparatorMenuItem()) for tid in queued: log.debug("queued: %s", tid) menu.append(self._get_transaction_menu_item(tid)) menu.popup(None, None, gtk.status_icon_position_menu, button, time, status_icon) menu.show_all() def _get_transaction_menu_item(self, tid): """Return a menu item for the given transaction id which monitors the transaction progress.""" trans = aptdaemon.client.get_transaction(tid) item = gtk.MenuItem() box = gtk.HBox(spacing=6) icon = aptdaemon.gtkwidgets.AptStatusIcon(trans, gtk.ICON_SIZE_MENU) box.pack_start(icon, expand=False) label = aptdaemon.gtkwidgets.AptRoleLabel(trans) label.set_ellipsize(pango.ELLIPSIZE_NONE) box.pack_start(label, expand=True, fill=True) item.add(box) item.connect("activate", self._on_menu_item_activated, trans) return item def _on_menu_item_activated(self, item, trans): """Callback if a menu item gets activated. Show a progress dialog for the transaction of the activated menu item.""" dialog = aptdaemon.gtkwidgets.AptProgressDialog(trans, terminal=False, debconf=False) dialog.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE) dialog.run(attach=True) dialog.hide() def _on_icon_activated(self, status_icon): """Callback if the status icon gets activated. This method will call the popup_menu callback to show the menu. """ log.debug("Activated") time = gtk.get_current_event_time() self._on_popup_menu(status_icon, 3, time) if __name__ == "__main__": asi = AptStatusIcon() asi.run() aptdaemon-1.1.1/setup.cfg0000644000175000017500000000041212202062656016057 0ustar renaterenate00000000000000[nosetests] verbose = 2 detailed-errors = 1 nologcapture = 1 [build] i18n = True icons = True [build_i18n] domain = aptdaemon xml_files = [("share/polkit-1/actions/", ("data/org.debian.apt.policy.in",))] [egg_info] tag_date = 0 tag_svn_revision = 0 tag_build = aptdaemon-1.1.1/gtk-demo.py0000755000175000017500000001422512117271433016331 0ustar renaterenate00000000000000#!/usr/bin/python # -*- coding: utf-8 -*- """ Provides a graphical demo application for aptdaemon """ # Copyright (C) 2008-2009 Sebastian Heinlein # # Licensed under the GNU General Public License Version 2 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. __author__ = "Sebastian Heinlein " from optparse import OptionParser import logging import gobject import gtk import aptdaemon.client from aptdaemon.enums import * from aptdaemon.gtkwidgets import AptErrorDialog, \ AptConfirmDialog, \ AptProgressDialog import aptdaemon.errors class AptDaemonDemo(object): """Provides a graphical test application.""" def _run_transaction(self, transaction): dia = AptProgressDialog(transaction, parent=self.win) dia.run(close_on_finished=True, show_error=True, reply_handler=lambda: True, error_handler=self._on_error) def _simulate_trans(self, trans): trans.simulate(reply_handler=lambda: self._confirm_deps(trans), error_handler=self._on_error) def _confirm_deps(self, trans): if [pkgs for pkgs in trans.dependencies if pkgs]: dia = AptConfirmDialog(trans, parent=self.win) res = dia.run() dia.hide() if res != gtk.RESPONSE_OK: return self._run_transaction(trans) def _on_error(self, error): try: raise error except aptdaemon.errors.NotAuthorizedError: # Silently ignore auth failures return except aptdaemon.errors.TransactionFailed as error: pass except Exception as error: error = aptdaemon.errors.TransactionFailed(ERROR_UNKNOWN, str(error)) dia = AptErrorDialog(error) dia.run() dia.hide() def _on_upgrade_clicked(self, *args): self.ac.upgrade_system(safe_mode=False, reply_handler=self._simulate_trans, error_handler=self._on_error) def _on_update_clicked(self, *args): self.ac.update_cache(reply_handler=self._run_transaction, error_handler=self._on_error) def _on_install_clicked(self, *args): self.ac.install_packages([self.package], reply_handler=self._simulate_trans, error_handler=self._on_error) def _on_install_file_clicked(self, *args): chooser = gtk.FileChooserDialog(parent=self.win, action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK)) chooser.set_local_only(True) chooser.run() chooser.hide() path = chooser.get_filename() self.ac.install_file(path, reply_handler=self._simulate_trans, error_handler=self._on_error) def _on_remove_clicked(self, *args): self.ac.remove_packages([self.package], reply_handler=self._simulate_trans, error_handler=self._on_error) def __init__(self, package): self.win = gtk.Window() self.package = package self.win.set_resizable(False) self.win.set_title("Aptdaemon Demo") icon_theme = gtk.icon_theme_get_default() try: gtk.window_set_default_icon(icon_theme.load_icon("aptdaemon-setup", 32, 0)) except (gobject.GError, AttributeError): pass button_update = gtk.Button(label="_Update") button_install = gtk.Button(label="_Install %s" % self.package) button_install_file = gtk.Button(label="Install _file...") button_remove = gtk.Button(label="_Remove %s" % self.package) button_upgrade = gtk.Button(label="Upgrade _System") button_update.connect("clicked", self._on_update_clicked) button_install.connect("clicked", self._on_install_clicked) button_install_file.connect("clicked", self._on_install_file_clicked) button_remove.connect("clicked", self._on_remove_clicked) button_upgrade.connect("clicked", self._on_upgrade_clicked) vbox = gtk.VBox() vbox.add(button_update) vbox.add(button_install) vbox.add(button_install_file) vbox.add(button_remove) vbox.add(button_upgrade) self.win.add(vbox) self.loop = gobject.MainLoop() self.win.connect("delete-event", lambda w, e: self.loop.quit()) self.win.show_all() self.ac = aptdaemon.client.AptClient() def run(self): self.loop.run() def main(): parser = OptionParser() parser.add_option("-p", "--package", default="cw", action="store", dest="package", help="Use this package for installation and removal") parser.add_option("-d", "--debug", default=False, action="store_true", help="Verbose debugging") options, args = parser.parse_args() if options.debug: logging.basicConfig(level=logging.DEBUG) demo = AptDaemonDemo(options.package) demo.run() if __name__ == "__main__": main() # vim:ts=4:sw=4:et