diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..e0ea542 --- /dev/null +++ b/.flake8 @@ -0,0 +1,3 @@ +[flake8] +max-line-length = 88 +extend-ignore = E203 \ No newline at end of file diff --git a/.gitignore b/.gitignore index b91848b..d764bf6 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,8 @@ __pycache__/ *~ /docs/_* /build/ +.idea/ + +src/#yumex.ui# +tools/test.py +.vscode/ diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 53f0707..0000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index dd4c951..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index d56657a..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index bf952be..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/yumex-dnf.iml b/.idea/yumex-dnf.iml deleted file mode 100644 index d4bcf08..0000000 --- a/.idea/yumex-dnf.iml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..b906ec2 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,22 @@ +default_stages: [commit, push] +default_language_version: + python: python3.10 +repos: + - repo: https://github.com/psf/black + rev: 21.11b1 + hooks: + - id: black + args: [ + --line-length=88, + ] + exclude: ^(tools/|docs/) + types: ['python'] + - repo: https://github.com/PyCQA/flake8 + rev: 4.0.1 + hooks: + - id: flake8 + args: [ + --max-line-length=88, + ] + exclude: ^(tools/|docs/) + types: ['python'] \ No newline at end of file diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000..274e211 --- /dev/null +++ b/.pylintrc @@ -0,0 +1,566 @@ +[MASTER] + +# A comma-separated list of package or module names from where C extensions may +# be loaded. Extensions are loading into the active Python interpreter and may +# run arbitrary code. +extension-pkg-allow-list= + +# A comma-separated list of package or module names from where C extensions may +# be loaded. Extensions are loading into the active Python interpreter and may +# run arbitrary code. (This is an alternative name to extension-pkg-allow-list +# for backward compatibility.) +extension-pkg-whitelist= + +# Return non-zero exit code if any of these messages/categories are detected, +# even if score is above --fail-under value. Syntax same as enable. Messages +# specified are enabled, while categories only check already-enabled messages. +fail-on= + +# Specify a score threshold to be exceeded before program exits with error. +fail-under=10.0 + +# Files or directories to be skipped. They should be base names, not paths. +ignore=CVS, .git, build, .build + +# Add files or directories matching the regex patterns to the ignore-list. The +# regex matches against paths. +ignore-paths= + +# Files or directories matching the regex patterns are skipped. The regex +# matches against base names, not paths. +ignore-patterns= + +# Python code to execute, usually for sys.path manipulation such as +# pygtk.require(). +#init-hook= + +# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the +# number of processors available to use. +jobs=1 + +# Control the amount of potential inferred values when inferring a single +# object. This can help the performance when dealing with large functions or +# complex, nested conditions. +limit-inference-results=100 + +# List of plugins (as comma separated values of python module names) to load, +# usually to register additional checkers. +load-plugins= + +# Pickle collected data for later comparisons. +persistent=yes + +# Min Python version to use for version dependend checks. Will default to the +# version used to run pylint. +py-version=3.10 + +# When enabled, pylint would attempt to guess common misconfiguration and emit +# user-friendly hints instead of false-positive error messages. +suggestion-mode=yes + +# Allow loading of arbitrary C extensions. Extensions are imported into the +# active Python interpreter and may run arbitrary code. +unsafe-load-any-extension=no + + +[MESSAGES CONTROL] + +# Only show warnings with the listed confidence levels. Leave empty to show +# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED. +confidence= + +# Disable the message, report, category or checker with the given id(s). You +# can either give multiple identifiers separated by comma (,) or put this +# option multiple times (only on the command line, not in the configuration +# file where it should appear only once). You can also use "--disable=all" to +# disable everything first and then reenable specific checks. For example, if +# you want to run only the similarities checker, you can use "--disable=all +# --enable=similarities". If you want to run only the classes checker, but have +# no Warning level messages displayed, use "--disable=all --enable=classes +# --disable=W". +disable=wrong-import-position, + wrong-import-order, + missing-function-docstring, + missing-module-docstring, + missing-class-docstring, + logging-fstring-interpolation, + fixme, + no-member, + unused-argument + +# Enable the message, report, category or checker with the given id(s). You can +# either give multiple identifier separated by comma (,) or put this option +# multiple time (only on the command line, not in the configuration file where +# it should appear only once). See also the "--disable" option for examples. +enable=c-extension-no-member + + +[REPORTS] + +# Python expression which should return a score less than or equal to 10. You +# have access to the variables 'error', 'warning', 'refactor', and 'convention' +# which contain the number of messages in each category, as well as 'statement' +# which is the total number of statements analyzed. This score is used by the +# global evaluation report (RP0004). +evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) + +# Template used to display messages. This is a python new-style format string +# used to format the message information. See doc for all details. +#msg-template= + +# Set the output format. Available formats are text, parseable, colorized, json +# and msvs (visual studio). You can also give a reporter class, e.g. +# mypackage.mymodule.MyReporterClass. +output-format=text + +# Tells whether to display a full report or only the messages. +reports=no + +# Activate the evaluation score. +score=yes + + +[REFACTORING] + +# Maximum number of nested blocks for function / method body +max-nested-blocks=5 + +# Complete name of functions that never returns. When checking for +# inconsistent-return-statements if a never returning function is called then +# it will be considered as an explicit return statement and no message will be +# printed. +never-returning-functions=sys.exit,argparse.parse_error + + +[BASIC] + +# Naming style matching correct argument names. +argument-naming-style=snake_case + +# Regular expression matching correct argument names. Overrides argument- +# naming-style. +#argument-rgx= + +# Naming style matching correct attribute names. +attr-naming-style=snake_case + +# Regular expression matching correct attribute names. Overrides attr-naming- +# style. +#attr-rgx= + +# Bad variable names which should always be refused, separated by a comma. +bad-names=foo, + bar, + baz, + toto, + tutu, + tata + +# Bad variable names regexes, separated by a comma. If names match any regex, +# they will always be refused +bad-names-rgxs= + +# Naming style matching correct class attribute names. +class-attribute-naming-style=any + +# Regular expression matching correct class attribute names. Overrides class- +# attribute-naming-style. +#class-attribute-rgx= + +# Naming style matching correct class constant names. +class-const-naming-style=UPPER_CASE + +# Regular expression matching correct class constant names. Overrides class- +# const-naming-style. +#class-const-rgx= + +# Naming style matching correct class names. +class-naming-style=PascalCase + +# Regular expression matching correct class names. Overrides class-naming- +# style. +#class-rgx= + +# Naming style matching correct constant names. +const-naming-style=UPPER_CASE + +# Regular expression matching correct constant names. Overrides const-naming- +# style. +#const-rgx= + +# Minimum line length for functions/classes that require docstrings, shorter +# ones are exempt. +docstring-min-length=-1 + +# Naming style matching correct function names. +function-naming-style=snake_case + +# Regular expression matching correct function names. Overrides function- +# naming-style. +#function-rgx= + +# Good variable names which should always be accepted, separated by a comma. +good-names=i,j,k,x,y, + _, + po,n,e,r,v,a, + rc, + ui,SI,bz,id,ok + +# Good variable names regexes, separated by a comma. If names match any regex, +# they will always be accepted +good-names-rgxs= + +# Include a hint for the correct naming format with invalid-name. +include-naming-hint=no + +# Naming style matching correct inline iteration names. +inlinevar-naming-style=any + +# Regular expression matching correct inline iteration names. Overrides +# inlinevar-naming-style. +#inlinevar-rgx= + +# Naming style matching correct method names. +method-naming-style=snake_case + +# Regular expression matching correct method names. Overrides method-naming- +# style. +#method-rgx= + +# Naming style matching correct module names. +module-naming-style=snake_case + +# Regular expression matching correct module names. Overrides module-naming- +# style. +#module-rgx= + +# Colon-delimited sets of names that determine each other's naming style when +# the name regexes allow several styles. +name-group= + +# Regular expression which should only match function or class names that do +# not require a docstring. +no-docstring-rgx=^_ + +# List of decorators that produce properties, such as abc.abstractproperty. Add +# to this list to register other decorators that produce valid properties. +# These decorators are taken in consideration only for invalid-name. +property-classes=abc.abstractproperty + +# Naming style matching correct variable names. +variable-naming-style=snake_case + +# Regular expression matching correct variable names. Overrides variable- +# naming-style. +#variable-rgx= + + +[FORMAT] + +# Expected format of line ending, e.g. empty (any line ending), LF or CRLF. +expected-line-ending-format= + +# Regexp for a line that is allowed to be longer than the limit. +ignore-long-lines=^\s*(# )??$ + +# Number of spaces of indent required inside a hanging or continued line. +indent-after-paren=4 + +# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 +# tab). +indent-string=' ' + +# Maximum number of characters on a single line. +max-line-length=100 + +# Maximum number of lines in a module. +max-module-lines=1000 + +# Allow the body of a class to be on the same line as the declaration if body +# contains single statement. +single-line-class-stmt=no + +# Allow the body of an if to be on the same line as the test if there is no +# else. +single-line-if-stmt=no + + +[LOGGING] + +# The type of string formatting that logging methods do. `old` means using % +# formatting, `new` is for `{}` formatting. +logging-format-style=new + +# Logging modules to check that the string format arguments are in logging +# function parameter format. +logging-modules=logging + + +[MISCELLANEOUS] + +# List of note tags to take in consideration, separated by a comma. +notes=FIXME, + XXX, + TODO + +# Regular expression of note tags to take in consideration. +#notes-rgx= + + +[SIMILARITIES] + +# Comments are removed from the similarity computation +ignore-comments=yes + +# Docstrings are removed from the similarity computation +ignore-docstrings=yes + +# Imports are removed from the similarity computation +ignore-imports=no + +# Signatures are removed from the similarity computation +ignore-signatures=no + +# Minimum lines number of a similarity. +min-similarity-lines=4 + + +[SPELLING] + +# Limits count of emitted suggestions for spelling mistakes. +max-spelling-suggestions=4 + +# Spelling dictionary name. Available dictionaries: da_DK (hunspell), en_AG +# (hunspell), en_AU (hunspell), en_BS (hunspell), en_BW (hunspell), en_BZ +# (hunspell), en_CA (hunspell), en_DK (hunspell), en_GB (hunspell), en_GH +# (hunspell), en_HK (hunspell), en_IE (hunspell), en_IN (hunspell), en_JM +# (hunspell), en_MW (hunspell), en_NA (hunspell), en_NG (hunspell), en_NZ +# (hunspell), en_PH (hunspell), en_SG (hunspell), en_TT (hunspell), en_US +# (hunspell), en_ZA (hunspell), en_ZM (hunspell), en_ZW (hunspell). +spelling-dict= + +# List of comma separated words that should be considered directives if they +# appear and the beginning of a comment and should not be checked. +spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy: + +# List of comma separated words that should not be checked. +spelling-ignore-words= + +# A path to a file that contains the private dictionary; one word per line. +spelling-private-dict-file= + +# Tells whether to store unknown words to the private dictionary (see the +# --spelling-private-dict-file option) instead of raising a message. +spelling-store-unknown-words=no + + +[STRING] + +# This flag controls whether inconsistent-quotes generates a warning when the +# character used as a quote delimiter is used inconsistently within a module. +check-quote-consistency=no + +# This flag controls whether the implicit-str-concat should generate a warning +# on implicit string concatenation in sequences defined over several lines. +check-str-concat-over-line-jumps=no + + +[TYPECHECK] + +# List of decorators that produce context managers, such as +# contextlib.contextmanager. Add to this list to register other decorators that +# produce valid context managers. +contextmanager-decorators=contextlib.contextmanager + +# List of members which are set dynamically and missed by pylint inference +# system, and so shouldn't trigger E1101 when accessed. Python regular +# expressions are accepted. +generated-members= + +# Tells whether missing members accessed in mixin class should be ignored. A +# mixin class is detected if its name ends with "mixin" (case insensitive). +ignore-mixin-members=yes + +# Tells whether to warn about missing members when the owner of the attribute +# is inferred to be None. +ignore-none=yes + +# This flag controls whether pylint should warn about no-member and similar +# checks whenever an opaque object is returned when inferring. The inference +# can return multiple potential results while evaluating a Python object, but +# some branches might not be evaluated, which results in partial inference. In +# that case, it might be useful to still emit no-member and other checks for +# the rest of the inferred objects. +ignore-on-opaque-inference=yes + +# List of class names for which member attributes should not be checked (useful +# for classes with dynamically set attributes). This supports the use of +# qualified names. +ignored-classes=optparse.Values,thread._local,_thread._local + +# List of module names for which member attributes should not be checked +# (useful for modules/projects where namespaces are manipulated during runtime +# and thus existing member attributes cannot be deduced by static analysis). It +# supports qualified module names, as well as Unix pattern matching. +ignored-modules= + +# Show a hint with possible names when a member name was not found. The aspect +# of finding the hint is based on edit distance. +missing-member-hint=yes + +# The minimum edit distance a name should have in order to be considered a +# similar match for a missing member name. +missing-member-hint-distance=1 + +# The total number of similar names that should be taken in consideration when +# showing a hint for a missing member. +missing-member-max-choices=1 + +# List of decorators that change the signature of a decorated function. +signature-mutators= + + +[VARIABLES] + +# List of additional names supposed to be defined in builtins. Remember that +# you should avoid defining new builtins when possible. +additional-builtins= + +# Tells whether unused global variables should be treated as a violation. +allow-global-unused-variables=yes + +# List of names allowed to shadow builtins +allowed-redefined-builtins= + +# List of strings which can identify a callback function by name. A callback +# name must start or end with one of those strings. +callbacks=cb_, + _cb + +# A regular expression matching the name of dummy variables (i.e. expected to +# not be used). +dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ + +# Argument names that match this expression will be ignored. Default to name +# with leading underscore. +#ignored-argument-names=_.*|^ignored_|^unused_ +ignored-argument-names=^ignored_|^unused_ + +# Tells whether we should check for unused import in __init__ files. +init-import=no + +# List of qualified module names which can have objects that can redefine +# builtins. +redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io + + +[CLASSES] + +# Warn about protected attribute access inside special methods +check-protected-access-in-special-methods=no + +# List of method names used to declare (i.e. assign) instance attributes. +defining-attr-methods=__init__, + __new__, + setUp, + __post_init__ + +# List of member names, which should be excluded from the protected access +# warning. +exclude-protected=_asdict, + _fields, + _replace, + _source, + _make + +# List of valid names for the first argument in a class method. +valid-classmethod-first-arg=cls + +# List of valid names for the first argument in a metaclass class method. +valid-metaclass-classmethod-first-arg=cls + + +[DESIGN] + +# List of qualified class names to ignore when counting class parents (see +# R0901) +ignored-parents= + +# Maximum number of arguments for function / method. +max-args=5 + +# Maximum number of attributes for a class (see R0902). +max-attributes=7 + +# Maximum number of boolean expressions in an if statement (see R0916). +max-bool-expr=5 + +# Maximum number of branch for function / method body. +max-branches=12 + +# Maximum number of locals for function / method body. +max-locals=15 + +# Maximum number of parents for a class (see R0901). +max-parents=7 + +# Maximum number of public methods for a class (see R0904). +max-public-methods=20 + +# Maximum number of return / yield for function / method body. +max-returns=6 + +# Maximum number of statements in function / method body. +max-statements=50 + +# Minimum number of public methods for a class (see R0903). +min-public-methods=2 + + +[IMPORTS] + +# List of modules that can be imported at any level, not just the top level +# one. +allow-any-import-level= + +# Allow wildcard imports from modules that define __all__. +allow-wildcard-with-all=no + +# Analyse import fallback blocks. This can be used to support both Python 2 and +# 3 compatible code, which means that the block might have code that exists +# only in one or another interpreter, leading to false positives when analysed. +analyse-fallback-blocks=no + +# Deprecated modules which should not be used, separated by a comma. +deprecated-modules= + +# Output a graph (.gv or any supported image format) of external dependencies +# to the given file (report RP0402 must not be disabled). +ext-import-graph= + +# Output a graph (.gv or any supported image format) of all (i.e. internal and +# external) dependencies to the given file (report RP0402 must not be +# disabled). +import-graph= + +# Output a graph (.gv or any supported image format) of internal dependencies +# to the given file (report RP0402 must not be disabled). +int-import-graph= + +# Force import order to recognize a module as part of the standard +# compatibility libraries. +known-standard-library= + +# Force import order to recognize a module as part of a third party library. +known-third-party=enchant + +# Couples of modules and preferred modules, separated by a comma. +preferred-modules= + + +[EXCEPTIONS] + +# Exceptions that will emit a warning when being caught. Defaults to +# "BaseException, Exception". +overgeneral-exceptions=BaseException, + Exception diff --git a/.vscode/settings.json b/.vscode/settings.json index 4af34d5..db76af5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,6 @@ { - "python.analysis.diagnosticSeverityOverrides": { - "reportGeneralTypeIssues": "none" - }, - "python.linting.enabled": true + "python.formatting.provider": "black", + "python.linting.pylintEnabled": false, + "python.linting.enabled": true, + "python.linting.flake8Enabled": true, } \ No newline at end of file diff --git a/ChangeLog b/ChangeLog index 1207d92..6b6986d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,146 @@ +2022-09-17 Tim Lauridsen + + * bumped version to 4.5.0 + * updated translations + +2021-12-08 Tim Lauridsen + + * fix pref. range widgets not working + * Updated translations from transifex + +2021-11-28 Tim Lauridsen + + * add vscode settings + +2021-11-25 Tim Lauridsen + + * Updated doc with recent screenshots and remove some legacy stuff + * move load_ui into yumex.gui to fix mess with circular imports + * lint: cleanup flake8 issues + * format code using black + +2021-11-19 Tim Lauridsen + + * lint: fix issues + * lint: cleanup issues + * lint: undo var -> _var for unused arguments + +2021-11-18 Tim Lauridsen + + * lint: fix more issues + * lint: fix more issues + * lint: fix issues + * lint: fix issues + * lint: fix issues + * lint: fix issues + * lint: cleanup issues + * lint: fix issues + * lint: cleanup ccde + * Cleanup Makefiles not need any more + * Updated translations from transifex + * Updated translations from transifex + * Updated translations from transifex + +2021-11-17 Tim Lauridsen + + * build; convert build to use meson + * handle appdata in the rigt way for Fedora + * Install appdata in metadata dir + https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/ + * Add screenshoots to use in appdata + * format code with yapf + +2021-10-19 Tim Lauridsen + + * update po building to match latest refactoring + +2021-10-15 Tim Lauridsen + + * refactor: move widgets to sep. files + * refactor: remove unused imports + * build: autodetect modules + * refactor: misc, const & config into common submodule + * refactor: make updater a module + * refactor: split window & backend classes into sep. files + * refactor: make yumex.backend submodule. dnf_backend into backend.dnf + * refactor: GroupView into separate file + * refactor: HistoryView & HistoryPackageView in separate files + * refactor: put HistoryView into sep. file + * refactor: move QueueView & PackageQueue into separate files + * refactor: split RepoView & PackageView into sep. files + * refactor: SelectionView into separate file + * refactor: move dialogs into yumex.gui.dialogs submodule + * refactor: add missing imports + * refactor: put transactionresult into separate files + * refactor: move ProgressSplash into separate files + * refactor; move AboutDialog to separate file + * refactor; move Errordialog code & ui into separate files + * refactor: move prefernces ui to separate .ui file + * refector: move ui files into data/ui + * Refector: extract Preferences into separate file. + +2021-09-30 Tim Lauridsen + + * add new .po files + +2021-09-27 Tim Lauridsen + + * Transfix pull, *.po update + +2021-07-21 Tim Lauridsen + + * tweak search & infobar text colors + * make the progress overlay, shadow out the background + * Use Sass to build themes + * Add option to disable splash screen + * change info box shadow + +2021-07-20 Tim Lauridsen + + * theme tweaks + * Theme & UI adjustments + * Theme & UI adjustments + * Make infobar an overlay adjust default theme to new style classes make the + ui look better + +2021-07-03 Tim Lauridsen + + * remove debug print statements + * Use Gtk Stock buttons + +2021-07-02 Tim Lauridsen + + * Make splash screen lock to main window Show files being downloaded in + progress + * Add progress splash screen for long running tasks (#163) + * Added option to show searchbar by default in preferences (#113) + +2021-07-01 Tim Lauridsen + + * Make shortcut windows active fixed issues with shortcuts.ui + +2021-06-30 Tim Lauridsen + + * reworked keypress handler add basics for GtkShortcutsWindows (broken in + Gtk3 in python / filed upstream bug) + * Enable group install Show depsolve errors in group install/remove (#105) + +2021-06-29 Tim Lauridsen + + * reorder columns and change labels (#149) + * make sure gi imports is not messed up + * Update progressbar stylling + +2021-06-28 Tim Lauridsen + + * cleanup imports fix docstring + * remove pycharm conf from tree + * remove .vscode settings from tree + +2021-06-24 Tim Lauridsen + + * code formatting + 2021-06-04 Tim Lauridsen * bumped version to 4.4.0 diff --git a/Makefile b/Makefile index 7352ecf..fd093ac 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ APPNAME = yumex-dnf DATADIR = /usr/share PYTHON = python3 -SUBDIRS = gfx misc po +SUBDIRS = misc po VERSION=$(shell awk '/Version:/ { print $$2 }' ${APPNAME}.spec) GITDATE=git$(shell date +%Y%m%d) VER_REGEX=\(^Version:\s*[0-9]*\.[0-9]*\.\)\(.*\) @@ -13,35 +13,24 @@ GIT_MASTER=develop CURDIR = ${shell pwd} BUILDDIR= $(CURDIR)/build -all: build +all: + @echo "Nothing to do, use a specific target" -$(SUBDIRS): - $(MAKE) -C $@ - -INSTALL_TARGETS = $(SUBDIRS:%=install-%) -$(INSTALL_TARGETS): - $(MAKE) -C $(@:install-%=%) install DESTDIR=$(DESTDIR) DATADIR=$(DATADIR) - -CLEAN_TARGETS = $(SUBDIRS:%=clean-%) -$(CLEAN_TARGETS): - $(MAKE) -C $(@:clean-%=%) clean - -build: $(SUBDIRS) - $(PYTHON) setup.py build - -install: all $(INSTALL_TARGETS) - $(PYTHON) setup.py install --skip-build --root $(DESTDIR) --install-data=$(DATADIR)/$(APPNAME) - -clean: $(CLEAN_TARGETS) - $(PYTHON) setup.py clean +clean: -rm -f *.tar.gz -rm -rf build - -rm -rf dist - + -rm -rf .build -get-builddeps: - @sudo dnf install python3-devel python3-gobject gettext intltool transifex-client +sass: + pysassc -t expanded misc/scss/Dracula.scss misc/themes/Dracula.theme + pysassc -t expanded misc/scss/One-Dark.scss misc/themes/One-Dark.theme + pysassc -t expanded misc/scss/System-Dark.scss misc/themes/System-Dark.theme + pysassc -t expanded misc/scss/System-Light.scss misc/themes/System-Light.theme + +get-builddeps: + @sudo dnf build-dep yumex-dnf.spec + archive: @rm -rf ${APPNAME}-${VERSION}.tar.gz @git archive --format=tar --prefix=$(APPNAME)-$(VERSION)/ HEAD | gzip -9v >${APPNAME}-$(VERSION).tar.gz @@ -68,6 +57,7 @@ release-publish: @git merge --no-ff release-${VERSION} -m "merge ${APPNAME}-${VERSION} release" @git tag -f -m "Added ${APPNAME}-${VERSION} release tag" ${APPNAME}-${VERSION} @git push --tags origin + @git push origin @$(MAKE) archive @$(MAKE) rpm @@ -110,10 +100,10 @@ rpm: test-builds: @$(MAKE) test-release - @ssh timlau.fedorapeople.org rm public_html/files/yumex/* - @scp ${APPNAME}-${NEW_VER}.tar.gz timlau.fedorapeople.org:public_html/files/yumex/${APPNAME}-${NEW_VER}-${GITDATE}.tar.gz - @scp $(BUILDDIR)/RPMS/noarch/${APPNAME}-${NEW_VER}*.rpm timlau.fedorapeople.org:public_html/files/yumex/. - @scp $(BUILDDIR)/SRPMS/${APPNAME}-${NEW_VER}*.rpm timlau.fedorapeople.org:public_html/files/yumex/. + @-ssh timlau@fedorapeople.org rm public_html/files/yumex/* + @scp ${APPNAME}-${NEW_VER}.tar.gz timlau@fedorapeople.org:public_html/files/yumex/${APPNAME}-${NEW_VER}-${GITDATE}.tar.gz + @scp $(BUILDDIR)/RPMS/noarch/${APPNAME}-${NEW_VER}*.rpm timlau@fedorapeople.org:public_html/files/yumex/. + @scp $(BUILDDIR)/SRPMS/${APPNAME}-${NEW_VER}*.rpm timlau@fedorapeople.org:public_html/files/yumex/. test-upd: @$(MAKE) test-release @@ -138,15 +128,12 @@ transifex-setup: tx set --auto-local -r yumex.${APPNAME} 'po/.po' --source-lang en --source-file po/${APPNAME}.pot --execute -transifex-pull: +transifex-update: tx pull -a -f - @echo "You can now git commit -a -m 'Transfix pull, *.po update'" - -transifex-push: - make -C po ${APPNAME}.pot + tools/update-translations.sh tx push -s - @echo "You can now git commit -a -m 'Transfix push, ${APPNAME}.pot update'" - + git commit -a -m "Updated translations from transifex" + status-exit: /usr/bin/dbus-send --session --print-reply --dest=dk.yumex.StatusIcon / dk.yumex.StatusIcon.Exit @@ -158,8 +145,23 @@ status-checkupdates: status-run: cd dbus && ./dbus_status.py -v -d -.PHONY: all archive install clean build -.PHONY: $(SUBDIRS) $(INSTALL_TARGETS) $(CLEAN_TARGETS) +# Run pylint checks +check-pylint: + @-find src -type f -name "*.py" | xargs pylint -E --rcfile=.pylintrc + +# Run flake8 checks +check-flake8: + @-flake8 src/ + +# format python code using black +check-black: + @black src/ + +# install python linters & formatters using pip +check-inst-deps: + @pip install pylint black flake8 + +.PHONY: archive clean .PHONY: test-reinst test-inst mock-build rpm test-release test-cleanup show-vars release upload get-builddeps changelog -.PHONY: test-copr +.PHONY: test-copr sass check-pylint check-flake8 check-black check-inst-deps diff --git a/README.md b/README.md index a45590e..68e0ebb 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -Yum Extender (yumex-dnf) -========================= +# Yum Extender (yumex-dnf) This repository contains a complete rewrite of Yum Extender in python3, Gtk3 and using the dnf-daemon dbus API for packaging actions -**May 2021 : yumex-dnf is now back in development** +> **_May 2021:_** yumex-dnf is now back in active development + + Group/History support is read-only for now, as dnfdaemon support for history/groups is broken -How to build & install test rpms -================================= +## How to build & install test rpms ``` git clone https://github.com/timlau/yumex-dnf.git cd yumex-dnf @@ -17,8 +17,7 @@ make get-builddeps make test-inst ``` -Requirements -============ +## Requirements ``` dnf install python3 python3-gobject @@ -39,8 +38,7 @@ make test-inst ``` -Fedora Copr Repository -======================= +## Fedora Copr Repository yumex-dnf development packages is available in a [fedora Copr repository](https://copr.fedoraproject.org/coprs/timlau/yumex-dnf/) for f34 & Rawhide @@ -50,6 +48,19 @@ sudo dnf copr enable timlau/yumex-dnf sudo dnf install yumex-dnf ``` -Contributing -============ -Please [report bugs](https://github.com/timlau/yumex-dnf/issues) if you find some. In case you want to [propose changes](https://github.com/timlau/yumex-dnf/pulls), please do so on Github after [testing](https://github.com/timlau/yumex-dnf/wiki/Testing-yumex-for-developing) them. If you want to contribute translations, please do so on [Transifex](https://www.transifex.com/timlau/yumex/). +## Contributing +* Please [report bugs](https://github.com/timlau/yumex-dnf/issues) if you find some. +* In case you want to [propose changes](https://github.com/timlau/yumex-dnf/pulls), please do so on Github after [testing](https://github.com/timlau/yumex-dnf/wiki/Testing-yumex-for-developing) them. +* If you want to contribute translations, please do so on [Transifex](https://www.transifex.com/timlau/yumex/). + +
+
+
+
+ +[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge)](https://github.com/psf/black)   + [![Code linter: flake8](https://img.shields.io/badge/linter-flake8-blue.svg?style=for-the-badge +)](https://github.com/PyCQA/flake8)  +[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?style=for-the-badge&logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit) + + diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 0000000..4f660b0 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,6 @@ +DATA_DIR = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) + +install_subdir( + 'ui', + install_dir: DATA_DIR +) \ No newline at end of file diff --git a/data/ui/errordialog.ui b/data/ui/errordialog.ui new file mode 100644 index 0000000..fec64ec --- /dev/null +++ b/data/ui/errordialog.ui @@ -0,0 +1,105 @@ + + + + + + + yumex_error + False + 5 + Errors + center-on-parent + 600 + 260 + True + dialog + + + False + vertical + 2 + + + False + end + + + + + + gtk-close + True + True + True + True + + + + False + True + 1 + + + + + False + True + end + 0 + + + + + True + False + vertical + + + True + True + in + + + 350 + True + True + False + 5 + 5 + 5 + 5 + False + error_buffer + True + + + + + + True + True + 0 + + + + + True + True + 1 + + + + + + error_ok + + + + diff --git a/data/ui/preferences.ui b/data/ui/preferences.ui new file mode 100644 index 0000000..bada3aa --- /dev/null +++ b/data/ui/preferences.ui @@ -0,0 +1,740 @@ + + + + + + 10 + 900 + 10 + 10 + + + 2 + 10 + 1 + 1 + + + 240 + 1 + 10 + + + 5 + 10080 + 5 + 10 + + + False + dialog + + + False + vertical + 2 + + + False + 12 + 6 + 6 + end + + + gtk-cancel + True + True + True + True + + + + False + True + 0 + + + + + gtk-ok + True + True + True + True + + + + False + True + 1 + + + + + False + False + 0 + + + + + True + False + 6 + slide-right + + + + True + False + 6 + 10 + 6 + 6 + + + True + False + start + start + True + Theme + + + 0 + 0 + 2 + + + + + True + False + + + 2 + 0 + + + + + True + False + start + start + True + Use Dark Theme + + + 0 + 1 + 2 + + + + + True + True + end + start + + + 2 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pref_colors + Theme + + + + + + True + False + 6 + 10 + 6 + 6 + True + + + True + False + + Use the toolbar in the header of the window + standard when using GNOME + + start + Show toolbar in window headerbar + + + 0 + 1 + 2 + + + + + True + True + end + start + + + 2 + 1 + + + + + 10 + True + False + The interval in hour, when the DNF cache will be expired and updated (0 = disabled) + start + Cache expire interval (hours) + end + + + 0 + 0 + 2 + + + + + True + True + The interval in hour, when the DNF cache will be expired and updated (0 = disabled) + end + start + 12 + number + adj_refresh_interval + True + True + 12 + + + 2 + 0 + + + + + True + False + + Select all available updates when + Yum Extender is started + + start + Select updates at startup + + + 0 + 2 + 2 + + + + + True + True + end + + + 2 + 2 + + + + + True + False + start + start + Seach visible by default + + + 0 + 3 + 2 + + + + + True + True + end + end + + + 2 + 3 + + + + + True + False + start + start + Show progress splash screen on long running task + + + 0 + 4 + 2 + + + + + True + True + end + + + 2 + 4 + + + + + + + + + + + + + + + pref_ui + UI + 1 + + + + + + True + False + 6 + 6 + + + True + True + end + start + + + 2 + 0 + + + + + True + False + Autostart the Yum Extender update checker at user login + start + True + Start update checker at user login + + + 0 + 0 + 2 + + + + + True + True + end + start + + 60 + number + adj_update_interval + True + True + 60 + + + 2 + 1 + + + + + True + False + How often the update checker will run + start + True + Update check interval (minutes) + + + 0 + 1 + 2 + + + + + + + + + + + + + + + pref_update + Update Checker + 2 + + + + + + True + False + 6 + 6 + + + False + + Show newest only is active when + Yum Extender starts. + Will show only latest version of available + packages + + start + True + Show newest only + + + 0 + 0 + 2 + + + + + True + end + start + + + 2 + 0 + + + + + False + + Erase unused requirement option is + active when Yum Extender starts + + start + True + Erase Unused Requirements + + + 0 + 1 + 2 + + + + + True + end + start + + + 2 + 1 + + + + + True + False + start + Cleanup Old Installonly packages + + + 0 + 2 + 2 + + + + + True + True + end + + + 2 + 2 + + + + + True + False + start + 25 + Number of installonly packages to keep + + + 0 + 3 + 2 + + + + + True + True + 0 + 3 + digits + adj_installonly_limit + 1 + True + 3 + + + 2 + 3 + + + + + + pref_dnf + DNF Options + 3 + + + + + True + False + vertical + + + True + False + start + 10 + 10 + 6 + 6 + Repositories used in current session + + + + + + False + True + 0 + + + + + 400 + True + True + 6 + 6 + True + in + 400 + + + + + + False + True + 1 + + + + + True + False + + Save the current selected repositories + so they will be used next time you + start Yum Extender + + 10 + 10 + 5 + 5 + + + Save selected repositories + True + True + False + start + True + + + False + True + 0 + + + + + + + + False + True + 2 + + + + + + pref_repos + Repositories + 4 + + + + + + False + True + 1 + + + + + + pref_cancel + pref_ok + + + + True + False + + + True + False + 6 + 6 + vertical + start + + + True + False + pref_stack + + + + True + True + 0 + + + + + + + + + + + + pref_cancel + pref_ok + + + + diff --git a/data/ui/progresssplash.ui b/data/ui/progresssplash.ui new file mode 100644 index 0000000..7555f17 --- /dev/null +++ b/data/ui/progresssplash.ui @@ -0,0 +1,98 @@ + + + + + + False + 0.9019607843137255 + False + True + center-on-parent + True + splashscreen + True + False + False + False + False + + + True + False + + + True + False + 6 + + + + -1 + + + + + work_top_overlay + True + False + 0.9019607843137255 + end + 20 + 20 + 20 + 20 + 20 + vertical + + + True + False + center + end + Working ... + + + + + + + + False + True + 0 + + + + + True + False + center + end + Working ... + + + + + + + + False + True + 1 + + + + + + + + + diff --git a/data/ui/shortcuts.ui b/data/ui/shortcuts.ui new file mode 100644 index 0000000..bf638d9 --- /dev/null +++ b/data/ui/shortcuts.ui @@ -0,0 +1,181 @@ + + + + + 1 + 1 + + + shortcuts + 10 + 1 + + + Pages + + + <alt>1 + Go to packages page + 1 + + + + + <alt>2 + Go to group page + 1 + + + + + <alt>3 + Go to history page + 1 + + + + + <alt>4 + Go to queue page + 1 + + + + + + + filters + Filters + 1 + + + <ctrl>1 + Show updates + 1 + + + + + <ctrl>2 + Show installed + 1 + + + + + <ctrl>3 + Show available + 1 + + + + + <ctrl>4 + Show all + 1 + + + + + + + info + Info view + 1 + + + <ctrl><alt>1 + package description + 1 + + + + + <ctrl><alt>2 + package update info + 1 + + + + + <ctrl><alt>3 + package files + 1 + + + + + <ctrl><alt>4 + package requirement + 1 + + + + + + + packageview + Package View + 1 + + + <ctrl>s + Select all packages in view + 1 + + + + + + + other + Other + 1 + + + <alt>a + Apply Pending actions + 1 + + + + + <alt>x + Filter options + 1 + + + + + <ctrl>f + Toggle search bar + 1 + + + + + <ctrl>q + Quit + 1 + + + + + <alt>Return + Open Preferences + 1 + + + + + F1 + Open Documentation + 1 + + + + + + + + diff --git a/data/ui/transactionresult.ui b/data/ui/transactionresult.ui new file mode 100644 index 0000000..4b240e9 --- /dev/null +++ b/data/ui/transactionresult.ui @@ -0,0 +1,159 @@ + + + + + + yumex_transaction + False + 5 + Package actions to perform + center-on-parent + 600 + 260 + True + dialog + + + False + vertical + 2 + + + False + end + + + gtk-cancel + True + True + True + True + + + + False + True + 0 + + + + + gtk-ok + True + True + True + True + + + + False + True + 1 + + + + + False + True + end + 0 + + + + + True + False + vertical + 5 + + + True + True + in + 600 + 400 + + + True + True + + + + + + + + + True + True + 0 + + + + + True + False + 2 + + + True + False + Size: + + + + False + True + 10 + 0 + + + + + True + False + start + + + + False + True + 1 + + + + + False + True + 1 + + + + + True + True + 1 + + + + + + result_cancel + result_ok + + + + diff --git a/data/ui/yumex.ui b/data/ui/yumex.ui new file mode 100644 index 0000000..345990c --- /dev/null +++ b/data/ui/yumex.ui @@ -0,0 +1,1305 @@ + + + + + + True + False + + + + True + False + True + + + + + + + + + + + + + True + False + + + + + + + + + description + #3584e4 + Noto Sans + Noto Sans + 12 + + + + + changelog-header + #e01b24 + Noto Sans + Noto Sans + 500 + 14 + + + + + changelog-header_dark + #e01b24 + Noto Sans + Noto Sans + 500 + 14 + + + + + changelog_dark + #3584e4 + Noto Sans + Noto Sans + semi-condensed + 14 + + + + + changelog + #3584e4 + Noto Sans + Noto Sans + semi-condensed + 0.90 + + + + + filelist_dark + #3584e4 + Normal + Monospace + 11 + + + + + filelist + #3584e4 + Normal + Monospace + 12 + + + + + description_dark + #3584e4 + Noto Sans + Noto Sans + semi-condensed + 12 + + + + + info_tags + + + 800 + 800 + True + False + + + yumex_main + True + False + vertical + + + yumex_search + True + True + False + + + True + False + + + 500 + True + True + edit-find-symbolic + False + False + + + + False + True + 0 + + + + + True + True + False + True + 5 + 5 + + + True + False + preferences-other-symbolic + + + + + + False + False + 1 + + + + + True + False + + + + False + True + 8 + 2 + + + + + + + + False + True + 0 + + + + + True + False + + + True + True + vertical + 300 + True + True + + + True + False + crossfade + + + Packages + True + False + vertical + + + True + False + + + package_sidebar + True + False + start + vertical + + + True + False + icons + 2 + + + True + False + More filtering options + True + view-list-symbolic + + + False + False + + + + + False + False + end + 0 + + + + + pkg_listbox + 100 + True + False + start + + + True + True + Show available updates (Ctrl+1) + + + True + False + start + Updates + + + + + + + + + + + True + True + Show installed packages (Ctrl+2) + + + True + False + start + Installed + + + + + + + + + + + True + True + Show available packages (Ctrl+3) + + + True + False + start + Available + + + + + + + + + + + True + True + Show all packages (Ctrl+4) + + + True + False + start + All + + + + + + + + + + + + True + True + 1 + + + + + + False + True + 0 + + + + + pkg_view + 200 + True + True + True + True + in + + + + + + + False + True + 1 + + + + + True + True + 0 + + + + + + packages + Packages + + + + + Groups + True + False + vertical + + + True + True + 300 + True + True + + + 200 + 250 + True + True + in + + + + + + + False + False + + + + + 350 + 250 + True + True + in + + + + + + + True + False + + + + + + True + True + 0 + + + + + + groups + Groups + 1 + + + + + History + True + False + vertical + + + True + True + 250 + True + True + + + 200 + 250 + True + True + in + + + + + + + False + False + + + + + 350 + 250 + True + True + in + + + + + + + True + False + + + + + + True + True + 0 + + + + + True + False + end + 10 + 6 + 6 + + + Undo + True + True + True + + + False + True + 0 + + + + + False + True + 1 + + + + + + history + History + 2 + + + + + Queue + True + False + vertical + + + True + True + in + + + + + + + True + True + 0 + + + + + + actions + Queue + 3 + + + + + + False + False + + + + + yumex_infobox + True + False + + + info_selector + True + False + start + False + True + vertical + + + info_list + True + False + start + start + + + 32 + 32 + True + True + Package Description + start + start + + + True + False + dialog-information-symbolic + 2 + + + + + + + + 32 + 32 + True + True + Package Update Information + start + start + + + True + False + software-update-available-symbolic + 2 + + + + + + + + 32 + 32 + True + True + Package Filelist + start + start + + + True + False + drive-multidisk-symbolic + 2 + + + + + + + + 32 + 32 + True + True + Package Requirements + start + start + + + True + False + insert-object-symbolic + 2 + + + + + + + + + False + True + 0 + + + + + + False + False + 0 + + + + + True + True + in + + + info_text + True + True + False + word + 12 + 12 + 6 + 6 + False + info_buffer + False + True + + + + + + True + True + 1 + + + + + + False + False + + + + + + True + True + 1 + + + + + + False + True + 2 + + + + + + -1 + + + + + True + False + start + crossfade + 500 + + + + True + False + start + + + True + False + start + baseline + 5 + + + + + + + 1 + 0 + + + + + 25 + 25 + True + False + 10 + 5 + True + + + + 0 + 0 + + + + + True + False + start + baseline + 10 + 0.5 + + + + + + + 2 + 0 + + + + + progress + 400 + True + False + end + center + 10 + 10 + + + + 4 + 0 + + + + + True + False + True + right + + + 3 + 0 + + + + + + + + True + + + + + header_left + True + False + 24 + + + main_switcher + True + False + main_stack + + + + False + True + 0 + + + + + + PackageFilterPopup + False + button_more_filters + + + + True + False + 5 + 5 + 5 + 5 + 6 + 12 + + + True + False + start + <b>Package Versions</b> + True + + + 0 + 0 + 3 + + + + + True + False + start + <b>Archs</b> + True + + + 0 + 3 + 3 + + + + + True + False + vertical + + + + + + + + + + + + 0 + 4 + 3 + + + + + True + False + vertical + + + 0 + 2 + 3 + + + + + Newest Only + True + True + False + Show only the latest package versions + start + True + + + 0 + 1 + 3 + + + + + + + + + SearchPopup + False + sch_options_button + bottom + + + + True + False + 5 + 5 + 5 + 5 + + + Prefix + True + True + False + Package names starting with search key + True + True + + + 0 + 0 + + + + + Keyword + True + True + False + Package names containing search key + True + sch_opt_prefix + + + 0 + 1 + + + + + Fields + True + True + False + Specified package fields containing search keys. + True + sch_opt_prefix + + + 0 + 2 + + + + + Name + True + True + False + Package name + 24 + True + + + 0 + 3 + + + + + Summary + True + True + False + Package summary + 24 + True + + + 0 + 4 + + + + + Description + True + True + False + Package description + 24 + True + + + 0 + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + False + + + True + False + Remove Selected + + + + + header_right + True + False + 6 + + + True + True + True + Search (show/hide) + start + + + True + False + edit-find-symbolic + + + + + + False + True + 1 + + + + + True + True + True + Apply pending actions + + + True + False + system-software-install-symbolic + + + + + False + True + 2 + + + + + True + True + True + + + True + False + open-menu-symbolic + + + + + + False + True + 2 + + + + + diff --git a/docs/img/groups.png b/docs/img/groups.png index c743fab..4e34bf4 100644 Binary files a/docs/img/groups.png and b/docs/img/groups.png differ diff --git a/docs/img/history.png b/docs/img/history.png index 59d75a5..8608e9c 100644 Binary files a/docs/img/history.png and b/docs/img/history.png differ diff --git a/docs/img/updates.png b/docs/img/updates.png index 461482e..083bccc 100644 Binary files a/docs/img/updates.png and b/docs/img/updates.png differ diff --git a/docs/main.rst b/docs/main.rst index 6f5abe1..f7ad7ab 100644 --- a/docs/main.rst +++ b/docs/main.rst @@ -20,16 +20,6 @@ Links .. _Development: https://github.com/timlau/yumex-dnf .. _Translation: https://www.transifex.com/projects/p/yumex/resource/yumex-dnf/ -Usage -====== - -Main menu ----------- -.. image:: img/main-menu.png - - -The main menu used to select the different views available in Yum Extender. -and other actions like preferences and options. Views ====== @@ -42,23 +32,10 @@ to be installed, upgraded or removed. .. image:: img/updates.png -This is a overview of the Yum Extender header bar in the package views - -.. image:: img/top-bar.png - - -1. The main menu -2. Apply pending actions -3. Filter menu -4. Search option menu -5. Search entry -6. Quit Yum Extender - -Filter menu -~~~~~~~~~~~~ -The filter menu is used to limit the packages show to a special kind of status, this can -.. image:: img/filter-menu.png +Filter Sidebar +~~~~~~~~~~~~~~ +The filter sidebar is used to limit the packages show to a special kind of status, this can 1. **updates** will show available updates for installed packages 2. **installed** will show packages installed on the local system @@ -67,15 +44,13 @@ The filter menu is used to limit the packages show to a special kind of status, There filters applies both to the current search result or all packages if no seach is performed. -**available** and **all** will can take very long time, if used not limited by a search. +**available** and **all** will can take some time, if used not limited by a search. Search Option Menu ~~~~~~~~~~~~~~~~~~~ The search option menu is used to specify what type of search is performed when something is entered in the search entry. -.. image:: img/search-options.png - There is 3 kind of available search types: 1. **prefix** is searching for package names there is starting with the keyword in the search entry. @@ -84,7 +59,6 @@ There is 3 kind of available search types: Searching ~~~~~~~~~~ -.. image:: img/search-bar.png Searching is performed by entering a keyword in the search entry and pressing **Enter** @@ -103,8 +77,6 @@ on the current installation state of the selected package. The selection column header (**+**) can be uses to perform actions on all shown packages in the view. -.. image:: img/updates-selection.png - clicking on the column header will switch between there states * Select all shown packages @@ -112,14 +84,10 @@ clicking on the column header will switch between there states * Redo single selections by user - - Groups View -------------- The group view shows packages ordered by categories and groups, the selection of packages is the same as for the package view. -The group view is selected from the main menu |main-menu| - .. image:: img/groups.png It is possible to install/remove groups also by selecting the checkbox in the group/category tree. @@ -128,8 +96,6 @@ History View -------------- The history shows the history of transaction performed by dnf on the system. -The history view is selected from the main menu |main-menu| - .. image:: img/history.png .. warning:: If your are using both yum & dnf on the system, they will both have there own history, not including the transactions by the other tool. @@ -138,11 +104,8 @@ Pending Actions View -------------------------- The pending action queue show the pending actions for the packages selected by the user -The pending action view is selected from the main menu |main-menu| - -Pending actions is exeucted by pressing the apply button |apply| +Pending actions is exeucted by pressing the apply button -.. image:: img/queue.png .. |filters| image:: img/button-filters.png diff --git a/gfx/Makefile b/gfx/Makefile deleted file mode 100644 index 6c51b79..0000000 --- a/gfx/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -APPNAME = yumex-dnf -DATADIR = /usr/share - -all: - echo "Nothing to do" - -clean: - echo "Nothing to do" - -install: - mkdir -p $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps - mkdir -p $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps - install -m644 yumex-icon.svg $(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/$(APPNAME).svg - install -m644 yumex-icon.png $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps/$(APPNAME).png diff --git a/gfx/meson.build b/gfx/meson.build new file mode 100644 index 0000000..a6036fe --- /dev/null +++ b/gfx/meson.build @@ -0,0 +1,16 @@ +ICON_DIR_SVG = join_paths(get_option('prefix'), get_option('datadir'), 'icons/hicolor/scalable/apps/') +ICON_DIR_PNG = join_paths(get_option('prefix'), get_option('datadir'), 'icons/hicolor/48x48/apps/') +DATA_DIR_GFX = join_paths(get_option('prefix'), get_option('datadir'), APPNAME,'gfx') + +install_data( + APPNAME+'.svg', + install_dir: ICON_DIR_SVG +) +install_data( + APPNAME+'.png', + install_dir: ICON_DIR_PNG +) +install_data( + 'progress.gif', + install_dir: DATA_DIR_GFX +) diff --git a/gfx/progress.gif b/gfx/progress.gif new file mode 100644 index 0000000..59ad0f1 Binary files /dev/null and b/gfx/progress.gif differ diff --git a/gfx/screenshoots/yumex-screenshoot-01.png b/gfx/screenshoots/yumex-screenshoot-01.png new file mode 100644 index 0000000..083bccc Binary files /dev/null and b/gfx/screenshoots/yumex-screenshoot-01.png differ diff --git a/gfx/screenshoots/yumex-screenshoot-02.png b/gfx/screenshoots/yumex-screenshoot-02.png new file mode 100644 index 0000000..4e34bf4 Binary files /dev/null and b/gfx/screenshoots/yumex-screenshoot-02.png differ diff --git a/gfx/screenshoots/yumex-screenshoot-03.png b/gfx/screenshoots/yumex-screenshoot-03.png new file mode 100644 index 0000000..8608e9c Binary files /dev/null and b/gfx/screenshoots/yumex-screenshoot-03.png differ diff --git a/gfx/screenshoots/yumex-screenshoot-04.png b/gfx/screenshoots/yumex-screenshoot-04.png new file mode 100644 index 0000000..9d8139e Binary files /dev/null and b/gfx/screenshoots/yumex-screenshoot-04.png differ diff --git a/gfx/yumex-icon.png b/gfx/yumex-dnf.png similarity index 100% rename from gfx/yumex-icon.png rename to gfx/yumex-dnf.png diff --git a/gfx/yumex-icon.svg b/gfx/yumex-dnf.svg similarity index 100% rename from gfx/yumex-icon.svg rename to gfx/yumex-dnf.svg diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..e9d7f69 --- /dev/null +++ b/meson.build @@ -0,0 +1,14 @@ +project('yumex-dnf', + version: '4.4.0', + meson_version: '>= 0.50.0' +) + +APPNAME = meson.project_name() +DATA_DIR = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) +BIN_DIR = join_paths(get_option('prefix'), get_option('bindir')) + +subdir('src') +subdir('data') +subdir('gfx') +subdir('misc') +subdir('po') diff --git a/misc/Makefile b/misc/Makefile deleted file mode 100644 index 8272f77..0000000 --- a/misc/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -APPNAME = yumex-dnf -DATADIR = /usr/share -PODIR=../po - -all: build - -clean: - @rm -f $(APPNAME).desktop - @rm -f $(APPNAME)-local.desktop - @rm -f $(APPNAME).appdata.xml - -build: clean - intltool-merge -d -u $(PODIR) $(APPNAME).desktop.in $(APPNAME).desktop - intltool-merge -d -u $(PODIR) $(APPNAME)-local.desktop.in $(APPNAME)-local.desktop - intltool-merge -x -u $(PODIR) $(APPNAME).appdata.xml.in $(APPNAME).appdata.xml - -install: build - install -d $(DESTDIR)$(DATADIR)/applications - install -d $(DESTDIR)$(DATADIR)/$(APPNAME) - install -d $(DESTDIR)$(DATADIR)/$(APPNAME)/themes - install -d $(DESTDIR)$(DATADIR)/appdata - install -m644 $(APPNAME).desktop $(DESTDIR)$(DATADIR)/applications/. - install -m644 $(APPNAME)-local.desktop $(DESTDIR)$(DATADIR)/applications/. - install -m644 $(APPNAME)-updater.desktop $(DESTDIR)$(DATADIR)/$(APPNAME)/. - install -m644 $(APPNAME).appdata.xml $(DESTDIR)$(DATADIR)/appdata/. - install -m644 themes/* $(DESTDIR)$(DATADIR)/$(APPNAME)/themes/. - -.PHONY: all install clean build diff --git a/misc/meson.build b/misc/meson.build new file mode 100644 index 0000000..a7dee68 --- /dev/null +++ b/misc/meson.build @@ -0,0 +1,89 @@ +sassc = find_program('pysassc') + + + +THEME_DIR=join_paths(DATA_DIR, 'themes') +DESKTOP_DIR = join_paths(get_option('prefix'), get_option('datadir'), 'applications') +METAINFO_DIR = join_paths(get_option('prefix'), get_option('datadir'), 'metainfo') + + +themes = [] + +sassc_opts = [ '-t', 'expanded' ] + + +scss_deps = files([ + 'scss/_base.scss', + 'scss/_colors.scss', + 'scss/_functions.scss', + 'scss/_palette.scss', + 'scss/_system_base.scss' +]) + +scss_files = [ + 'Dracula', + 'One-Dark', + 'System-Dark', + 'System-Light' +] + + +foreach scss: scss_files + themes += custom_target('@0@.theme'.format(scss), + input: 'scss/@0@.scss'.format(scss), + output: '@0@.theme'.format(scss), + command: [sassc, sassc_opts, '@INPUT@', '@OUTPUT@'], + depend_files: scss_deps, + install : true, + install_dir : THEME_DIR + ) +endforeach + +i18n = import('i18n') +desktop_file = i18n.merge_file( + input: 'yumex-dnf.desktop.in', + output: 'yumex-dnf.desktop', + type: 'desktop', + po_dir: '../po', + install: true, + install_dir: DESKTOP_DIR +) + +desktop_file_local = i18n.merge_file( + input: 'yumex-dnf-local.desktop.in', + output: 'yumex-dnf-local.desktop', + type: 'desktop', + po_dir: '../po', + install: true, + install_dir: DESKTOP_DIR +) + +desktop_utils = find_program('desktop-file-validate', required: false) +if desktop_utils.found() + test('Validate desktop file', desktop_utils, + args: [desktop_file] + ) + test('Validate desktop file', desktop_utils, + args: [desktop_file_local] + ) +endif + +install_data( + 'yumex-dnf-updater.desktop', + install_dir: DATA_DIR +) + +appstream_file = i18n.merge_file( + input: 'yumex-dnf.appdata.xml.in', + output: 'yumex-dnf.metainfo.xml', + po_dir: '../po', + install: true, + install_dir: METAINFO_DIR +) + +appstream_util = find_program('appstream-util', required: false) +if appstream_util.found() + test('Validate appstream file', appstream_util, + args: ['validate', '--nonet', appstream_file] + ) +endif \ No newline at end of file diff --git a/misc/scss/Dracula.scss b/misc/scss/Dracula.scss new file mode 100644 index 0000000..9a1cae7 --- /dev/null +++ b/misc/scss/Dracula.scss @@ -0,0 +1,17 @@ +$color_install: #8BE8FD; +$color_update: #FF79C6; +$color_downgrade: #50FA7B; +$color_normal: #FFB86C; +$color_obsolete: #FFB86C; + +$bg_color: #21252b; +$primary_dark: #282A36; +$primary: #44475A; +$primary_light: #566388; +$primary_lighter: #6272A4; +$text_color: #F8F8F2; +$secondary: #FF79C6; + +@import 'colors'; +@import 'base'; + diff --git a/misc/scss/One-Dark.scss b/misc/scss/One-Dark.scss new file mode 100644 index 0000000..641dfa2 --- /dev/null +++ b/misc/scss/One-Dark.scss @@ -0,0 +1,20 @@ +/*Package Type Colors */ + +$color_install: #56b6c2; +$color_update: #e06c75; +$color_downgrade: #98c379; +$color_normal: #d19a66; +$color_obsolete: #e06c75; + +/* UI colors */ + +$bg_color: #282c34; +$primary_dark: #323842; +$primary: #404859; +$primary_light: #5c6370; +$primary_lighter: #5c6370; +$text_color: #abb2bf; +$secondary: #98c379; + +@import 'colors'; +@import 'base'; diff --git a/misc/scss/System-Dark.scss b/misc/scss/System-Dark.scss new file mode 100644 index 0000000..91d6593 --- /dev/null +++ b/misc/scss/System-Dark.scss @@ -0,0 +1,12 @@ +@import 'palette'; + +$color_install: $Material_Dark_Indigo; +$color_update: $Material_Dark_Pink; +$color_downgrade: $Material_Dark_Lime; +$color_normal: $Material_Dark_Orange; +$color_obsolete: $Material_Dark_Green; + + +@import 'functions'; +@import 'colors'; +@import 'system_base'; \ No newline at end of file diff --git a/misc/scss/System-Light.scss b/misc/scss/System-Light.scss new file mode 100644 index 0000000..fd4aa5a --- /dev/null +++ b/misc/scss/System-Light.scss @@ -0,0 +1,11 @@ +@import 'palette'; + +$color_install: $Material_Light_Indigo; +$color_update: $Material_Light_Pink; +$color_downgrade: $Material_Light_Lime; +$color_normal: $Material_Light_Orange; +$color_obsolete: $Material_Light_Green; + +@import 'functions'; +@import 'colors'; +@import 'system_base'; \ No newline at end of file diff --git a/misc/scss/_base.scss b/misc/scss/_base.scss new file mode 100644 index 0000000..ca4380f --- /dev/null +++ b/misc/scss/_base.scss @@ -0,0 +1,200 @@ +@import 'palette'; + +/* generic vindow & dialog */ +.main, +.transaction, +.error { + background-color: $bg_color; + color: $text_color; +} + +/* Transaction & error dialog buttons */ +.btn { + background-color: $primary; + color: $text_color; +} + +/* Search bar */ +.search { + &__entry.search { + color: $Gtk_orange_2; + background-color: $bg_color; + // padding: 5px; + border: 1px solid $text_color; + border-radius: 5px; + font-weight: normal; + font-size: 120%; + caret-color: $Gtk_orange_2; /* cursor color */ + } + + &__entry.search image { + color: $Gtk_orange_4; + background-color: $bg_color; + } + + & box { + background-color: $primary_dark; + border: none; + outline-style: none; + } + + &__btn { + color: $text_color; + background-color: $primary; + border: none; + box-shadow: none; + transition: all 200ms ease-in; + } + + &__btn:hover { + color: $text_color; + background-color: $primary_light; + } +} + +/* Infobar */ +.info { + background-color: $bg_color; + border: 3px solid $primary; + border-radius: 10px; + padding: 15px; + margin: 10px 50px 1440px 50px; + box-shadow: 0px 2px 5px 0px rgba($primary, .75), + 0 0 0 1440px rgba($bg_color, .5); + transition: all 500ms ease-in-out; + + &__label { + color: $Gtk_orange_2; + } + + &__sublabel { + color: $Gtk_orange_4; + } + + &__spinner { + color: $primary_light; + background-color: $primary_dark; + } + + &__progress > trough { + min-height: 6px; + background-color: $primary_light; + } + + &__progress > trough > progress { + min-height: 8px; + background-color: $secondary; + } +} + +/* Paned */ +.content__paned > separator { + background-color: $primary; +} + +/* Package filter selector */ +.pkgfilter { + background-color: $bg_color; + padding-top: 10px; + border-right: 2px solid $primary; + + & toolbar { + background-color: $primary_dark; + } + + & button { + color: $text_color; + background-color: $primary_dark; + } + + &__list { + background-color: $bg_color; + color: $text_color; + margin-left: 10px; + } + + &__item { + padding-left: 0.5em; + transition: all 200ms ease-in; + color: $primary_lighter; + background-color: $bg_color; + border-left: 5px solid $bg_color; + border-radius: 5px 0 0 5px; + } + + &__item:selected { + color: $text_color; + background-color: $primary; + border-left-color: $secondary; + } + + &__item:hover { + color: $text_color; + } +} + +/* content views (packages, group, history, queue) */ +.content__view { + & treeview { + background-color: $bg_color; + color: $text_color; + } + + & treeview:selected { + background-color: $primary_light; + color: $text_color; + } + + & treeview:hover { + background-color: $primary; + color: $text_color; + } + + & header button { + color: $text_color; + background-color: $primary_dark; + border: none; + border-bottom: 1px solid $primary_lighter; + } + + & header button + button { + border-left: 1px dotted $primary_lighter; + } +} + +/* Package Info Selector */ +.pkginfo { + &__select { + background-color: $bg_color; + border-right: 2px solid $primary; + } + + &__list { + background-color: $bg_color; + margin-left: 5px; + margin-top: 5px; + } + + &__item { + color: $primary_lighter; + background-color: $bg_color; + transition: all 200ms ease-in 100ms; + border-left: 4px solid $bg_color; + border-radius: 2px 0 0 2px; + padding: 0px 5px 0px 5px; + } + + &__item:hover { + color: $text_color; + } + + &__item:selected { + color: $text_color; + background-color: $primary; + border-left-color: $secondary; + } + + &__text text { + background-color: $bg_color; + } +} diff --git a/misc/scss/_colors.scss b/misc/scss/_colors.scss new file mode 100644 index 0000000..c9e5051 --- /dev/null +++ b/misc/scss/_colors.scss @@ -0,0 +1,7 @@ +/*Package Type Colors */ + +@define-color color_install #{$color_install}; +@define-color color_update #{$color_update}; +@define-color color_downgrade #{$color_downgrade}; +@define-color color_normal #{$color_normal}; +@define-color color_obsolete #{$color_obsolete}; diff --git a/misc/scss/_functions.scss b/misc/scss/_functions.scss new file mode 100644 index 0000000..c4af658 --- /dev/null +++ b/misc/scss/_functions.scss @@ -0,0 +1,16 @@ +@function gtkalpha($c,$a) { + @return unquote("alpha(#{$c},#{$a})"); +} + +@function gtkmix($c1,$c2,$r) { + $ratio: 1 - $r / 100%; // match SCSS mix() + @return unquote("mix(#{$c1},#{$c2},#{$ratio})"); +} + +@function gtkshade($c,$s) { + @return unquote("shade(#{$c},#{$s})"); +} + +@function gtkcolor($c) { + @return unquote("@#{$c}"); +} diff --git a/misc/scss/_palette.scss b/misc/scss/_palette.scss new file mode 100644 index 0000000..a82cb44 --- /dev/null +++ b/misc/scss/_palette.scss @@ -0,0 +1,85 @@ +$Gtk_blue_1: #99c1f1; +$Gtk_blue_2: #62a0ea; +$Gtk_blue_3: #3584e4; +$Gtk_blue_4: #1c71d8; +$Gtk_blue_5: #1a5fb4; +$Gtk_green_1: #8ff0a4; +$Gtk_green_2: #57e389; +$Gtk_green_3: #33d17a; +$Gtk_green_4: #2ec27e; +$Gtk_green_5: #26a269; +$Gtk_yellow_1: #f9f06b; +$Gtk_yellow_2: #f8e45c; +$Gtk_yellow_3: #f6d32d; +$Gtk_yellow_4: #f5c211; +$Gtk_yellow_5: #e5a50a; +$Gtk_orange_1: #ffbe6f; +$Gtk_orange_2: #ffa348; +$Gtk_orange_3: #ff7800; +$Gtk_orange_4: #e66100; +$Gtk_orange_5: #c64600; +$Gtk_red_1: #f66151; +$Gtk_red_2: #ed333b; +$Gtk_red_3: #e01b24; +$Gtk_red_4: #c01c28; +$Gtk_red_5: #a51d2d; +$Gtk_purple_1: #dc8add; +$Gtk_purple_2: #c061cb; +$Gtk_purple_3: #9141ac; +$Gtk_purple_4: #813d9c; +$Gtk_purple_5: #613583; +$Gtk_brown_1: #cdab8f; +$Gtk_brown_2: #b5835a; +$Gtk_brown_3: #986a44; +$Gtk_brown_4: #865e3c; +$Gtk_brown_5: #63452c; +$Gtk_light_1: #ffffff; +$Gtk_light_2: #f6f5f4; +$Gtk_light_3: #deddda; +$Gtk_light_4: #c0bfbc; +$Gtk_light_5: #9a9996; +$Gtk_dark_1: #77767b; +$Gtk_dark_2: #5e5c64; +$Gtk_dark_3: #3d3846; +$Gtk_dark_4: #241f31; +$Gtk_dark_5: #000000; + +$Material_Dark_Red: #EF9A9A; +$Material_Dark_Pink: #F48FB1; +$Material_Dark_Purple: #CE93D8; +$Material_Dark_DeepPurple: #B39DDB; +$Material_Dark_Indigo: #9FA8DA; +$Material_Dark_Blue: #90CAF9; +$Material_Dark_LightBlue: #81D4FA; +$Material_Dark_Cyan: #80DEEA; +$Material_Dark_Teal: #80CBC4; +$Material_Dark_Green: #A5D6A7; +$Material_Dark_LightGreen: #C5E1A5; +$Material_Dark_Lime: #E6EE9C; +$Material_Dark_Yellow: #FFF59D; +$Material_Dark_Amber: #FFE082; +$Material_Dark_Orange: #FFCC80; +$Material_Dark_DeepOrange: #FFAB91; +$Material_Dark_Brown: #BCAAA4; +$Material_Dark_Grey: #EEEEEE; +$Material_Dark_BlueGrey: #B0BEC5; + +$Material_Light_Red: #F44336; +$Material_Light_Pink: #E91E63; +$Material_Light_Purple: #9C27B0; +$Material_Light_DeepPurple: #673AB7; +$Material_Light_Indigo: #3F51B5; +$Material_Light_Blue: #2196F3; +$Material_Light_LightBlue: #03A9F4; +$Material_Light_Cyan: #00BCD4; +$Material_Light_Teal: #009688; +$Material_Light_Green: #4CAF50; +$Material_Light_LightGreen: #8BC34A; +$Material_Light_Lime: #CDDC39; +$Material_Light_Yellow: #FFEB3B; +$Material_Light_Amber: #FFC107; +$Material_Light_Orange: #FF9800; +$Material_Light_DeepOrange: #FF5722; +$Material_Light_Brown: #795548; +$Material_Light_Grey: #9E9E9E; +$Material_Light_BlueGrey: #607D8B; diff --git a/misc/scss/_system_base.scss b/misc/scss/_system_base.scss new file mode 100644 index 0000000..00b4e7c --- /dev/null +++ b/misc/scss/_system_base.scss @@ -0,0 +1,37 @@ +.info { + background-color: gtkcolor(theme_bg_color); + border: 3px solid currentColor; + border-radius: 10px; + padding: 15px; + margin: 10px 50px 1440px 50px; + box-shadow: 0px 2px 5px 0px rgba(white, .75), + 0 0 0 1440px rgba(black, .5); + transition: all 500ms ease-in-out; + +} + +/* Package filter selector */ +.pkgfilter { + padding-top: 10px; + + .pkgfilter__list { + margin-left: 10px; + margin-right: 10px; + } + + .pkgfilter__item { + padding-left: 0.5em; + } +} + +/* Package Info Selector */ + +.pkginfo__list { + margin-left: 5px; + margin-right: 5px; + margin-top: 5px; +} + +.pkginfo__item { + padding: 0px 5px 0px 5px; +} diff --git a/misc/themes/Dracula.theme b/misc/themes/Dracula.theme index 36fa32b..87e234d 100644 --- a/misc/themes/Dracula.theme +++ b/misc/themes/Dracula.theme @@ -1,222 +1,197 @@ -/* -* Yum Extender styling (GTK3 CSS) -*/ - /*Package Type Colors */ - @define-color color_install #8BE8FD; @define-color color_update #FF79C6; @define-color color_downgrade #50FA7B; @define-color color_normal #FFB86C; @define-color color_obsolete #FFB86C; - -/* UI colors */ - -@define-color bg_color #21252b; -@define-color primary_dark #282A36; -@define-color primary #44475A; -@define-color primary_light #566388; -@define-color primary_lighter #6272A4; -@define-color text_color #F8F8F2; -@define-color other_search #FFB86C; -@define-color other_infobar #F1FA8C; -@define-color secondary #FF79C6; - /* generic vindow & dialog */ -#yumex_main, #yumex_transaction, #yumex_error { - background: @bg_color; - color: @text_color; - +.main, +.transaction, +.error { + background-color: #21252b; + color: #F8F8F2; } /* Transaction & error dialog buttons */ -#yumex_transaction button, #yumex_error button{ - background: @primary; - color: @text_color; +.btn { + background-color: #44475A; + color: #F8F8F2; } -/* Info box w. progressbar */ -#yumex_infobar box{ - background: @primary_dark; - border-style: solid; - border-width: 2px; - border-color: @primary; - border-radius: 2px; +/* Search bar */ +.search__entry.search { + color: #ffa348; + background-color: #21252b; + border: 1px solid #F8F8F2; + border-radius: 5px; + font-weight: normal; + font-size: 120%; + caret-color: #ffa348; + /* cursor color */ } -#yumex_infobar label{ - color: @other_infobar; +.search__entry.search image { + color: #e66100; + background-color: #21252b; } -#yumex_infobar spinner{ - color: @primary_light; - background: @primary_dark; +.search box { + background-color: #282A36; + border: none; + outline-style: none; } -/* separator between vies & info */ -paned separator{ - background: @primary; +.search__btn { + color: #F8F8F2; + background-color: #44475A; + border: none; + box-shadow: none; + transition: all 200ms ease-in; } -#yumex_infobox text { - background: @bg_color; - color: @text_color; - font-family: 'Noto Sans', sans-serif; - font-family: 'Noto Sans', sans-serif; +.search__btn:hover { + color: #F8F8F2; + background-color: #566388; } -#yumex_infobox .frame { - border-style: none; - border-left-style: solid; - border-left-width: 2px; - border-left-color: @primary; +/* Infobar */ +.info { + background-color: #21252b; + border: 3px solid #44475A; + border-radius: 10px; + padding: 15px; + margin: 10px 50px 1440px 50px; + box-shadow: 0px 2px 5px 0px rgba(68, 71, 90, 0.75), 0 0 0 1440px rgba(33, 37, 43, 0.5); + transition: all 500ms ease-in-out; } -/* info type selector */ -#info_selector row { - color: @primary_lighter; - background: @bg_color; +.info__label { + color: #ffa348; } -#info_selector row:hover { - color: @text_color; - transition: all 200ms ease-in 100ms; +.info__sublabel { + color: #e66100; } -#info_selector row.activatable:selected { - color: @text_color; - background: @primary; - border-left-style: solid; - border-left-width: 4px; - border-left-color: @secondary; - border-radius: 2px; - transition: all 200ms ease-in 100ms; - +.info__spinner { + color: #566388; + background-color: #282A36; } -/* Views */ -.yumex_views treeview{ - background: @bg_color; - color: @text_color; +.info__progress > trough { + min-height: 6px; + background-color: #566388; } -/* Package category selector */ -#package_sidebar toolbar{ - background: @primary_dark; +.info__progress > trough > progress { + min-height: 8px; + background-color: #FF79C6; } -#package_sidebar button{ - color: @text_color; - background: @primary_dark; +/* Paned */ +.content__paned > separator { + background-color: #44475A; } -#package_sidebar list{ - background: @bg_color; - color: @text_color; +/* Package filter selector */ +.pkgfilter { + background-color: #21252b; + padding-top: 10px; + border-right: 2px solid #44475A; } -#package_sidebar row.activatable{ - padding-left: 10px; +.pkgfilter toolbar { + background-color: #282A36; } -#package_sidebar row.activatable:selected { - color: @text_color; - background: @primary; - border: none; - border-left-style: solid; - border-left-width: 3px; - border-left-color: @secondary; - border-radius: 2px; - /*padding-left: 10px;*/ - transition: all 200ms ease-in 100ms; +.pkgfilter button { + color: #F8F8F2; + background-color: #282A36; +} +.pkgfilter__list { + background-color: #21252b; + color: #F8F8F2; + margin-left: 10px; } -#package_sidebar row.activatable:hover { - color: @text_color; - background: @primary; - transition: all 200ms ease-in 100ms; +.pkgfilter__item { + padding-left: 0.5em; + transition: all 200ms ease-in; + color: #6272A4; + background-color: #21252b; + border-left: 5px solid #21252b; + border-radius: 5px 0 0 5px; } -/* Package View */ +.pkgfilter__item:selected { + color: #F8F8F2; + background-color: #44475A; + border-left-color: #FF79C6; +} -.yumex_views treeview:selected{ - background: @primary_light; - color: @text_color; +.pkgfilter__item:hover { + color: #F8F8F2; } -.yumex_views treeview:hover{ - background: @primary; - color: @text_color; +/* content views (packages, group, history, queue) */ +.content__view treeview { + background-color: #21252b; + color: #F8F8F2; } -/* Package View Column Headers */ -.yumex_views header button { - color: @text_color; - background: @primary_dark; - border: none; - border-bottom-color: @primary_lighter; - border-bottom-width: 1px; - border-bottom-style: solid; - border-left-color: @primary_lighter; - border-left-width: 1px; - border-left-style: dotted; +.content__view treeview:selected { + background-color: #566388; + color: #F8F8F2; } -/* Package View Checkboxes */ -.yumex_views check { - background: @primary; - color: @secondary; +.content__view treeview:hover { + background-color: #44475A; + color: #F8F8F2; } -.yumex_views check:checked { - background: @primary_lighter; - color: @text_color; - border-width: 0px; +.content__view header button { + color: #F8F8F2; + background-color: #282A36; + border: none; + border-bottom: 1px solid #6272A4; } -#pkg_view { - border-style: none; - border-left-style: solid; - border-left-width: 2px; - border-left-color: @primary; +.content__view header button + button { + border-left: 1px dotted #6272A4; } -/* Search bar */ +/* Package Info Selector */ +.pkginfo__select { + background-color: #21252b; + border-right: 2px solid #44475A; +} -/* Search Entry */ -#yumex_search entry.search{ - color: @other_search; - background: @bg_color; - border: none; - border: 1px solid @text_color; - border-radius: 5px; - font-weight: normal; - font-size: 120%; - caret-color: @other_search; /* cursor color */ - +.pkginfo__list { + background-color: #21252b; + margin-left: 5px; + margin-top: 5px; } -#yumex_search entry.search image{ - color: @other_search; - background: @bg_color; +.pkginfo__item { + color: #6272A4; + background-color: #21252b; + transition: all 200ms ease-in 100ms; + border-left: 4px solid #21252b; + border-radius: 2px 0 0 2px; + padding: 0px 5px 0px 5px; } -#yumex_search box{ - background: @primary_dark; - border: none; - outline-style: none; +.pkginfo__item:hover { + color: #F8F8F2; } -#yumex_search button { - color: @text_color; - background: @primary; - border: none; - box-shadow: none; +.pkginfo__item:selected { + color: #F8F8F2; + background-color: #44475A; + border-left-color: #FF79C6; } -#yumex_search button:hover { - color: @text_color; - background: @primary_light; - transition: all 200ms ease-in 100ms; +.pkginfo__text text { + background-color: #21252b; } diff --git a/misc/themes/One-Dark.theme b/misc/themes/One-Dark.theme index 26ca560..b96d9f9 100644 --- a/misc/themes/One-Dark.theme +++ b/misc/themes/One-Dark.theme @@ -1,214 +1,199 @@ -/* -* Yum Extender styling (GTK3 CSS) -* Based on the One-Dark theme -*/ - /*Package Type Colors */ - +/* UI colors */ +/*Package Type Colors */ @define-color color_install #56b6c2; @define-color color_update #e06c75; @define-color color_downgrade #98c379; @define-color color_normal #d19a66; @define-color color_obsolete #e06c75; - -/* UI colors */ - -@define-color bg_color #282c34; -@define-color primary_dark #323842; -@define-color primary #404859; -@define-color primary_light #5c6370; -@define-color text_color #abb2bf; -@define-color other_infobar #d19a66; -@define-color other_search #e6c07b; -@define-color secondary #98c379; - /* generic vindow & dialog */ -#yumex_main, #yumex_transaction, #yumex_error { - background: @bg_color; - color: @text_color; - +.main, +.transaction, +.error { + background-color: #282c34; + color: #abb2bf; } /* Transaction & error dialog buttons */ -#yumex_transaction button, #yumex_error button{ - background: @primary; - color: @text_color; +.btn { + background-color: #404859; + color: #abb2bf; } -/* Info box w. progressbar */ -#yumex_infobar box{ - background: @primary_dark; - border-style: solid; - border-width: 2px; - border-color: @primary; - border-radius: 2px; +/* Search bar */ +.search__entry.search { + color: #ffa348; + background-color: #282c34; + border: 1px solid #abb2bf; + border-radius: 5px; + font-weight: normal; + font-size: 120%; + caret-color: #ffa348; + /* cursor color */ } -#yumex_infobar label{ - color: @other_infobar; +.search__entry.search image { + color: #e66100; + background-color: #282c34; } -#yumex_infobar spinner{ - color: @primary_light; - background: @primary_dark; +.search box { + background-color: #323842; + border: none; + outline-style: none; } -/* separator between vies & info */ -paned separator{ - background: @primary; +.search__btn { + color: #abb2bf; + background-color: #404859; + border: none; + box-shadow: none; + transition: all 200ms ease-in; } -#yumex_infobox text { - background: @bg_color; - color: @text_color; +.search__btn:hover { + color: #abb2bf; + background-color: #5c6370; } -#yumex_infobox .frame { - border-style: none; - border-left-style: solid; - border-left-width: 2px; - border-left-color: @primary; +/* Infobar */ +.info { + background-color: #282c34; + border: 3px solid #404859; + border-radius: 10px; + padding: 15px; + margin: 10px 50px 1440px 50px; + box-shadow: 0px 2px 5px 0px rgba(64, 72, 89, 0.75), 0 0 0 1440px rgba(40, 44, 52, 0.5); + transition: all 500ms ease-in-out; } -/* info type selector */ -#info_selector row { - color: @primary_lighter; - background: @bg_color; +.info__label { + color: #ffa348; } -#info_selector row:hover { - color: @text_color; +.info__sublabel { + color: #e66100; } -#info_selector row.activatable:selected { - color: @text_color; - background: @primary; - border-left-style: solid; - border-left-width: 4px; - border-left-color: @secondary; - border-radius: 2px; +.info__spinner { + color: #5c6370; + background-color: #323842; } -/* Views */ -.yumex_views treeview{ - background: @bg_color; - color: @text_color; +.info__progress > trough { + min-height: 6px; + background-color: #5c6370; } -/* Package category selector */ -#package_sidebar toolbar{ - background: @primary_dark; +.info__progress > trough > progress { + min-height: 8px; + background-color: #98c379; } -#package_sidebar button{ - color: @text_color; - background: @primary_dark; +/* Paned */ +.content__paned > separator { + background-color: #404859; } -#package_sidebar list{ - background: @bg_color; - color: @text_color; +/* Package filter selector */ +.pkgfilter { + background-color: #282c34; + padding-top: 10px; + border-right: 2px solid #404859; } -#package_sidebar row.activatable{ - padding-left: 10px; +.pkgfilter toolbar { + background-color: #323842; } -#package_sidebar row.activatable:selected { - color: @text_color; - background: @primary; - border: none; - border-left-style: solid; - border-left-width: 3px; - border-left-color: @secondary; - border-radius: 2px; - /*padding-left: 10px;*/ +.pkgfilter button { + color: #abb2bf; + background-color: #323842; +} +.pkgfilter__list { + background-color: #282c34; + color: #abb2bf; + margin-left: 10px; } -#package_sidebar row.activatable:hover { - color: @text_color; - background: @primary; +.pkgfilter__item { + padding-left: 0.5em; + transition: all 200ms ease-in; + color: #5c6370; + background-color: #282c34; + border-left: 5px solid #282c34; + border-radius: 5px 0 0 5px; } -/* Package View */ +.pkgfilter__item:selected { + color: #abb2bf; + background-color: #404859; + border-left-color: #98c379; +} -.yumex_views treeview:selected{ - background: @primary_light; - color: @text_color; +.pkgfilter__item:hover { + color: #abb2bf; } -.yumex_views treeview:hover{ - background: @primary; - color: @text_color; +/* content views (packages, group, history, queue) */ +.content__view treeview { + background-color: #282c34; + color: #abb2bf; } -/* Package View Column Headers */ -.yumex_views header button { - color: @text_color; - background: @primary_dark; - border: none; - border-bottom-color: @primary_lighter; - border-bottom-width: 1px; - border-bottom-style: solid; - border-left-color: @primary_lighter; - border-left-width: 1px; - border-left-style: dotted; +.content__view treeview:selected { + background-color: #5c6370; + color: #abb2bf; } -/* Package View Checkboxes */ -.yumex_views check { - background: @primary; - color: @secondary; +.content__view treeview:hover { + background-color: #404859; + color: #abb2bf; } -.yumex_views check:checked { - background: @primary_lighter; - color: @text_color; - border-width: 0px; +.content__view header button { + color: #abb2bf; + background-color: #323842; + border: none; + border-bottom: 1px solid #5c6370; } -#pkg_view { - border-style: none; - border-left-style: solid; - border-left-width: 2px; - border-left-color: @primary; +.content__view header button + button { + border-left: 1px dotted #5c6370; } -/* Search bar */ +/* Package Info Selector */ +.pkginfo__select { + background-color: #282c34; + border-right: 2px solid #404859; +} -/* Search Entry */ -#yumex_search entry.search{ - color: @other_search; - background: @bg_color; - border: none; - border: 1px solid @text_color; - border-radius: 5px; - font-weight: normal; - font-size: 120%; - caret-color: @other_search; /* cursor color */ - +.pkginfo__list { + background-color: #282c34; + margin-left: 5px; + margin-top: 5px; } -#yumex_search entry.search image{ - color: @other_search; - background: @bg_color; +.pkginfo__item { + color: #5c6370; + background-color: #282c34; + transition: all 200ms ease-in 100ms; + border-left: 4px solid #282c34; + border-radius: 2px 0 0 2px; + padding: 0px 5px 0px 5px; } -#yumex_search box{ - background: @primary_dark; - border: none; - outline-style: none; +.pkginfo__item:hover { + color: #abb2bf; } -#yumex_search button { - color: @text_color; - background: @primary; - border: none; - box-shadow: none; +.pkginfo__item:selected { + color: #abb2bf; + background-color: #404859; + border-left-color: #98c379; } -#yumex_search button:hover { - color: @text_color; - background: @primary_light; +.pkginfo__text text { + background-color: #282c34; } diff --git a/misc/themes/System-Dark.theme b/misc/themes/System-Dark.theme index 8ea1826..a4f750a 100644 --- a/misc/themes/System-Dark.theme +++ b/misc/themes/System-Dark.theme @@ -1,33 +1,40 @@ -/* -* Yum Extender styling (GTK3 CSS) -*/ +/*Package Type Colors */ +@define-color color_install #9FA8DA; +@define-color color_update #F48FB1; +@define-color color_downgrade #E6EE9C; +@define-color color_normal #FFCC80; +@define-color color_obsolete #A5D6A7; +.info { + background-color: @theme_bg_color; + border: 3px solid currentColor; + border-radius: 10px; + padding: 15px; + margin: 10px 50px 1440px 50px; + box-shadow: 0px 2px 5px 0px rgba(255, 255, 255, 0.75), 0 0 0 1440px rgba(0, 0, 0, 0.5); + transition: all 500ms ease-in-out; +} -/* Material Design Colors for light Background */ +/* Package filter selector */ +.pkgfilter { + padding-top: 10px; +} -@define-color Material_Red #EF9A9A; -@define-color Material_Pink #F48FB1; -@define-color Material_Purple #CE93D8; -@define-color Material_DeepPurple #B39DDB; -@define-color Material_Indigo #9FA8DA; -@define-color Material_Blue #90CAF9; -@define-color Material_LightBlue #81D4FA; -@define-color Material_Cyan #80DEEA; -@define-color Material_Teal #80CBC4; -@define-color Material_Green #A5D6A7; -@define-color Material_LightGreen #C5E1A5; -@define-color Material_Lime #E6EE9C; -@define-color Material_Yellow #FFF59D; -@define-color Material_Amber #FFE082; -@define-color Material_Orange #FFCC80; -@define-color Material_DeepOrange #FFAB91; -@define-color Material_Brown #BCAAA4; -@define-color Material_Grey #EEEEEE; -@define-color Material_BlueGrey #B0BEC5; +.pkgfilter .pkgfilter__list { + margin-left: 10px; + margin-right: 10px; +} +.pkgfilter .pkgfilter__item { + padding-left: 0.5em; +} -/*Package Type Colors */ -@define-color color_install @Material_Indigo; -@define-color color_update @Material_Pink; -@define-color color_downgrade @Material_Lime; -@define-color color_normal @Material_Orange; -@define-color color_obsolete @Material_Green; +/* Package Info Selector */ +.pkginfo__list { + margin-left: 5px; + margin-right: 5px; + margin-top: 5px; +} + +.pkginfo__item { + padding: 0px 5px 0px 5px; +} diff --git a/misc/themes/System-Light.theme b/misc/themes/System-Light.theme index 68e082b..bd0f090 100644 --- a/misc/themes/System-Light.theme +++ b/misc/themes/System-Light.theme @@ -1,37 +1,40 @@ -/* -* Yum Extender styling (GTK3 CSS) -*/ - -/* Material Design Colors for light Background */ - -@define-color Material_Red #F44336; -@define-color Material_Pink #E91E63; -@define-color Material_Purple #9C27B0; -@define-color Material_DeepPurple #673AB7; -@define-color Material_Indigo #3F51B5; -@define-color Material_Blue #2196F3; -@define-color Material_LightBlue #03A9F4; -@define-color Material_Cyan #00BCD4; -@define-color Material_Teal #009688; -@define-color Material_Green #4CAF50; -@define-color Material_LightGreen #8BC34A; -@define-color Material_Lime #CDDC39; -@define-color Material_Yellow #FFEB3B; -@define-color Material_Amber #FFC107; -@define-color Material_Orange #FF9800; -@define-color Material_DeepOrange #FF5722; -@define-color Material_Brown #795548; -@define-color Material_Grey #9E9E9E; -@define-color Material_BlueGrey #607D8B; - - /*Package Type Colors */ -@define-color color_install @Material_Indigo; -@define-color color_update @Material_Pink; -@define-color color_downgrade @Material_Lime; -@define-color color_normal @Material_Orange; -@define-color color_obsolete @Material_Green; - - - - +@define-color color_install #3F51B5; +@define-color color_update #E91E63; +@define-color color_downgrade #CDDC39; +@define-color color_normal #FF9800; +@define-color color_obsolete #4CAF50; +.info { + background-color: @theme_bg_color; + border: 3px solid currentColor; + border-radius: 10px; + padding: 15px; + margin: 10px 50px 1440px 50px; + box-shadow: 0px 2px 5px 0px rgba(255, 255, 255, 0.75), 0 0 0 1440px rgba(0, 0, 0, 0.5); + transition: all 500ms ease-in-out; +} + +/* Package filter selector */ +.pkgfilter { + padding-top: 10px; +} + +.pkgfilter .pkgfilter__list { + margin-left: 10px; + margin-right: 10px; +} + +.pkgfilter .pkgfilter__item { + padding-left: 0.5em; +} + +/* Package Info Selector */ +.pkginfo__list { + margin-left: 5px; + margin-right: 5px; + margin-top: 5px; +} + +.pkginfo__item { + padding: 0px 5px 0px 5px; +} diff --git a/misc/yumex-dnf-local.desktop.in b/misc/yumex-dnf-local.desktop.in index 934a3ef..8e08e85 100644 --- a/misc/yumex-dnf-local.desktop.in +++ b/misc/yumex-dnf-local.desktop.in @@ -1,6 +1,6 @@ [Desktop Entry] -_Name=Yumex Package Installer -_Comment=Install local packages on system +Name=Yum Extender Package Installer +Comment=Install local packages on system Categories=System; Exec=/usr/bin/yumex-dnf --install %F Terminal=false diff --git a/misc/yumex-dnf.appdata.xml.in b/misc/yumex-dnf.appdata.xml.in index 4df292f..97d4bb9 100644 --- a/misc/yumex-dnf.appdata.xml.in +++ b/misc/yumex-dnf.appdata.xml.in @@ -1,28 +1,80 @@ - - - yumex-dnf.desktop - CC0 - Yum Extender (DNF) - <_summary>Graphical package manager - - <_p>Yum Extender is a graphical package management application. It allows you to search and browse for packages to install, - remove and update on your computer. - <_p>It is designed to give you full control over the packages on your computer and to be used by all users. - <_p>Features: -
    - <_li>Browse packages available for installation or update - <_li>Browse packages installed on your computer - <_li>Search packages by name, summary, description - <_li>Watch the history of package action on your system - <_li>Browse and install/remove package groups - <_li>Browse packages by size, repository - <_li>Control what package repositories are enabled for the current session -
-
- - http://yumex-dnf.readthedocs.org/en/latest/_images/updates.png - - https://github.com/timlau/yumex-dnf - timlau_at_fedoraproject.org -
+ + + yumex-dnf.desktop + CC0-1.0 + GPL-2.0+ + Yum Extender + <_summary>Graphical package manager + Tim Lauridsen + + + <_p> + Yum Extender is a graphical package management application. It allows you to search and browse for packages to install, + remove and update on your computer. + + <_p>It is designed to give you full control over the packages on your computer and to be used by all users. + <_p>Features: +
    + <_li>Browse packages available for installation or update + <_li>Browse packages installed on your computer + <_li>Search packages by name, summary, description + <_li>Watch the history of package action on your system + <_li>Browse and install/remove package groups + <_li>Browse packages by size, repository + <_li>Control what package repositories are enabled for the current session +
+
+ + + + https://github.com/timlau/yumex-dnf/raw/develop/gfx/screenshoots/yumex-screenshoot-01.png + + + https://github.com/timlau/yumex-dnf/raw/develop/gfx/screenshoots/yumex-screenshoot-02.png + + + https://github.com/timlau/yumex-dnf/raw/develop/gfx/screenshoots/yumex-screenshoot-03.png + + + https://github.com/timlau/yumex-dnf/raw/develop/gfx/screenshoots/yumex-screenshoot-04.png + + + yumex-dnf.desktop + https://github.com/timlau/yumex-dnf + https://github.com/timlau/yumex-dnf/issues + https://yumex-dnf.readthedocs.io/en/latest/ + + tla_at_rasmil.dk + + + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + none + +
+ diff --git a/misc/yumex-dnf.desktop.in b/misc/yumex-dnf.desktop.in index b371542..b4c45b2 100644 --- a/misc/yumex-dnf.desktop.in +++ b/misc/yumex-dnf.desktop.in @@ -1,10 +1,10 @@ [Desktop Entry] -_Name=Yum Extender (DNF) -_Comment=Install, update and remove applications +Name=Yum Extender +Comment=Install, update and remove applications Categories=System;Settings;X-Red-Hat-Base;X-Fedora; Icon=yumex-dnf Exec=/usr/bin/yumex-dnf Type=Application Terminal=false Encoding=UTF-8 -_GenericName=Software Installer +GenericName=Software Installer diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..fa94177 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,36 @@ +ar +bg +bn_IN +ca +cmn +cs +da +de +el +en_BR +es_ES +es +fa +fr +gu +he_IL +hu +id +it +ja +ko +ky +nl +pl +pt_BR +pt +ru +ru_RU +sk +sr@latin +sr +sv +tr_TR +uk +zh_CN +zh_TW diff --git a/po/Makefile b/po/Makefile deleted file mode 100644 index 342d7b7..0000000 --- a/po/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -INSTALL= /usr/bin/install -c -INSTALL_PROGRAM= ${INSTALL} -INSTALL_DATA= ${INSTALL} -m 644 -INSTALLNLSDIR=$(DESTDIR)/usr/share/locale -top_srcdir = "." - - -MSGMERGE = intltool-update -x --gettext-package=$(NLSPACKAGE) --dist - -NLSPACKAGE = yumex-dnf - -CATALOGS = $(shell ls *.po) -FMTCATALOGS = $(patsubst %.po,%.mo,$(CATALOGS)) - -PYFILES = $(wildcard ../src/*.py) $(wildcard ../src/yumex*/*.py) $(wildcard ../src/yumex/*/*.py) $(wildcard ../dbus/*.py) -GLADEFILES = $(wildcard ../src/*.ui) -OTHERFILES = $(wildcard ../misc/*.desktop.in) $(wildcard ../misc/*.xml.in) -POTFILES = $(PYFILES) $(OTHERFILES) - -all: $(NLSPACKAGE).pot $(FMTCATALOGS) - -POTFILES.in: - for file in $(POTFILES); do \ - echo "$${file#../}" ; \ - done > $@ - for file in $(GLADEFILES); do \ - echo "[type: gettext/glade]$${file#../}" ; \ - done >> $@ - - -$(NLSPACKAGE).pot: $(POTFILES) POTFILES.in - intltool-update --gettext-package=$(NLSPACKAGE) --pot - -update-po: Makefile $(NLSPACKAGE).pot refresh-po - -refresh-po: Makefile POTFILES.in - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - lang=`basename $$cat .po`; \ - cp $$lang.po $$lang.old.po; \ - if $(MSGMERGE) $$lang ; then \ - rm -f $$lang.old.po ; \ - echo "$(MSGMERGE) of $$lang succeeded" ; \ - else \ - echo "$(MSGMERGE) of $$lang failed" ; \ - mv $$lang.old.po $$lang.po ; \ - fi \ - done - -report: - @for cat in *.po ; do \ - echo -n "$$cat: "; \ - msgfmt --statistics -o /dev/null $$cat; \ - done - -clean: - @rm -fv *mo *~ .depend *.autosave - -distclean: clean - rm -f *mo .depend $(NLSPACKAGE).pot POTFILES.in - -depend: - -install: all - mkdir -p $(PREFIX)/$(INSTALLNLSDIR) - for n in $(CATALOGS); do \ - l=`basename $$n .po`; \ - mo=$$l.mo; \ - if [ ! -f $$mo ]; then continue; fi; \ - $(INSTALL) -m 755 -d $(PREFIX)/$(INSTALLNLSDIR)/$$l; \ - $(INSTALL) -m 755 -d $(PREFIX)/$(INSTALLNLSDIR)/$$l/LC_MESSAGES; \ - $(INSTALL) -m 644 $$mo \ - $(PREFIX)/$(INSTALLNLSDIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \ - done - -%.mo: %.po - msgfmt -o $@ $< diff --git a/po/POTFILES.in b/po/POTFILES.in index acd5c87..a4ddee6 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,17 +1,44 @@ -src/update.py src/main.py -src/yumex/config.py +src/update.py src/yumex/__init__.py -src/yumex/backend.py -src/yumex/dnf_backend.py -src/yumex/misc.py -src/yumex/const.py -src/yumex/updater.py -src/yumex/gui/views.py +src/yumex/backend/dnf.py +src/yumex/backend/__init__.py +src/yumex/base/__init__.py +src/yumex/common/config.py +src/yumex/common/const.py +src/yumex/common/__init__.py src/yumex/gui/__init__.py -src/yumex/gui/dialogs.py -src/yumex/gui/widgets.py -misc/yumex-dnf-local.desktop.in +src/yumex/updater/__init__.py +src/yumex/gui/dialogs/aboutdialog.py +src/yumex/gui/dialogs/errordialog.py +src/yumex/gui/dialogs/__init__.py +src/yumex/gui/dialogs/preferences.py +src/yumex/gui/dialogs/progresssplash.py +src/yumex/gui/dialogs/transactionresult.py +src/yumex/gui/views/groupview.py +src/yumex/gui/views/historypackageview.py +src/yumex/gui/views/historyview.py +src/yumex/gui/views/__init__.py +src/yumex/gui/views/packagequeue.py +src/yumex/gui/views/packageview.py +src/yumex/gui/views/queueview.py +src/yumex/gui/views/repoview.py +src/yumex/gui/views/selectionview.py +src/yumex/gui/widgets/content.py +src/yumex/gui/widgets/filters.py +src/yumex/gui/widgets/__init__.py +src/yumex/gui/widgets/mainnenu.py +src/yumex/gui/widgets/packageinfo.py +src/yumex/gui/widgets/progress.py +src/yumex/gui/widgets/searchbar.py +src/yumex/gui/window/basewindow.py +src/yumex/gui/window/__init__.py misc/yumex-dnf.desktop.in +misc/yumex-dnf-local.desktop.in misc/yumex-dnf.appdata.xml.in -[type: gettext/glade]src/yumex.ui +[type: gettext/glade]data/ui/errordialog.ui +[type: gettext/glade]data/ui/preferences.ui +[type: gettext/glade]data/ui/progresssplash.ui +[type: gettext/glade]data/ui/shortcuts.ui +[type: gettext/glade]data/ui/transactionresult.ui +[type: gettext/glade]data/ui/yumex.ui diff --git a/po/ar.po b/po/ar.po index 0dfa687..ab9420f 100644 --- a/po/ar.po +++ b/po/ar.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-23 19:38+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Mosaab Alzoubi , 2013-2014\n" "Language-Team: Arabic (http://www.transifex.com/timlau/yumex/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,841 +20,1059 @@ msgstr "" "Language: ar\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" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "تحديث بيانات المستودع" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "تعذّر تحديث ذاكرة دنف الخبيئة (الجذر)" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 -msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "تنزيل الحزم" -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "البحث عن الاعتماديات" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "حلّلت الاعتماديات" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "تطبيق التّغييرات على النّظام" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "أخطاء التّنزيل\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "أخطاء البحث عن الاعتماديات" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "إعداد النّظام لتطبيق التّغييرات" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "لا توجد أحداث بالطّابور" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "إضافة حزم لعرضها" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "تحديث بيانات المستودع" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "تعذّر تحديث ذاكرة دنف الخبيئة (الجذر)" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "تنزيل الحزم" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "يجري جلب الحزم المثبّتة" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "يجري جلب الحزم المتوفرة" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "يجري جلب التحديثات المتوفّرة" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "يجري جلب جميع الحزم" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "الحزم المحدّثة" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "الحزم المرجَعة" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "الحزم المنتهية" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "الحزم المنتهية" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "الحزم الممسوحة" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "الحزم المثبتّة" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "مثبّتة كاعتماديّات" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "الحزم المُعاد تثبيتها" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "يجري تثبيت" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "تحديث" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "إزالة" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "إرجاع" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "استبدال" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "تم تطبيق التّغييرات بنجاح على النّظام" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "الاسم" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "المعمارية" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "الإصدار" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "المُستودع" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "الحجم" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "الحزم التّاريخية" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "التاريخ (اليوم/الوقت)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "انقر لتثبيت أو إزالة الكل" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "الحزمة" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "الإصدار" +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "المعمارية" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "انقر لترشيح المعماريات" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "الخلاصة" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "المستودع" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "الحجم" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "الحزم" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "إرجاع إلى %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "التاريخ (اليوم/الوقت)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "الحزم التّاريخية" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "المُستودع" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "اسم الملف" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "انقر هنا للتّحويل بين اختيار\nالكل/الافتراضي/لا شيء" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "الاسم" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "التّفضيلات" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "المعمارية" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "الإصدار" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "الإطلاق" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "النوع" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "أُصدر في" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "الوصف" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "البحث عن الاعتماديات" + +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "حلّلت الاعتماديات" + +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "التّفضيلات" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "مثبّت الحزم يمكس" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "ثبّت حزمًا محليّة على نظامك" +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "إعداد النّظام لتطبيق التّغييرات" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "لا توجد أحداث بالطّابور" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "إضافة حزم لعرضها" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "تثبيت و تحديث و إزالة التّطبيقات" +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "مثبّت البرمجيّات" +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "مدير حزم رسومي" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "صُمّم ليمنحك الإدارة الكاملة للحزم على حاسبك و هو قابل للاستعمال بواسطة جميع المستخدمين." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "المزايا:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "استعرض الحزم المتوفرة للتّثبيت أو التّحديث" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "استعرض الحزم المثبّتة على حاسبك" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "ابحث عن الحزم بواسطة الاسم، الخلاصة، الوصف" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "راقب تاريخ نشاط الحزمة على نظامك" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "استعرض و ثبّت/أزل مجموعات الحزم" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "تحكّم بمستودعات الحزم الفاعلة لهذه الجلسة" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "تثبيت و تحديث و إزالة التّطبيقات" -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "مثبّت البرمجيّات" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "الافتراضي: أظهر الأحدث فقط" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "ثبّت حزمًا محليّة على نظامك" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "غيّر أسلوب إغلاق النّافذة الرّئيسية، حيث بإمكانك إخفاء\nالنّافذة فقط عند نقر زر الإغلاق" - -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "تصغير النّافذة فقط عند الإغلاق" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "مهلة صلاحية الذّاكرة الخبيئة (بالسّاعات)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "الإعدادات" +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "الفاصل الزّمني للتحقّق من التّحديثات ( بالدّقائق )" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "لون الحزم المثبّتة" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "لون التّحديثات المُتاحة" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "لون الحزم المُتاحة" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "لون الحزم المُنتهية" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "لون الإرجاعات المُتاحة" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "متقدم" +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "المستودعات" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "تسمية" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "نشاطات الحزمة المعدّة للأداء" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "الحجم:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "التّحديثات" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "المثبّت" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "المُتاح" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "الكل" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "المجموعات" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "التأريخ" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "نشاطات بالانتظار" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "البادئة" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "الكلمة المفتاحية" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "الحقول" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "الوصف" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "نشاطات الحزمة المعدّة للأداء" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "الحجم:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "" diff --git a/po/bg.po b/po/bg.po index d901128..404f84e 100644 --- a/po/bg.po +++ b/po/bg.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Valentin Laskov , 2014-2015\n" "Language-Team: Bulgarian (http://www.transifex.com/timlau/yumex/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,841 +18,995 @@ msgstr "" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "Опресняване метаданните на хранилище" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "Не можах да опресня DNF кеша (root)" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 -msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Сваляне на пакети" -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Търсене на зависимости" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "Зависимостите са удовлетворени" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "Прилагане на промените в системата" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Грешка при проверка сигнатурите на пакетите\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Грешка(и) при сваляне\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "Инсталирам пакет: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Премахвам пакет: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Проверка на промените в системата" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Обновяване на всички налични обновления" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Грешка(и) в търсенето на зависимости" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "Подготвяне на системата за прилагане на промените" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "Не мога да премахна защитен пакет(и)" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "Няма чакащи действия в опашката" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Добавяне пакети към изгледа" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "Опресняване метаданните на хранилище" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "Не можах да опресня DNF кеша (root)" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Сваляне на пакети" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Проверка на промените в системата" - -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Взимам инсталираните пакети" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Взимам наличните пакети" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Взимам наличните обновления" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Взимам всички пакети" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Обновени пакети" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Пакети, върнати към предишна версия" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Излизащи от употреба пакети" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Излезли от употреба пакети" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Изтрити пакети" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Инсталирани пакети" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "Инсталирани поради зависимости" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Преинсталирани пакети" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Инсталиране" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Обновяване" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Премахване" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Връщане към предна версия" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Заместване" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "Обновяване: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "Инсталиране: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Почистване: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Премахване: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Излишен: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Към предишна версия: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Проверяване: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Отстраняване на грешка" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Нов пакет" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Сигурност" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Подобрение" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "Промените бяха успешно приложени в системата" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Грешка при стартиране иконата за уведомления" - -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Име" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Арх" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Вер" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Хранилище" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Обем" + +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "Пакети в историята" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "История (Дата/Час)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Цъкнете, за да инсталирате/премахнете всички" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Цъкнете, за да маркирате/размаркирате всички" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Пакет" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Вер." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Арх." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "цъкнете за филтър по арх." - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Обобщение" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Хран." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Обем" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Преинсталиране на пакет" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Връщане към предна версия на пакет" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Пакети" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Връщане към %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "История (Дата/Час)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "Пакети в историята" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Хранилище" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Име на файл" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "Цъкането тук превключва\nникое/всички/по подразбиране избрани" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Име" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Предпочитания" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Арх" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Вер" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Издание" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Тип" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "Издаден" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Описание" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Търсене на зависимости" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Зависимостите са удовлетворени" + +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Грешка при проверка сигнатурите на пакетите\n" + +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Инсталирам пакет: %s" + +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Премахвам пакет: %s" + +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Обновяване на всички налични обновления" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Предпочитания" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Подготвяне на системата за прилагане на промените" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Няма чакащи действия в опашката" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Добавяне пакети към изгледа" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Инсталатор на пакети Yumex" +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Инсталиране локални пакети на системата" +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Инсталира, обновява и премахва приложения" +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Инсталатор на софтуер" +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Графичен мениджър на пакети" +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "То е създадено, за да Ви предостави пълен контрол над пакетите в компютъра Ви и да може да се ползва от всички потребители." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Функционалности:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "Разглеждане на пакети, налични за инсталиране или обновление" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "Разглеждане на пакетите, инсталирани на компютъра Ви" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "Търсене на пакети по име, обобщение, описание" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "Да проследите историята на случилото се с пакетите в системата Ви" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "Да разглеждате и инсталирате или премахвате групи пакети" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "Да контролирате кои хранилища за пакети да са разрешени за текущата сесия" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Инсталира, обновява и премахва приложения" -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Инсталатор на софтуер" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "По подразбиране: Показва само най-новите" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Инсталиране локални пакети на системата" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "Променя действието затваряне за главния прозорец, така че\nтой само се скрива при натискане бутона за затваряне" - -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "Затварянето само минимизира прозореца" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Настройки" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "Интервал (минути) на проверки за обновления" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Цвят за инсталираните пакети" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Цвят за наличните обновления" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Цвят за наличните пакети" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Цвят за излезлите от употреба пакети" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "Цвят за наличните предишни версии" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" + +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Допълнителни" +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Хранилища" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "етикет" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Обновления" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Инсталирани" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Налични" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Всички" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Групи" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "История" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Предстоящи действия" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Описание на пакета" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Списък файлове в пакета" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Описание" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/bn_IN.po b/po/bn_IN.po index 1a7996b..6c1dee3 100644 --- a/po/bn_IN.po +++ b/po/bn_IN.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Bengali (India) (http://www.transifex.com/timlau/yumex/language/bn_IN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,995 @@ msgstr "" "Language: bn_IN\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/ca.po b/po/ca.po index 5cfe6eb..36a6f6f 100644 --- a/po/ca.po +++ b/po/ca.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Robert Antoni Buj Gelonch , 2015-2016 +# Davidmp , 2021 +# Robert Antoni Buj i Gelonch , 2015-2016 msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-22 18:09+0000\n" -"Last-Translator: Robert Antoni Buj Gelonch \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Davidmp , 2021\n" "Language-Team: Catalan (http://www.transifex.com/timlau/yumex/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,841 +19,995 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "La versió de l'API dnfdaemon: {self.running_api_version}\nno coincideix amb\nla versió de l'API necessària: {const.NEEDED_DAEMON_API}" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Baixada dels paquets" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Comprovació de les signatures dels paquets" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "Aplicació dels canvis al sistema" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Verifica els canvis al sistema" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "Es baixa %d fitxer (%sB)..." +msgstr[1] "Es baixen %d fitxers (%sB)..." + +#: ../src/yumex/base/__init__.py:87 msgid "Refreshing Repository Metadata" msgstr "Refrescament de les metadades del dipòsit" -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 +#: ../src/yumex/base/__init__.py:93 msgid "Could not refresh the DNF cache (root)" msgstr "No s'ha pogut refrescar la memòria cau de DNF (root)" -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/base/__init__.py:117 msgid "" "DNF root backend was not authorized.\n" "Yum Extender will exit" msgstr "El programari específic de root per a DNF, no va ser autoritzat.\n«Yum Extender» es tancarà" -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/base/__init__.py:123 msgid "" "DNF is locked by another process.\n" "\n" "Yum Extender will exit" msgstr "DNF està bloquejat per un altre procés\n\n«Yum Extender» es tancarà" -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "Recàrrega de la informació del paquet..." - -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Cerca per si hi ha dependències" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "S'han resolt les dependències" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 -msgid "Applying changes to the system" -msgstr "Aplicació dels canvis al sistema" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Error en la comprovació de les signatures dels paquets\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Errors en la baixada\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "Error en la transacció\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "S'instal·la el paquet: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "%s es va instal·lar correctament" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Se suprimeix el paquet: %s" - -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "%s es va suprimir correctament" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Actualització de totes les actualitzacions disponibles" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "Les actualitzacions disponibles es van instal·lar correctament" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Errors en la cerca de dependències" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "Preparació del sistema per a l'aplicació dels canvis" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "No es poden suprimir els paquets protegits" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "No hi ha accions pendents a la cua" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "Errors en la construcció de la transacció" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Afegiment dels paquets a la vista" - -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "Error en desfer la transacció de l'historial" - -#: ../src/yumex/dnf_backend.py:181 -#, python-format -msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "versió de l'API de dnfdaemon: %d\nno coincideix amb la\nversió necessària de l'API: %d" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Baixada dels paquets" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "Comprovació de les signatures dels paquets" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Verifica els canvis al sistema" - -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "S'estan baixant %d fitxers (%sB)..." - -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Obtenció dels paquets instal·lats" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Obtenció dels paquets disponibles" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Obtenció de les actualitzacions disponibles" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Obtenció de tots els paquets" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Paquets actualitzats" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Paquets revertits" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Devaluació dels paquets" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Paquets devaluats" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Paquets esborrats" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "Paquets suprimits" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Paquets instal·lats" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "S'ha instal·lat per les dependències" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Paquets reinstal·lats" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Instal·lació" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Actualització" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Supressió" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Reversió" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Substitució" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "Dependències dèbils" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "S'actualitza: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "Actualitzat: %s" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "S'instal·la: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "Es reinstal·la: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Es neteja: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Se suprimeix: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Es devalua: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Es reverteix: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Es verifica: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "S'executa l'scriptlet per a %s" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Correcció d'errors" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Nou paquet" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Seguretat" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Millora" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "Els canvis s'han aplicat amb èxit al sistema" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "\n\n«Yum Extender» es tancarà" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr " Voleu importar aquesta clau GPG necessària\n per verificar el paquet %s?\n\n Clau : 0x%s:\n IdUsuari : \"%s\"\n De : %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Error en iniciar la icona de notificació" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "S'obté la informació del repositori" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "«Yum Extender» es tancarà" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Nom" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "Error en bloquejar la icona de notificació" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Arquitectura" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "Ara no" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Ver." -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "Mostra les actualitzacions" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Dipòsit" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "Noves actualitzacions" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Mida" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "%s actualitzacions disponibles" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "se substitueix {n}" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "Paquets de l'historial" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Historial (data/hora)" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Feu clic per instal·lar-ho o suprimir-ho tot" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Feu clic per seleccionar-ho o deseleccionar-ho tot" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Paquet" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "Versió" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Arq." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "feu clic per filtrar les arquitectures" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Resum" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Dip." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Mida" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Reinstal·la el paquet" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Reverteix el paquet" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Paquets" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "Paquet per actualitzar" +msgstr[1] "Paquets per actualitzar" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "Paquet per instal·lar" +msgstr[1] "Paquets per instal·lar" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "Paquet per suprimir" +msgstr[1] "Paquets per suprimir" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "Paquet per reinstal·lar" +msgstr[1] "Paquets per reinstal·lar" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "Fitxer RPM per instal·lar" +msgstr[1] "Fitxers RPM per instal·lar" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "Grup per instal·lar" +msgstr[1] "Grups per instal·lar" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "Grup per suprimir" +msgstr[1] "Grups per suprimir" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "Paquet per degradar" +msgstr[1] "Paquets per degradar" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Reverteix a %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "Historial (data/hora)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "Paquets de l'historial" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Dipòsit" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Nom de fitxer" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "Feu clic aquí per seleccionar entre\n cap/tot/predeterminat" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Nom" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Preferències" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Arquitectura" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "Refresca les metadades" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Ver." +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Surt" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "se substitueix {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "Menú principal" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr " Voleu importar aquesta clau GPG necessària\n per verificar el paquet %s?\n\n Clau : 0x%s:\n IdUsuari : \"%s\"\n De : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "Quant a" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "Obtenció de les metadades del paquet" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "Dreceres del teclat" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Documentació" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Ajuda" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "Etiquetes: %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "Enllaços:" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "No hi ha disponible cap informació de l'actualització" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nActualitzacions de Fedora:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Llançament" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Tipus" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "emès" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Descripció" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "No hi ha disponible cap informació del registre de canvis" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\nRegistre de canvis en línia:" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "No hi ha disponible cap informació del llistat dels fitxers" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "Únicament les versions més noves" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Obtenció de les metadades del paquet" + +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "Es baixen les dades del repositori" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "Esborra els requeriments no utilitzats" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Recàrrega de la informació del paquet..." -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " -msgstr "Neteja els paquets antics «instonly»" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Cerca per si hi ha dependències" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "Opcions" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "S'han resolt les dependències" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "Quant a" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Error en la comprovació de les signatures dels paquets\n" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "Documentació" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "Error de baixada\n" +msgstr[1] "Errors de baixada\n" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "Ajuda" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "Error a la transacció\n" +msgstr[1] "Errors a la transacció\n" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Preferències" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "S'instal·la el paquet: %s" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "Surt" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%s es va instal·lar correctament" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Instal·lador de paquets Yumex" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Se suprimeix el paquet: %s" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Instal·la els paquets locals al sistema" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s es va suprimir correctament" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Actualització de totes les actualitzacions disponibles" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Instal·leu, actualitzeu i suprimiu les aplicacions" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Les actualitzacions disponibles es van instal·lar correctament" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Instal·lador de programari" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "Error a la cerca de dependències" +msgstr[1] "Errors a la cerca de dependències" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Preparació del sistema per a l'aplicació dels canvis" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Gestor gràfic de paquets" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "No es pot suprimir el paquet protegit:" +msgstr[1] "No es poden suprimir els paquets protegits:" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "No hi ha accions pendents a la cua" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "Error en construir la transacció\n" +msgstr[1] "Errors en construir la transacció\n" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "Error en cercar dependències\n" +msgstr[1] "Errors en cercar dependències\n" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Afegiment dels paquets a la vista" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Error en desfer la transacció de l'historial" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Ara no" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Mostra les actualitzacions" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Noves actualitzacions" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "%d actualització disponible " +msgstr[1] "%d actualitzacions disponibles" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "Yum Extender" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "Tim Lauridsen" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "«Yum Extender» és una aplicació gràfica de gestió de paquets. Us permet buscar i navegar pels paquets per instal·lar-los, suprimir-los i actualitzar-los al vostre ordinador." -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "Està dissenyat per donar-vos el control total sobre els paquets a l'ordinador i per ser utilitzat per tots els usuaris." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Característiques:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "Navega pels paquets disponibles per instal·lar o actualitzar" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "Navega pels paquets instal·lats al vostre ordinador" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "Cerca paquets per nom, resum i descripció" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "Observa l'historial d'accions de paquet al vostre sistema" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "Navega i instal·la/suprimeix els grups de paquets" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "Navega pels paquets segons la mida, dipòsit" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "Controla quins dipòsits de paquets estan habilitats per a la sessió en curs" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "D'acord" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "Cancel·la" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Instal·leu, actualitzeu i suprimiu les aplicacions" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "Mostra únicament les versions més noves,\nestà habilitat quan s'inicia «Yum Extender».\nMostrarà únicament les versions més noves\ndels paquets disponibles" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Instal·lador de programari" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "Per defecte: Mostra únicament les versions més noves" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "Instal·lador de paquets Yum Extender" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "L'opció per esborrar els paquets no utilitzats\nestà habilitada quan s'inicia «Yum Extender»" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Instal·la els paquets locals al sistema" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "Per defecte: Esborra els requeriments no utilitzats" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "Errors" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "Canvieu l'acció de tancament de la finestra principal, de manera\nque només amagui la finestra quan es faci clic al botó «Tanca»" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "Tema" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "«Tanca» únicament minimitza la finestra" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "Usa el tema fosc" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "Utilitza la barra d'eines en la capçalera de la\nfinestra estàndard quan s'utilitzi GNOME" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "Mostra la barra d'eines a la barra de capçalera de la finestra" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "Selecciona totes les actualitzacions disponibles\nquan s'inicia «Yum Extender»" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "Selecciona les actualitzacions al començament" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "L'interval en hores, en què expirarà i s'actualitzarà la memòria cau de DN (0 = inhabilitat)" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "Interval d'expiració de la memòria cau (hores)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "12" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "Per defecte: Neteja els paquets antics «installonly»" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Selecciona totes les actualitzacions disponibles\nquan s'inicia «Yum Extender»" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" -msgstr "Nombre de paquets «installonly» a mantenir" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Selecciona les actualitzacions al començament" -#: ../src/yumex.ui.h:26 -msgid "3" -msgstr "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "Cerca els visibles per defecte" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "Mostra la pantalla de progrés en una tasca de llarga durada." -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Ajusts" +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "IU" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "Inicia automàticament el comprovador de «Yum Extender» a l'inici de sessió de l'usuari" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "Inicia el comprovador d'actualitzacions a l'inici de sessió de l'usuari" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "Amb quina freqüència s'ha d'executar el comprovador" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "Interval de comprovació d'actualitzacions (minuts)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "Comprovador d'actualitzacions" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Color per als paquets instal·lats" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "Mostra únicament les versions més noves,\nestà habilitat quan s'inicia «Yum Extender».\nMostrarà únicament les versions més noves\ndels paquets disponibles" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "Mostra només els més nous" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Color per a les actualitzacions disponibles" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "L'opció per esborrar els paquets no utilitzats\nestà habilitada quan s'inicia «Yum Extender»" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Color per als paquets disponibles" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "Esborra els requeriments no usats" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Color per als paquets devaluats" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "Neteja els paquets antics de només instal·lació" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "Color per a les reversions disponibles" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Nombre de paquets «installonly» a mantenir" + +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Avançat" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "Opcions de DNF" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "Dipòsits utilitzats en la sessió actual" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "Deseu els dipòsits seleccionats actualment\ni es podran utilitzar un altre cop que\ninicieu «Yum Extender»" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "Desa els dipòsits seleccionats" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Dipòsits" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "etiqueta" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "Treballant..." -#: ../src/yumex.ui.h:46 -msgid "Show available updates" -msgstr "Mostra les actualitzacions disponibles" +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "Pàgines" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "Ves a la pàgina de paquets" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "Vés a la pàgina del grup" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "Ves a la pàgina de l'historial" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "Ves a la pàgina de la cua" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "Filtres" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "Mostra les actualitzacions" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "Mostra els paquets instal·lats" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "Mostra els paquets disponibles" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "Mostra-ho tot" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "Mostra la informació" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "descripció del paquet" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "informació de l'actualització del paquet" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "fitxers del paquet" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "requeriments del paquet" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "Mostra el paquet" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "Selecciona tots els paquets que es mostren" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "Altres" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "Aplica les accions pendents" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "Filtra les opcions" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "Canvia la barra de cerca" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "Obre les preferències" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "Obre la documentació" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Accions de paquets a realitzar" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Mida:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "Més opcions de filtratge" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "Mostra les actualitzacions disponibles (Ctrl+1)" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Actualitzacions" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "Mostra els paquets instal·lats" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "Mostra els paquets instal·lats (Ctrl+2)" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Instal·lat" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "Mostra els paquets disponibles" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "Mostra els paquets disponibles (Ctrl+3)" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Disponible" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "Mostra tots els paquets" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "Mostra tots els paquets (Ctrl+4)" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Tot" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Grups" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "Desfés" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "Historial" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Accions pendents" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "Cua" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Descripció del paquet" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "Informació de l'actualització del paquet" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Llista dels fitxers del paquet" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "Requeriments del paquet" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "Cerca (mostra/oculta)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "Versions de paquets" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "Aplica les accions pendents" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "Arquitectures" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "Només els més nous" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "Mostra només les darreres versions dels paquets" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "Prefix" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "El nom dels paquets que comencen amb la clau de cerca" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "Teclat" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "El nom dels paquets que contenen la clau de cerca" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Camps" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "Els caps especificats del paquet que contenen les claus de la cerca." -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "Nom del paquet" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "Resum del paquet" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Descripció" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "Descripció del paquet" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "Accions de paquets a realitzar" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "Suprimeix els seleccionats" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "Mida:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Cerca (mostra/oculta)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Aplica les accions pendents" diff --git a/po/cmn.po b/po/cmn.po index 1931d35..7b6f23f 100644 --- a/po/cmn.po +++ b/po/cmn.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Chinese (Mandarin) (http://www.transifex.com/timlau/yumex/language/cmn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,979 @@ msgstr "" "Language: cmn\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 -#, python-format -msgid "Downgrade to %s " -msgstr "" +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:167 +#, python-format +msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/cs.po b/po/cs.po index de5a16e..bf942f2 100644 --- a/po/cs.po +++ b/po/cs.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Czech (http://www.transifex.com/timlau/yumex/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,1027 @@ msgstr "" "Language: cs\n" "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/da.po b/po/da.po index 7deb4af..fd6ae15 100644 --- a/po/da.po +++ b/po/da.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Tim Lauridsen , 2014\n" "Language-Team: Danish (http://www.transifex.com/timlau/yumex/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,841 +18,995 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/de.po b/po/de.po index f794ec5..ea5bc6b 100644 --- a/po/de.po +++ b/po/de.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Mario Blättermann \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Mario Blättermann , 2014-2016\n" "Language-Team: German (http://www.transifex.com/timlau/yumex/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,841 +19,995 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Pakete werden heruntergeladen" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Überprüfung der Paketsignaturen" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "Änderungen werden auf das System angewendet" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Überprüfung der Änderungen am System" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/base/__init__.py:87 msgid "Refreshing Repository Metadata" msgstr "Paketquellen-Metadaten werden aktualisiert" -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 +#: ../src/yumex/base/__init__.py:93 msgid "Could not refresh the DNF cache (root)" msgstr "Dnf-Zwischenspeicher konnte nicht aktualisiert werden (Root)" -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/base/__init__.py:117 msgid "" "DNF root backend was not authorized.\n" "Yum Extender will exit" msgstr "Das Root-Backend von Dnf wurde nicht autorisiert.\nYum Extender wird beendet." -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/base/__init__.py:123 msgid "" "DNF is locked by another process.\n" "\n" "Yum Extender will exit" msgstr "DNF wird von einem anderen Prozess gesperrt.\n\nYum Extender wird beendet." -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "Paketinformationen werden neu geladen …" - -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Nach Abhängigkeiten wird gesucht" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "Abhängigkeiten sind aufgelöst" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 -msgid "Applying changes to the system" -msgstr "Änderungen werden auf das System angewendet" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Fehler beim Überprüfen der Paketsignaturen\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Fehler beim Herunterladen\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "Fehler in der Transaktion\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "Installiere Paket %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "%s wurde erfolgreich installiert" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Entferne Paket %s" - -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "%s wurde erfolgreich entfernt" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Alle verfügbaren Aktualisierungen werden verarbeitet" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "Verfügbare Aktualisierungen wurden erfolgreich angewendet" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Fehler bei der Abhängigkeitssuche" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "System wird für die Anwendung der Änderungen vorbereitet" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "Geschützte Pakete dürfen nicht entfernt werden" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "Keine ausstehenden Aktionen in der Warteschlange" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "Fehler beim Zusammenstellen der Transaktion" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Pakete werden zur Ansicht hinzugefügt" - -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "Fehler beim Zurücknehmen der Chronik-Transaktion" - -#: ../src/yumex/dnf_backend.py:181 -#, python-format -msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "dnfdaemon API-Version : %d\nentspricht nicht der\nbenötigten API-Version : %d" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Pakete werden heruntergeladen" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "Überprüfung der Paketsignaturen" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Überprüfung der Änderungen am System" - -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "%d Dateien werden heruntergeladen (%sB) …" - -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Installierte Pakete werden geholt" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Verfügbare Pakete werden geholt" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Verfügbare Aktualisierungen werden geholt" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Alle Pakete werden geholt" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Aktualisierte Pakete" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Herabgestufte Pakete" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Pakete werden als veraltet markiert" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Als veraltet markierte Pakete" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Entfernte Pakete" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Installierte Pakete" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "Als Abhängigkeiten installiert" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Erneut installierte Pakete" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Installieren" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Aktualisieren" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Entfernen" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Wird herabgestuft" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Ersetzt" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "Aktualisiere %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "Installiere %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "Wird erneut installiert: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Räume %s auf" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Entferne %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Als veraltet markieren: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Stufe %s herab" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Überprüfe %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Fehlerkorrektur" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Neues Paket" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Sicherheitslücke(n) geschlossen" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Neue Funktionen hinzugefügt" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "Änderungen wurden erfolgreich angewendet" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "\n\nYum Extender wird geschlossen" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "Möchten Sie diesen GPG-Schlüssel\nimportieren, mit dem das Paket\n%s signiert ist?\n\nSchlüssel : 0x%s:\nBenutzer : \"%s\"\nVon : %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Fehler beim Starten des Symbols in der Statusleiste" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "Yum Extender wird geschlossen" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Name" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "Fehler beim Sperren des Benachrichtigungssymbols" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Arch" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "Nicht jetzt" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Version" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "Aktualisierungen anzeigen" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Paketquelle" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "Neue Aktualisierungen" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Größe" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "%s verfügbare Aktualisierungen" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "Paketchronik" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Chronik (Datum/Zeit)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Hier klicken, um alle zu installieren/zu entfernen" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Hier klicken, um alle auszuwählen oder die Auswahl aufzuheben" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Paket" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Version" +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Architektur" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "Klicken, um nach der Architektur zu filtern" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Zusammenfassung" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Paketquelle" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Größe" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Paket neu installieren" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Paket herabstufen" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Pakete" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Herabstufen auf %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "Chronik (Datum/Zeit)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "Paketchronik" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Paketquelle" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Dateiname" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "Hier klicken, um zwischen Auswahl\n keine/alle/Vorgabe zu wechseln" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Einstellungen" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Version" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Beenden" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr "Möchten Sie diesen GPG-Schlüssel\nimportieren, mit dem das Paket\n%s signiert ist?\n\nSchlüssel : 0x%s:\nBenutzer : \"%s\"\nVon : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "Info" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "Metadaten der Pakete holen" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Dokumentation" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Hilfe" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "Schlagwörter: %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "Links: " -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "Keine Information über Aktualisierungen des Paketes verfügbar" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nFedora-Aktualisierungen:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Version" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Typ" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "Veröffentlicht" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Beschreibung" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "Keine Informationen über die Aktualisierungen dieses Pakets verfügbar." -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\nOnline-Changelog:" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "Keine Liste der bereitgestellten Pakete vorhanden" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "Nur neueste" - -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "Nicht mehr benötigte Abhängigkeiten entfernen" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Metadaten der Pakete holen" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "Optionen" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Paketinformationen werden neu geladen …" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "Info" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Nach Abhängigkeiten wird gesucht" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "Dokumentation" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Abhängigkeiten sind aufgelöst" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "Hilfe" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Fehler beim Überprüfen der Paketsignaturen\n" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Einstellungen" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "Beenden" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Yumex Paketinstallation" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Installiere Paket %s" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Lokale Pakete auf Ihrem System installieren" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%s wurde erfolgreich installiert" + +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Entferne Paket %s" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s wurde erfolgreich entfernt" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Anwendungen installieren, aktualisieren und entfernen" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Alle verfügbaren Aktualisierungen werden verarbeitet" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Softwareinstallation" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Verfügbare Aktualisierungen wurden erfolgreich angewendet" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "System wird für die Anwendung der Änderungen vorbereitet" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Keine ausstehenden Aktionen in der Warteschlange" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Pakete werden zur Ansicht hinzugefügt" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Fehler beim Zurücknehmen der Chronik-Transaktion" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Nicht jetzt" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Aktualisierungen anzeigen" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Neue Aktualisierungen" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Grafische Paketverwaltung" +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "Yum Extender ist ein graphischer Paketmanager. Mit dieser Softwareverwaltung kann man nach Paketen suchen, sie auf dem Rechner installieren, entfernen oder aktualisieren." -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "Es wurde daraufhin entworfen, die volle Kontrolle über alle Pakete auf Ihrem Rechner zu behalten und von allen Benutzern ausgeführt zu werden." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Funktionsmerkmale:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "Verfügbare Pakete zur Installation oder Aktualisierung durchsuchen" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "Auf Ihrem Rechner installierte Pakete durchsuchen" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "Pakete nach Name, Zusammenfassung oder Beschreibung durchsuchen" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "Die Chronik der Paketverwaltungsaktionen auf Ihrem System betrachten" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "Paketgruppen durchsuchen und installieren oder entfernen" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "Pakete nach Größe und Paketquelle durchsuchen" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "Festlegen, welche Paketquellen für die aktuelle Sitzung aktiviert werden sollen" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "Anwenden" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "Änderungen verwerfen" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Anwendungen installieren, aktualisieren und entfernen" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "Legt fest, ob die Option »Nur neueste Version« ist\nbeim Start von Yum Extender aktiviert sein soll.\nEs wird dann nur die neuesten Paketversionen anzeigen." +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Softwareinstallation" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "Vorgabe: Nur neueste Version anzeigen" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "Legt fest, ob die Option »nicht benötigte Abhängigkeiten entfernen«\nbeim Start von Yum Extender aktiviert sein soll.\nEs wird dann alle automatisch installierten Pakete entfernen,\ndie die nicht mehr benötigt werden." +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Lokale Pakete auf Ihrem System installieren" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "Vorgabe: Nicht mehr benötigte Abhängigkeiten entfernen" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "Die Schließen-Aktion für das Hauptfenster ändern, so dass es nur\nverborgen wird, wenn der Schließen-Knopf angeklickt wird" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "Schließen minimiert das Fenster" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "Eine Werkzeugleiste in der Titelleiste des Programmfensters\nanzeigen. Wenn diese Option deaktiviert ist, wird eine\nreguläre Titelleiste angezeigt und die Werkzeugleiste\nvon Yum Extender darunter" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "Werkzeugleiste in der Titelleiste anzeigen" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "Wählt beim Start von Yum Extender\nalle verfügbaren Paketaktualisierungen\naus." - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "Alle verfügbaren Aktualisierungen beim Start auswählen" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "Das Intervall in Stunden bis zum Ablauf und zur Aktualisierung des DNF-Zwischenspeichers (0 = deaktiviert)" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "Intervall, nachdem der Zwischenspeicher verfällt (in Stunden)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "12" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "Default: alte »Installonly«-Pakete entfernen" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Wählt beim Start von Yum Extender\nalle verfügbaren Paketaktualisierungen\naus." -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" -msgstr "Anzahl der »Installonly«-Pakete, die behalten werden" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Alle verfügbaren Aktualisierungen beim Start auswählen" -#: ../src/yumex.ui.h:26 -msgid "3" -msgstr "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Einstellungen" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "Aktualisierungsüberprüfung beim Anmelden des Benutzers automatisch starten" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "Aktualisierungsüberprüfung bei Anmeldung starten" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "Das Intervall, in nach Updates gesucht wird" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "Intervall zur Prüfung auf Aktualisierungen (Minuten)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "Aktualisierungsüberprüfung" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Farbe für installierte Pakete" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "Legt fest, ob die Option »Nur neueste Version« ist\nbeim Start von Yum Extender aktiviert sein soll.\nEs wird dann nur die neuesten Paketversionen anzeigen." -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Farbe für verfügbare Aktualisierungen" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Farbe für verfügbare Pakete" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "Legt fest, ob die Option »nicht benötigte Abhängigkeiten entfernen«\nbeim Start von Yum Extender aktiviert sein soll.\nEs wird dann alle automatisch installierten Pakete entfernen,\ndie die nicht mehr benötigt werden." + +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" + +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Farbe für veraltete Pakete" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Anzahl der »Installonly«-Pakete, die behalten werden" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "Farbe für verfügbare herabstufbare Pakete" +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Erweitert" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "Paketquellen, die in der laufenden Sitzung verwendet werden" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "Speichert die aktuell ausgewählten Paketquellen,\nso dass sie beim nächsten Start von Yum Extender\nverfügbar und aktiv sind." -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "Einstellung für ausgewählte Paketquellen sichern" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Paketquellen" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "Label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" -msgstr "Verfügbare Aktualisierungen anzeigen" +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Auszuführende Paketverwaltungsaktionen" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Größe:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Aktualisierungen" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "Installierte Pakete anzeigen" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Installiert" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "Verfügbare Pakete anzeigen" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Verfügbar" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "Alle Pakete anzeigen" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Alle" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Gruppen" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "Rückgängig machen" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "Verlauf" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Ausstehende Aktionen" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Paketbeschreibung" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "Informationen über Aktualisierungen des Paktes" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Dateiliste des Pakets" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "benötigte Abhängigkeiten von diesem Paket" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "Suchen (anzeigen/verbergen)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "Ausstehende Aktionen anwenden" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "Präfix des Paketnamens" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "Paketnamen, die mit dem Suchbegriff beginnen" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "Schlüsselwort" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "Paketnamen, die den Suchbegriff enthalten" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Felder" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "Paketname" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "Zusammenfassung" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Beschreibung" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "Beschreibung" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "Auszuführende Paketverwaltungsaktionen" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "Größe:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Suchen (anzeigen/verbergen)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Ausstehende Aktionen anwenden" diff --git a/po/el.po b/po/el.po index 74945db..b596d7c 100644 --- a/po/el.po +++ b/po/el.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Greek (http://www.transifex.com/timlau/yumex/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,995 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/en_BR.po b/po/en_BR.po new file mode 100644 index 0000000..37e140a --- /dev/null +++ b/po/en_BR.po @@ -0,0 +1,1011 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Yum Extender\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: English (Brazil) (http://www.transifex.com/timlau/yumex/language/en_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_BR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "" + +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "" + +#: ../src/yumex/base/__init__.py:117 +msgid "" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" +msgstr "" + +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" +msgstr "" + +#: ../src/yumex/common/const.py:127 +msgid "Getting installed packages" +msgstr "" + +#: ../src/yumex/common/const.py:128 +msgid "Getting available packages" +msgstr "" + +#: ../src/yumex/common/const.py:129 +msgid "Getting available updates" +msgstr "" + +#: ../src/yumex/common/const.py:130 +msgid "Getting all packages" +msgstr "" + +#: ../src/yumex/common/const.py:152 +msgid "Updated packages" +msgstr "" + +#: ../src/yumex/common/const.py:153 +msgid "Downgraded packages" +msgstr "" + +#: ../src/yumex/common/const.py:154 +msgid "Obsoleting packages" +msgstr "" + +#: ../src/yumex/common/const.py:155 +msgid "Obsoleted packages" +msgstr "" + +#: ../src/yumex/common/const.py:156 +msgid "Erased packages" +msgstr "" + +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 +msgid "Installed packages" +msgstr "" + +#: ../src/yumex/common/const.py:160 +msgid "Installed for dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:161 +msgid "Reinstalled packages" +msgstr "" + +#: ../src/yumex/common/const.py:165 +msgid "Installing" +msgstr "" + +#: ../src/yumex/common/const.py:166 +msgid "Updating" +msgstr "" + +#: ../src/yumex/common/const.py:167 +msgid "Removing" +msgstr "" + +#: ../src/yumex/common/const.py:168 +msgid "Downgrading" +msgstr "" + +#: ../src/yumex/common/const.py:169 +msgid "Replacing" +msgstr "" + +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 +#, python-format +msgid "Updating: %s" +msgstr "" + +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 +#, python-format +msgid "Installing: %s" +msgstr "" + +#: ../src/yumex/common/const.py:177 +#, python-format +msgid "Reinstalling: %s" +msgstr "" + +#: ../src/yumex/common/const.py:178 +#, python-format +msgid "Cleanup: %s" +msgstr "" + +#: ../src/yumex/common/const.py:179 +#, python-format +msgid "Removing: %s" +msgstr "" + +#: ../src/yumex/common/const.py:180 +#, python-format +msgid "Obsoleting: %s" +msgstr "" + +#: ../src/yumex/common/const.py:181 +#, python-format +msgid "Downgrading: %s" +msgstr "" + +#: ../src/yumex/common/const.py:182 +#, python-format +msgid "Verifying: %s" +msgstr "" + +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 +msgid "Bugfix" +msgstr "" + +#: ../src/yumex/common/const.py:198 +msgid "New Package" +msgstr "" + +#: ../src/yumex/common/const.py:199 +msgid "Security" +msgstr "" + +#: ../src/yumex/common/const.py:200 +msgid "Enhancement" +msgstr "" + +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format +msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" +"\n" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "" + +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 +msgid "Click to install all/remove all" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:73 +msgid "Click to select/deselect all" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:86 +msgid "Package" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:89 +msgid "Arch." +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 +msgid "Summary" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:136 +msgid "Reinstall Package" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:151 +msgid "Downgrade Package" +msgstr "" + +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 +msgid "Packages" +msgstr "" + +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 +#, python-format +msgid "Downgrade to %s " +msgstr "" + +#: ../src/yumex/gui/views/repoview.py:36 +msgid "Filename" +msgstr "" + +#: ../src/yumex/gui/views/repoview.py:67 +msgid "" +"Click here to switch between\n" +" none/all/default selected" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 +#, python-format +msgid "Tags: %s\n" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:243 +msgid "Links: " +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:266 +msgid "No update information is available" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:268 +msgid "" +"\n" +"Fedora Updates:" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:277 +msgid "Release" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:278 +msgid "Type" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:280 +msgid "Issued" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:332 +msgid "No changelog information is available" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:334 +msgid "" +"\n" +"Online Changelog:" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:349 +msgid "No filelist information is available" +msgstr "" + +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 +msgid "" +"Yum Extender is a graphical package management application. It allows you to" +" search and browse for packages to install, remove and update on your " +"computer." +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:16 +msgid "" +"It is designed to give you full control over the packages on your computer " +"and to be used by all users." +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:17 +msgid "Features:" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:19 +msgid "Browse packages available for installation or update" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:20 +msgid "Browse packages installed on your computer" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:21 +msgid "Search packages by name, summary, description" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:22 +msgid "Watch the history of package action on your system" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:23 +msgid "Browse and install/remove package groups" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:24 +msgid "Browse packages by size, repository" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:25 +msgid "Control what package repositories are enabled for the current session" +msgstr "" + +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "" + +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "" + +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "" + +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "" + +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "" + +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "" + +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" + +#: ../data/ui/preferences.ui:187 +msgid "" +"Use the toolbar in the header of the window\n" +"standard when using GNOME" +msgstr "" + +#: ../data/ui/preferences.ui:190 +msgid "Show toolbar in window headerbar" +msgstr "" + +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 +msgid "" +"The interval in hour, when the DNF cache will be expired and updated (0 = " +"disabled)" +msgstr "" + +#: ../data/ui/preferences.ui:217 +msgid "Cache expire interval (hours)" +msgstr "" + +#: ../data/ui/preferences.ui:233 +msgid "12" +msgstr "" + +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "" + +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" + +#: ../data/ui/preferences.ui:363 +msgid "Autostart the Yum Extender update checker at user login" +msgstr "" + +#: ../data/ui/preferences.ui:366 +msgid "Start update checker at user login" +msgstr "" + +#: ../data/ui/preferences.ui:396 +msgid "How often the update checker will run" +msgstr "" + +#: ../data/ui/preferences.ui:399 +msgid "Update check interval (minutes)" +msgstr "" + +#: ../data/ui/preferences.ui:422 +msgid "Update Checker" +msgstr "" + +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "" + +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" + +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" + +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "" + +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 +msgid "Repositories used in current session" +msgstr "" + +#: ../data/ui/preferences.ui:600 +msgid "" +"Save the current selected repositories\n" +"so they will be used next time you\n" +"start Yum Extender" +msgstr "" + +#: ../data/ui/preferences.ui:609 +msgid "Save selected repositories" +msgstr "" + +#: ../data/ui/preferences.ui:638 +msgid "Repositories" +msgstr "" + +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 +msgid "Updates" +msgstr "" + +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "" + +#: ../data/ui/yumex.ui:333 +msgid "Installed" +msgstr "" + +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "" + +#: ../data/ui/yumex.ui:354 +msgid "Available" +msgstr "" + +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "" + +#: ../data/ui/yumex.ui:375 +msgid "All" +msgstr "" + +#: ../data/ui/yumex.ui:511 +msgid "Groups" +msgstr "" + +#: ../data/ui/yumex.ui:586 +msgid "Undo" +msgstr "" + +#: ../data/ui/yumex.ui:610 +msgid "History" +msgstr "" + +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" + +#: ../data/ui/yumex.ui:684 +msgid "Package Description" +msgstr "" + +#: ../data/ui/yumex.ui:706 +msgid "Package Update Information" +msgstr "" + +#: ../data/ui/yumex.ui:728 +msgid "Package Filelist" +msgstr "" + +#: ../data/ui/yumex.ui:750 +msgid "Package Requirements" +msgstr "" + +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "" + +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 +msgid "Prefix" +msgstr "" + +#: ../data/ui/yumex.ui:1114 +msgid "Package names starting with search key" +msgstr "" + +#: ../data/ui/yumex.ui:1125 +msgid "Keyword" +msgstr "" + +#: ../data/ui/yumex.ui:1129 +msgid "Package names containing search key" +msgstr "" + +#: ../data/ui/yumex.ui:1140 +msgid "Fields" +msgstr "" + +#: ../data/ui/yumex.ui:1144 +msgid "Specified package fields containing search keys." +msgstr "" + +#: ../data/ui/yumex.ui:1159 +msgid "Package name" +msgstr "" + +#: ../data/ui/yumex.ui:1174 +msgid "Package summary" +msgstr "" + +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 +msgid "Package description" +msgstr "" + +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "" + +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "" diff --git a/po/es.po b/po/es.po index fefc8a8..ba7c698 100644 --- a/po/es.po +++ b/po/es.po @@ -8,851 +8,1021 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Jose G. Jimenez S. \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Jose G. Jimenez S. , 2015\n" "Language-Team: Spanish (http://www.transifex.com/timlau/yumex/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "Refrescando repositorio de metadatos" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "No se pudo actualizar la caché DNF (root)" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "Refrescando repositorio de metadatos" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "No se pudo actualizar la caché DNF (root)" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/es_ES.po b/po/es_ES.po index 20f6763..ac945d9 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -7,851 +7,1021 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Spanish (Spain) (http://www.transifex.com/timlau/yumex/language/es_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/fa.po b/po/fa.po index dde06aa..1cf5369 100644 --- a/po/fa.po +++ b/po/fa.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Persian (http://www.transifex.com/timlau/yumex/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,995 @@ msgstr "" "Language: fa\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/fr.po b/po/fr.po index 1f09d1c..13f09f7 100644 --- a/po/fr.po +++ b/po/fr.po @@ -10,851 +10,1021 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-23 19:38+0000\n" -"Last-Translator: dominique bribanick \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: dominique bribanick , 2014-2016\n" "Language-Team: French (http://www.transifex.com/timlau/yumex/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Téléchargement des paquets" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Vérification des signatures des paquets" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "Application des modifications au système" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Vérification des modifications apportées au système" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/base/__init__.py:87 msgid "Refreshing Repository Metadata" msgstr "Mise à jour des métadonnées du dépôt" -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 +#: ../src/yumex/base/__init__.py:93 msgid "Could not refresh the DNF cache (root)" msgstr "Impossible de régénérer le cache DNF (root)" -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/base/__init__.py:117 msgid "" "DNF root backend was not authorized.\n" "Yum Extender will exit" msgstr "Démarrer Dnf en mode administrateur n'est pas autorisé\nYum Extender va s'arrêter" -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/base/__init__.py:123 msgid "" "DNF is locked by another process.\n" "\n" "Yum Extender will exit" msgstr "DNF est verrouillé par un autre processus\n\nYum Extender va s'arrêter" -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "Rechargement des informations de paquet" - -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Recherche des dépendances" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "Dépendances résolues" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 -msgid "Applying changes to the system" -msgstr "Application des modifications au système" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Erreur lors de la vérification de la signature du paquet\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Erreur de téléchargement\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "Erreur dans la transaction\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "Installation du paquet : %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "%s a été installé correctement" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Suppression du paquet : %s" - -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "%s a été retiré correctement" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Effectuer toutes les mises à jour disponibles" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "Les mises à jour disponibles ont été appliquées correctement" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Erreur lors de la recherche des dépendances" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "Préparation du système pour l'application des modifications" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "Impossible de supprimer les paquets protégés" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "Pas d'opération en attente" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "Erreurs dans la transaction de construction" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Ajout des paquets à la liste" - -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "Erreur lors de l'annulation de l'historique des transactions" - -#: ../src/yumex/dnf_backend.py:181 -#, python-format -msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "l'API dnfdaemon version : %d\nne correspond pas\nà la version attendue de l'API : %d" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Téléchargement des paquets" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "Vérification des signatures des paquets" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Vérification des modifications apportées au système" - -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "Téléchargement de %d fichiers (%sB)..." - -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Obtention des paquets installés" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Obtention des paquets disponibles" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Obtention des paquets mis à jour" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Obtention de tous les paquets" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Paquets mis à jour" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Paquets déclassés" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Paquets obsolescents" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Paquets obsolètes" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Paquets effacés" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Paquets installés" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "Installés pour dépendances" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Paquets ré-installés" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Installation" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Mise à jour" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Suppression" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Régression" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Remplacement" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "Mise à jour : %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "Installation : %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "Ré-installation: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Nettoyage : %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Suppression : %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Obsolète : %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Rétrograder : %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Vérification : %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Correction de bogue" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Nouveau paquet" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Sécurité" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Amélioration" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "Les modifications ont été appliquées avec succès au système" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "\n\nL'extension YUM, YUMEX, fermera" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "Voulez-vous importer cette clé GPG\nNécessaire pour vérifier le paquet %s\n\n clé : 0x%s :\n\n ID utilisateur : « %s »\n Depuis : %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Erreur lors du démarrage de l'icône de notification" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "Yum Extender va s'arrêter" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Nom" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "Erreur lors du démarrage de l'icône de notification" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Arch" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "Pas maintenant" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Ver" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "Afficher les mises à jour" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Dépôt" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "Nouvelles mises à jour" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Taille" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "%s mise à jour disponibles" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "Historique des paquets" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Historique (date/heure)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Cliquer pour tout installer ou désinstaller" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Cliquer pour tous sélectionner ou désélectionner (que pour les mises à jour)" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Paquet" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Arch." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "cliquez pour filtrer les architectures" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Résumé" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Dépôt." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Taille" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Paquet réinstallé" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Paquet rétrogradé" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Paquets" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Rétrograder vers %s" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "Historique (date/heure)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "Historique des paquets" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Dépôt" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Nom de fichier" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "Cliquer ici pour basculer entre\naucun/tout/sélectionné par défaut " -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Nom" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Préférences" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Quitter" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "remplace {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr "Voulez-vous importer cette clé GPG\nNécessaire pour vérifier le paquet %s\n\n clé : 0x%s :\n\n ID utilisateur : « %s »\n Depuis : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "À propos" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "Obtention des métadonnées du paquet" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Documentation " -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Aide" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "Étiquette : %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "Liens :" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "Aucune information de mise à jour n'est disponible" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nMises à jour de Fedora :" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Version" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Type" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "Provenance" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Description" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "Pas d'information disponible sur le journal des modifications" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\nJournal des modifications en ligne :" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "Pas d'information disponible sur la liste de fichiers" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "Seulement les plus récents" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Obtention des métadonnées du paquet" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "Supprimer les exigences non nécessaires" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " -msgstr "Nettoyer les seules installations des anciens paquetages" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Rechargement des informations de paquet" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Recherche des dépendances" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "À propos" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Dépendances résolues" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "Documentation " +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Erreur lors de la vérification de la signature du paquet\n" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "Aide" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Préférences" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "Quitter" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Installation du paquet : %s" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Installateur de paquets Yumex" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%s a été installé correctement" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Installer des paquets locaux sur le système" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Suppression du paquet : %s" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s a été retiré correctement" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Installer, mettre à jour ou supprimer des applications" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Effectuer toutes les mises à jour disponibles" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Installateur de programme" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Les mises à jour disponibles ont été appliquées correctement" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Préparation du système pour l'application des modifications" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Pas d'opération en attente" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Ajout des paquets à la liste" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Erreur lors de l'annulation de l'historique des transactions" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Pas maintenant" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Afficher les mises à jour" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Nouvelles mises à jour" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Gestionnaire graphique de paquets" +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "Yum extender est une application graphique de gestion des paquets, il vous permettra de rechercher et de parcourir les paquets à installer, supprimer ou mettre à jour sur votre ordinateur" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "Il est conçu pour vous donner un contrôle complet des paquets sur votre ordinateur et être utilisé par tous les utilisateurs." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Fonctionnalités :" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "Rechercher les paquets disponibles pour installation ou mise à jour" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "Rechercher les paquets installés sur votre ordinateur" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "Rechercher les paquets par noms, résumé et description" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "Regarder l'historique de l'action des paquets sur votre système" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "Parcourir et installer ou supprimer des groupes de paquets" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "Parcourir les paquets par taille, par dépôt" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "Contrôler quels dépôts sont activés pour la session en cours" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "OK" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "Annuler" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Installer, mettre à jour ou supprimer des applications" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "N'afficher que les plus récent au\ndémarrage de Yum Extender.\nN'affichera que la version la plus\nrécente des paquets" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Installateur de programme" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "Par défaut : n'afficher que le plus récent" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "L'option « Supprimer les dépendances inutiles » est\nactivée au démarrage de Yum Extender" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Installer des paquets locaux sur le système" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "Par défaut : supprimer les dépendances inutiles" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "Modification de l'action « Fermer » de la fenêtre principale pour\nseulement cacher la fenêtre quand le bouton « Fermer » est cliqué" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "Fermer ne fera que minimiser la fenêtre" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "Utilisez la barre d'outils dans l'en-tête de la fenêtre\nstandard quand GNOME est utilisé" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "Afficher la barre d'outils dans l'en-tête de la fenêtre" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "Sélectionner toutes les mises à jour disponibles\nau démarrage de Yum Extender" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "Sélectionner les mises à jour au démarrage" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "Laps de temps, en heures, au bout duquel le cache de dnf est périmé et remis à jour (0= non validé)" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "Délai de péremption du cache (en heures)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "12" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "Par défaut : nettoyer les seules installations des anciens paquetages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Sélectionner toutes les mises à jour disponibles\nau démarrage de Yum Extender" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" -msgstr "Nombre de paquets installés seuls à garder" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Sélectionner les mises à jour au démarrage" -#: ../src/yumex.ui.h:26 -msgid "3" -msgstr "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Configurations" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "Démarrage automatique de la vérification des mises à jour à l'ouverture de session" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "Démarrez la vérification des mises à jour à l'ouverture de session" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "Nombre de fois que la vérification des mises à jour sera effectuée" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "Intervalle de vérification des mise à jour (minutes)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "Vérification des mises à jour" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Couleur des paquets installés" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "N'afficher que les plus récent au\ndémarrage de Yum Extender.\nN'affichera que la version la plus\nrécente des paquets" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Couleur des mises à jour disponibles" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "L'option « Supprimer les dépendances inutiles » est\nactivée au démarrage de Yum Extender" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Couleur des paquets disponibles" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Couleur des paquets obsolètes" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "Couleur des rétrogradations disponibles" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Nombre de paquets installés seuls à garder" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Avancé" +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "Dépôts utilisés dans la session en cours" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "Enregistrer les dépôts sélectionnés de la session en cours\nils seront ainsi utilisés la prochaine fois\nque vous utiliserez Yum Extender" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "Enregistrer les dépôts sélectionnés" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Dépôts" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "étiquette" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" -msgstr "Afficher les mises à jour disponibles" +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Actions à effectuer sur les paquets" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Taille :" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Mises à jour" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "Afficher les paquets installés" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Installés" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "Afficher les paquets disponibles" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Disponibles" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "Afficher tous les paquets" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Tout" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Groupes" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "Annuler" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "Historique" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Actions en attente" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Description du paquet" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "Information de mise à jour du paquet" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Liste des fichiers du paquet" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "Dépendances du paquet" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "Rechercher (afficher / masquer)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "Appliquer les actions en attente" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "Préfixe" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "Nom du paquet commençant par la clé recherchée" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "Mot-clé" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "Nom du paquet contenant la clé recherchée" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Champs" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "Champ du paquet contenant la clé recherchée" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "Nom du paquet" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "Résumé du paquet" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Description" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "Description du paquet" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "Actions à effectuer sur les paquets" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "Taille :" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Rechercher (afficher / masquer)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Appliquer les actions en attente" diff --git a/po/gu.po b/po/gu.po index 118c4a3..5491bf6 100644 --- a/po/gu.po +++ b/po/gu.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Gujarati (http://www.transifex.com/timlau/yumex/language/gu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,995 @@ msgstr "" "Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/he_IL.po b/po/he_IL.po new file mode 100644 index 0000000..3c62f4a --- /dev/null +++ b/po/he_IL.po @@ -0,0 +1,1043 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Yum Extender\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/timlau/yumex/language/he_IL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he_IL\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" + +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "" + +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "" + +#: ../src/yumex/base/__init__.py:117 +msgid "" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" +msgstr "" + +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" +msgstr "" + +#: ../src/yumex/common/const.py:127 +msgid "Getting installed packages" +msgstr "" + +#: ../src/yumex/common/const.py:128 +msgid "Getting available packages" +msgstr "" + +#: ../src/yumex/common/const.py:129 +msgid "Getting available updates" +msgstr "" + +#: ../src/yumex/common/const.py:130 +msgid "Getting all packages" +msgstr "" + +#: ../src/yumex/common/const.py:152 +msgid "Updated packages" +msgstr "" + +#: ../src/yumex/common/const.py:153 +msgid "Downgraded packages" +msgstr "" + +#: ../src/yumex/common/const.py:154 +msgid "Obsoleting packages" +msgstr "" + +#: ../src/yumex/common/const.py:155 +msgid "Obsoleted packages" +msgstr "" + +#: ../src/yumex/common/const.py:156 +msgid "Erased packages" +msgstr "" + +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 +msgid "Installed packages" +msgstr "" + +#: ../src/yumex/common/const.py:160 +msgid "Installed for dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:161 +msgid "Reinstalled packages" +msgstr "" + +#: ../src/yumex/common/const.py:165 +msgid "Installing" +msgstr "" + +#: ../src/yumex/common/const.py:166 +msgid "Updating" +msgstr "" + +#: ../src/yumex/common/const.py:167 +msgid "Removing" +msgstr "" + +#: ../src/yumex/common/const.py:168 +msgid "Downgrading" +msgstr "" + +#: ../src/yumex/common/const.py:169 +msgid "Replacing" +msgstr "" + +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 +#, python-format +msgid "Updating: %s" +msgstr "" + +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 +#, python-format +msgid "Installing: %s" +msgstr "" + +#: ../src/yumex/common/const.py:177 +#, python-format +msgid "Reinstalling: %s" +msgstr "" + +#: ../src/yumex/common/const.py:178 +#, python-format +msgid "Cleanup: %s" +msgstr "" + +#: ../src/yumex/common/const.py:179 +#, python-format +msgid "Removing: %s" +msgstr "" + +#: ../src/yumex/common/const.py:180 +#, python-format +msgid "Obsoleting: %s" +msgstr "" + +#: ../src/yumex/common/const.py:181 +#, python-format +msgid "Downgrading: %s" +msgstr "" + +#: ../src/yumex/common/const.py:182 +#, python-format +msgid "Verifying: %s" +msgstr "" + +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 +msgid "Bugfix" +msgstr "" + +#: ../src/yumex/common/const.py:198 +msgid "New Package" +msgstr "" + +#: ../src/yumex/common/const.py:199 +msgid "Security" +msgstr "" + +#: ../src/yumex/common/const.py:200 +msgid "Enhancement" +msgstr "" + +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format +msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" +"\n" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "" + +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 +msgid "Click to install all/remove all" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:73 +msgid "Click to select/deselect all" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:86 +msgid "Package" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:89 +msgid "Arch." +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 +msgid "Summary" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:136 +msgid "Reinstall Package" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:151 +msgid "Downgrade Package" +msgstr "" + +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 +msgid "Packages" +msgstr "" + +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:167 +#, python-format +msgid "Downgrade to %s " +msgstr "" + +#: ../src/yumex/gui/views/repoview.py:36 +msgid "Filename" +msgstr "" + +#: ../src/yumex/gui/views/repoview.py:67 +msgid "" +"Click here to switch between\n" +" none/all/default selected" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 +#, python-format +msgid "Tags: %s\n" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:243 +msgid "Links: " +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:266 +msgid "No update information is available" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:268 +msgid "" +"\n" +"Fedora Updates:" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:277 +msgid "Release" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:278 +msgid "Type" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:280 +msgid "Issued" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:332 +msgid "No changelog information is available" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:334 +msgid "" +"\n" +"Online Changelog:" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:349 +msgid "No filelist information is available" +msgstr "" + +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 +msgid "" +"Yum Extender is a graphical package management application. It allows you to" +" search and browse for packages to install, remove and update on your " +"computer." +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:16 +msgid "" +"It is designed to give you full control over the packages on your computer " +"and to be used by all users." +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:17 +msgid "Features:" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:19 +msgid "Browse packages available for installation or update" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:20 +msgid "Browse packages installed on your computer" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:21 +msgid "Search packages by name, summary, description" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:22 +msgid "Watch the history of package action on your system" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:23 +msgid "Browse and install/remove package groups" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:24 +msgid "Browse packages by size, repository" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:25 +msgid "Control what package repositories are enabled for the current session" +msgstr "" + +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "" + +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "" + +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "" + +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "" + +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "" + +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "" + +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" + +#: ../data/ui/preferences.ui:187 +msgid "" +"Use the toolbar in the header of the window\n" +"standard when using GNOME" +msgstr "" + +#: ../data/ui/preferences.ui:190 +msgid "Show toolbar in window headerbar" +msgstr "" + +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 +msgid "" +"The interval in hour, when the DNF cache will be expired and updated (0 = " +"disabled)" +msgstr "" + +#: ../data/ui/preferences.ui:217 +msgid "Cache expire interval (hours)" +msgstr "" + +#: ../data/ui/preferences.ui:233 +msgid "12" +msgstr "" + +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "" + +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" + +#: ../data/ui/preferences.ui:363 +msgid "Autostart the Yum Extender update checker at user login" +msgstr "" + +#: ../data/ui/preferences.ui:366 +msgid "Start update checker at user login" +msgstr "" + +#: ../data/ui/preferences.ui:396 +msgid "How often the update checker will run" +msgstr "" + +#: ../data/ui/preferences.ui:399 +msgid "Update check interval (minutes)" +msgstr "" + +#: ../data/ui/preferences.ui:422 +msgid "Update Checker" +msgstr "" + +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "" + +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" + +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" + +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "" + +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 +msgid "Repositories used in current session" +msgstr "" + +#: ../data/ui/preferences.ui:600 +msgid "" +"Save the current selected repositories\n" +"so they will be used next time you\n" +"start Yum Extender" +msgstr "" + +#: ../data/ui/preferences.ui:609 +msgid "Save selected repositories" +msgstr "" + +#: ../data/ui/preferences.ui:638 +msgid "Repositories" +msgstr "" + +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 +msgid "Updates" +msgstr "" + +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "" + +#: ../data/ui/yumex.ui:333 +msgid "Installed" +msgstr "" + +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "" + +#: ../data/ui/yumex.ui:354 +msgid "Available" +msgstr "" + +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "" + +#: ../data/ui/yumex.ui:375 +msgid "All" +msgstr "" + +#: ../data/ui/yumex.ui:511 +msgid "Groups" +msgstr "" + +#: ../data/ui/yumex.ui:586 +msgid "Undo" +msgstr "" + +#: ../data/ui/yumex.ui:610 +msgid "History" +msgstr "" + +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" + +#: ../data/ui/yumex.ui:684 +msgid "Package Description" +msgstr "" + +#: ../data/ui/yumex.ui:706 +msgid "Package Update Information" +msgstr "" + +#: ../data/ui/yumex.ui:728 +msgid "Package Filelist" +msgstr "" + +#: ../data/ui/yumex.ui:750 +msgid "Package Requirements" +msgstr "" + +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "" + +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 +msgid "Prefix" +msgstr "" + +#: ../data/ui/yumex.ui:1114 +msgid "Package names starting with search key" +msgstr "" + +#: ../data/ui/yumex.ui:1125 +msgid "Keyword" +msgstr "" + +#: ../data/ui/yumex.ui:1129 +msgid "Package names containing search key" +msgstr "" + +#: ../data/ui/yumex.ui:1140 +msgid "Fields" +msgstr "" + +#: ../data/ui/yumex.ui:1144 +msgid "Specified package fields containing search keys." +msgstr "" + +#: ../data/ui/yumex.ui:1159 +msgid "Package name" +msgstr "" + +#: ../data/ui/yumex.ui:1174 +msgid "Package summary" +msgstr "" + +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 +msgid "Package description" +msgstr "" + +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "" + +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "" diff --git a/po/hu.po b/po/hu.po index 291d244..af47f2b 100644 --- a/po/hu.po +++ b/po/hu.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-23 19:38+0000\n" -"Last-Translator: c5c74d5c0e928622070863d16011fda8_265b1fe\n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: c5c74d5c0e928622070863d16011fda8_265b1fe, 2015\n" "Language-Team: Hungarian (http://www.transifex.com/timlau/yumex/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,841 +20,995 @@ msgstr "" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Csomagok letöltése" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Csomag aláírások ellenörzése" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "Változások alkalmazása a rendszeren" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Változások alkalmazása a rendszeren" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/base/__init__.py:87 msgid "Refreshing Repository Metadata" msgstr "Tároló metaadatok frissítése" -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 +#: ../src/yumex/base/__init__.py:93 msgid "Could not refresh the DNF cache (root)" msgstr "Nem sikerült frissíteni a DNF gyorsítótárat (root)" -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/base/__init__.py:117 msgid "" "DNF root backend was not authorized.\n" "Yum Extender will exit" msgstr "A DNF gyökér háttértár nincs hitelesítve.\nA Yum Extender kilép" -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/base/__init__.py:123 msgid "" "DNF is locked by another process.\n" "\n" "Yum Extender will exit" msgstr "A DNF zárolva. Egy másik folyamat használja.\n\nA Yum Extender kilép" -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "Csomag információk újratöltése..." - -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Függőségek keresése" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "A függőségfeloldás meghiúsult" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 -msgid "Applying changes to the system" -msgstr "Változások alkalmazása a rendszeren" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Hiba a csomag aláírásának ellenőrzése közben\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Letöltési hiba(ák)\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "Hiba a tranzakcióban\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "Csomag telepítés: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "%s telepítésre került" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Csomag törlés: %s" - -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "%s csomag törlésre került" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Összes elérhető csomag frissítése" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "Az elérhető frissítések sikeresen alkalmazásra kerültek" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Hiba a függőség(ek) keresése közben" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "Felkészülés a rendszer változások alkalmazására" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "Nem lehet eltávolítani a védett csomag(okat)" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "Nincsenek függőben lévő műveletek" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "Hiba(ák) a tranzakció építése közben" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Hozzáadandó csomagok megtekintése" - -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "" - -#: ../src/yumex/dnf_backend.py:181 -#, python-format -msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Csomagok letöltése" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "Csomag aláírások ellenörzése" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Változások alkalmazása a rendszeren" - -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "%d fájl letöltése (%sB)..." - -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Telepített csomagok lekérése" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Elérhető csomagok lekérése" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Frissítési csomagok lekérése" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Minden csomag lekérése" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Frissített csomagok" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Leminősített csomagok" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Csomagok butítása" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Elavult csomagok" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Törölt csomagok" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Telepített csomagok" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "Telepített függőségek" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Újratelepített csomagok" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Telepítés" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Frissítés" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Törlés" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Visszíminősítés" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Javítás" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "Frissítés: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "Telepítés: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "Újratelepítés: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Tisztítás: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Törlés: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Butítás: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Visszíminősítés: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Ellenőrzés: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Hibajavítás" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Új csomag" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Biztonság" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Kiemelés" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "A változások sikeresen alkalmazásra kerültek a rendszeren" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "\n\nYum Extender kilép" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Hiba a kezdő értesítési ikonban" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "Yum Extender kilép" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Név" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "Hiba a záró értesítési ikonban" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Arch" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "Most nem" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Ver" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "Frissítések mutatása" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Tároló" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "Új frissítések" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Méret" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "%s elérhető frissítés" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "Csomag előzmények" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Előzmények (Dátum/Idő)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Kattintsunk ide az összes telepítéséhez/eltávolításához" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Kattintsunk ide az összes kiválasztásához/kiválasztás eltávolításához" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Csomag" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Arch." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "kattintsunk ide és szűrjünk architektúra szerint" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Összegzés" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Tároló." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Méret" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Csomag újratelepítése" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Csomag lebutítása" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Csomagok" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Leminősítés erre %s" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "Előzmények (Dátum/Idő)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "Csomag előzmények" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Tároló" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Fájlnév" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Név" - -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Beállítások" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "javítás {}" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Kilépés" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "Névjegy" + +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Dokumentáció" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Súgó" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "Címkék: %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "Hivatkozások:" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "Nincs elérhető információ a frissítésekről" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nFedora frissítések:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Kiadás" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Típus" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "Kiadva" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Leírás" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "Nem érhető el változásnapló" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\nElérhető változásnapló:" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "Nincs elérhető információ a fájllistáról" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "Csak újak" - -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "Beállítások" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Csomag információk újratöltése..." -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "Névjegy" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Függőségek keresése" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "Dokumentáció" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "A függőségfeloldás meghiúsult" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "Súgó" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Hiba a csomag aláírásának ellenőrzése közben\n" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Beállítások" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "Kilépés" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Yumex csomagtelepítő" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Csomag telepítés: %s" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Helyi csomagok telepítése a rendszerről" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%s telepítésre került" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Csomag törlés: %s" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Alkalmazások telepítése, frissítése és eltávolítása" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s csomag törlésre került" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Szoftver telepítő" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Összes elérhető csomag frissítése" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Az elérhető frissítések sikeresen alkalmazásra kerültek" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Felkészülés a rendszer változások alkalmazására" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Nincsenek függőben lévő műveletek" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Grafikus csomagkezelő" +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Hozzáadandó csomagok megtekintése" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Most nem" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Frissítések mutatása" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Új frissítések" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Részletek:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "OK" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "Mégsem" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Alkalmazások telepítése, frissítése és eltávolítása" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Szoftver telepítő" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Helyi csomagok telepítése a rendszerről" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "12" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" -msgstr "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Beállítások" +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "Frissítés kereső" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Telepített csomagok színe" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Elérhető frissítések színe" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Elérhető csomagok színe" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Elavult csomagok színe" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Haladó" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "Kiválasztott tárolók mentése" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Tárolók" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "címke" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" -msgstr "Elérhető frissítések mutatása" +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Méret:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Frissítések" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "Telepített csomagok megjelenítése" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Telepített" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "Elérhető csomagok megjelenítése" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Elérhető" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "Összes csomag" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Összes" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Csoportok" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "Kibontás" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "Előzmény" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Függő műveletek" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Csomag leírás" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "Csomag frissítés információ" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Csomag fájl-lista" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "Csomag követelmények" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "Keresés (megjelenítés/elrejtés)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "Függőben lévő műveletek alkalmazása" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "Előtag" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "Csomag nevének gépelése a kereséshez" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "Kulcsszó" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Mezők" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "Csomag név" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "Csomag összegzés" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Leírás" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "Csomag leírás" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "Méret:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Keresés (megjelenítés/elrejtés)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Függőben lévő műveletek alkalmazása" diff --git a/po/id.po b/po/id.po index cc81ac9..71e8ab7 100644 --- a/po/id.po +++ b/po/id.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# ᅟᅟᅟᅟᅟᅟᅟᅟ ᅟᅟᅟᅟᅟᅟᅟᅟ , 2021 msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: ᅟᅟᅟᅟᅟᅟᅟᅟ ᅟᅟᅟᅟᅟᅟᅟᅟ , 2021\n" "Language-Team: Indonesian (http://www.transifex.com/timlau/yumex/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +18,979 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Mengunduh package" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Memeriksa tandatangan package" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" -msgstr "" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" +msgstr "Menerapkan perubahan ke sistem" -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Memastikan perubahan pada sistem" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "Mengunduh %d berkas (%sB)..." -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "Menyegarkan Metadata Repositori" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "Tidak dapat menyegarkan cache DNF (root)" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" +msgstr "Backend root DNF tidak terautorisasi.\nYum Extender akan keluar" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "" +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" +msgstr "DNF terkunci oleh proses lain.\n\nYum Extender akan keluar" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" -msgstr "" +msgstr "Mendapatkan package yang terpasang" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" -msgstr "" +msgstr "Mendapatkan package yang tersedia" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" -msgstr "" +msgstr "Mendapatkan pembaruan yang tersedia" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" -msgstr "" +msgstr "Mendapatkan semua package" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" -msgstr "" +msgstr "Package terbarukan" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 -#, python-format -msgid "Downgrade to %s " -msgstr "" +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:167 +#, python-format +msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "Mengunduh Metadata Repositori" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " -msgstr "" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Memuat ulang informasi package..." -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Mencari dependency..." -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Dependency terselesaikan" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Kesalahan saat memeriksa tandatangan package\n" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "Kesalahan pengunduhan\n" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "Kesalahan dalam transaksi\n" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Memasang package: %s" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%sberhasil dipasang" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Menghapus package: %s" + +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s berhasil dihapus" + +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Memperbarui semua pembaruan yang tersedia" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Pembaruan yang tersedia berhasil diterapkan" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "Kesalahan dalam pencarian dependency" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Mempersiapkan sistem untuk penerapan perubahan" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "Tidak bisa menghapus package yang dilindungi:" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Tidak ada aksi yang menunggu dalam antrean" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "Kesalahan dalam membangun transaksi\n" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "Kesalahan dalam pencarian dependency\n" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Menambahkan package untuk dilihat" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Kesalahan dalam mengembalikan sejarah transaksi" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" + +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/it.po b/po/it.po index d76fb50..366d71b 100644 --- a/po/it.po +++ b/po/it.po @@ -7,851 +7,1021 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Italian (http://www.transifex.com/timlau/yumex/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/ja.po b/po/ja.po index 8fa7984..d4fec79 100644 --- a/po/ja.po +++ b/po/ja.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Green, 2021 # Ooyama Yosiyuki , 2015 msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Ooyama Yosiyuki \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Green, 2021\n" "Language-Team: Japanese (http://www.transifex.com/timlau/yumex/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,841 +19,979 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "リポジトリのメタデータをリフレッシュ" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 -msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "パッケージをダウンロードしています" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "依存性が解決しました" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "パッケージの署名を確認しています" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "システムに変更を適用中" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "トランザクション中にエラー\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "パッケージをインストール中: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "削除されるパッケージ: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "システムの変更を検証中" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "%d ファイル (%sB) をダウンロード中..." -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "キューに保留中のアクション無し" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "パッケージを表示に追加しています" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "リポジトリのメタデータをリフレッシュ" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "DNF キャッシュ (root) を更新できませんでした" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "パッケージをダウンロードしています" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "システムの変更を検証中" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" +msgstr "DNF のルートバックエンドは認証されませんでした。\nYum Extender は終了します" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "" +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" +msgstr "DNF は別のプロセスによってロックされています。\n\nYum Extender は終了します" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" -msgstr "" +msgstr "インストール済みパッケージを取得しています" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "利用できるパッケージを取得しています" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "利用できる更新情報を取得しています" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "全パッケージを取得しています" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" -msgstr "" +msgstr "更新されたパッケージ" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" -msgstr "" +msgstr "ダウンロードされたパッケージ" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" -msgstr "" +msgstr "廃止されるパッケージ" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" -msgstr "" +msgstr "廃止されたパッケージ" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" -msgstr "" +msgstr "消去されたパッケージ" + +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "消去されたパッケージ" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" -msgstr "" +msgstr "インストールされたパッケージ" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" -msgstr "" +msgstr "依存関係によりインストールされたパッケージ" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" -msgstr "" +msgstr "再インストールされたパッケージ" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "インストール" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "更新" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "削除" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "ダウングレード" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "置き換え" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "弱い依存関係" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" -msgstr "更新: %s" +msgstr "更新中: %s" + +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "更新済み: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" -msgstr "インストール: %s" +msgstr "インストール中: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" -msgstr "再インストール: %s" +msgstr "再インストール中: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "掃除: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" -msgstr "削除: %s" +msgstr "削除中: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "廃止: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" -msgstr "ダウングレード: %s" +msgstr "ダウングレード中: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" -msgstr "検証: %s" +msgstr "検証中: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "次のスクリプトレットを実行中です: %s" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "バグ修正" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "新パッケージ" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "セキュリティ" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" -msgstr "" +msgstr "拡張機能" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "%s パッケージの確認に必要なこの GPG キーをインポートしますか?\n\n キー : 0x%s:\n Userid : \"%s\"\n 出所 : %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "リポジトリー情報を取得中です" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "名前" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Arch" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "あとで" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "バージョン" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "リポジトリ" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "サイズ" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "履歴パッケージ" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "履歴 (日付/時間)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" -msgstr "" +msgstr "クリックして、すべてインストール/すべて削除" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" -msgstr "" +msgstr "クリックして、すべて選択/選択解除" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "パッケージ" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "バージョン" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Arch." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "要約" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Repo." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "サイズ" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" -msgstr "" +msgstr "パッケージの再インストール" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" -msgstr "" +msgstr "パッケージのダウングレード" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "パッケージ" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "更新対象のパッケージ" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "インストール予定のパッケージ" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "削除対象のパッケージ" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "再インストール対象のパッケージ" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "インストール対象の RPM ファイル" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "インストール対象のグループ" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "削除対象のグループ" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "ダウングレードするパッケージ" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " -msgstr "" - -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "リポジトリー" +msgstr "%s へのダウングレード" -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "ファイル名" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" -msgstr "" +msgstr "ここをクリックすると、選択なし/すべて/既定 に切り替わります。" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "名前" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "設定" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "メタデータの更新" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "中止" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "メインメニュー" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr "" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "あらまし" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "キーボードショートカット" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "関連文書" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "ヘルプ" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" -msgstr "" +msgstr "タグ: %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "リンク: " -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" -msgstr "" +msgstr "使用可能な更新情報はありません" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nFedora Updates:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" -msgstr "" +msgstr "リリース" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" -msgstr "" +msgstr "種類" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" -msgstr "" - -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "説明" +msgstr "発行日" -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" -msgstr "" +msgstr "使用可能な変更履歴がありません" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" -msgstr "" +msgstr "\nオンラインでの変更履歴:" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" -msgstr "" +msgstr "利用可能なファイル一覧がありません" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "パッケージのメタデータを取得しています" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "リポジトリのメタデータをダウンロード中です" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " -msgstr "" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "パッケージ情報を再取得しています..." -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "オプション" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "依存関係を調べています" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "依存性が解決しました" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "ドキュメント" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "パッケージの署名エラーを確認中です\n" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "ヘルプ" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "ダウンロードの失敗\n" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "設定" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "処理中にエラー\n" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "終了" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "パッケージをインストール中: %s" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%s は正しくインストールされました" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "削除されるパッケージ: %s" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s は正常に削除されました" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "利用可能な更新を取得しています" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "使用可能な更新は正常に適用されました" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "依存関係の検索中でエラー" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "変更を適用するためにシステムの準備中です" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "保護されたパッケージを削除できません:" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "保留中の待ち処理はありません" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "ビルド処理中にエラー\n" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "依存関係の検索中でエラー\n" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "パッケージを表示に追加しています" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "履歴を元に戻す処理中にエラー" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "あとで" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "更新表示" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "新規更新" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "%d 個の更新が可能です" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." -msgstr "" +msgstr "Yum Extender は、グラフィカルなパッケージ管理アプリケーションです。コンピュータにインストールするパッケージを検索して表示したり、削除や更新を行うことができます。" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." -msgstr "" +msgstr "コンピュータ上のパッケージを完全に把握できるように、そしてすべてのユーザーが使用可能な設計となっています。" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" -msgstr "" +msgstr "機能:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" -msgstr "" +msgstr "インストールまたは更新が可能なパッケージを参照できます" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" -msgstr "" +msgstr "システム上にインストールされたパッケージを閲覧できます" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" -msgstr "" +msgstr "パッケージを名前、概要、説明から検索します" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" -msgstr "" +msgstr "システム上のパッケージ須佐の履歴を監視します" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" -msgstr "" +msgstr "パッケージグループの参照やインストール/削除" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" -msgstr "" +msgstr "サイズやリポジトリ別にパッケージを閲覧できます" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" +msgstr "現在のセッションで有効にしたいパッケージリポジトリを制御することができます" + +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "アプリケーションのインストール、更新、削除" + +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "ソフトウェアのインストーラ" + +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "OK" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "システムにあるローカルパッケージをインストールします" + +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "エラー" + +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "テーマ" -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "取り消す" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "ダークテーマを使用" -#: ../src/yumex.ui.h:4 +#: ../data/ui/preferences.ui:187 +msgid "" +"Use the toolbar in the header of the window\n" +"standard when using GNOME" +msgstr "GNOME を使用する場合は、ウィンドウ標準のヘッダにあるツールバーを使用します" + +#: ../data/ui/preferences.ui:190 +msgid "Show toolbar in window headerbar" +msgstr "ウィンドウのヘッダバーにツールバーを表示" + +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 +msgid "" +"The interval in hour, when the DNF cache will be expired and updated (0 = " +"disabled)" +msgstr "DNF キャッシュが期限切れになった時に更新される時間間隔 (0 = 無効)" + +#: ../data/ui/preferences.ui:217 +msgid "Cache expire interval (hours)" +msgstr "キャッシュの有効期限 (時間単位)" + +#: ../data/ui/preferences.ui:233 +msgid "12" +msgstr "12" + +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Yum Extender が起動した時、使用可能な更新をすべて選択します" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "起動時に更新を選択します" + +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "デフォルトで検索を表示" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "UI" + +#: ../data/ui/preferences.ui:363 +msgid "Autostart the Yum Extender update checker at user login" +msgstr "ユーザーログイン時に Yum Extender 更新チェックを自動起動します" + +#: ../data/ui/preferences.ui:366 +msgid "Start update checker at user login" +msgstr "ユーザーログイン時に更新チェックを起動します" + +#: ../data/ui/preferences.ui:396 +msgid "How often the update checker will run" +msgstr "更新チェックを行う頻度" + +#: ../data/ui/preferences.ui:399 +msgid "Update check interval (minutes)" +msgstr "更新の確認間隔 (分単位)" + +#: ../data/ui/preferences.ui:422 +msgid "Update Checker" +msgstr "更新確認" + +#: ../data/ui/preferences.ui:436 msgid "" "Show newest only is active when\n" "Yum Extender starts.\n" "Will show only latest version of available\n" "packages" -msgstr "" +msgstr "Yum Extender の起動時に最新版のみ表示を表示。これは、利用可能なパッケージの最新バージョンのみを表示します。" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "最新のもののみ表示" -#: ../src/yumex.ui.h:9 +#: ../data/ui/preferences.ui:464 msgid "" "Erase unused requirement option is\n" "active when Yum Extender starts" -msgstr "" +msgstr "Yum Extender の起動時に、未使用の依存関係を消去するオプションを有効にする" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "未使用の要求パッケージを削除" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "インストール済みの古いパッケージを削除" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "保持するインストール専用パッケージの数" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "DNF オプション" + +#: ../data/ui/preferences.ui:565 +msgid "Repositories used in current session" +msgstr "現在のセッションで使用中のリポジトリ" + +#: ../data/ui/preferences.ui:600 msgid "" -"Use the toolbar in the header of the window\n" -"standard when using GNOME" -msgstr "" +"Save the current selected repositories\n" +"so they will be used next time you\n" +"start Yum Extender" +msgstr "次回 YUm Extender を起動する時に使用可能なように、現在選択されているリポジトリを保存" -#: ../src/yumex.ui.h:17 -msgid "Show toolbar in window headerbar" +#: ../data/ui/preferences.ui:609 +msgid "Save selected repositories" +msgstr "選択したリポジトリを保存" + +#: ../data/ui/preferences.ui:638 +msgid "Repositories" +msgstr "リポジトリ" + +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" msgstr "" -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" msgstr "" -#: ../src/yumex.ui.h:21 -msgid "" -"The interval in hour, when the DNF cache will be expired and updated (0 = " -"disabled)" +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" msgstr "" -#: ../src/yumex.ui.h:22 -msgid "Cache expire interval (hours)" +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" msgstr "" -#: ../src/yumex.ui.h:23 -msgid "12" +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" msgstr "" -#: ../src/yumex.ui.h:28 -msgid "Autostart the Yum Extender update checker at user login" +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" msgstr "" -#: ../src/yumex.ui.h:29 -msgid "Start update checker at user login" +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" msgstr "" -#: ../src/yumex.ui.h:30 -msgid "How often the update checker will run" +#: ../data/ui/shortcuts.ui:88 +msgid "package description" msgstr "" -#: ../src/yumex.ui.h:31 -msgid "Update check interval (minutes)" +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" msgstr "" -#: ../src/yumex.ui.h:32 -msgid "Update Checker" +#: ../data/ui/shortcuts.ui:102 +msgid "package files" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/shortcuts.ui:132 +msgid "Other" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" msgstr "" -#: ../src/yumex.ui.h:39 -msgid "Repositories used in current session" +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" msgstr "" -#: ../src/yumex.ui.h:40 -msgid "" -"Save the current selected repositories\n" -"so they will be used next time you\n" -"start Yum Extender" +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" msgstr "" -#: ../src/yumex.ui.h:43 -msgid "Save selected repositories" +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" msgstr "" -#: ../src/yumex.ui.h:44 -msgid "Repositories" -msgstr "リポジトリー" +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "実行するパッケージ操作" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "ラベル" +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "サイズ:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "その他のフィルタリングオプション" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" -msgstr "利用可能なパッケージを表示します" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "利用可能な更新を表示 (Ctrl+1)" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "更新" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "インストール済みのパッケージを表示 (Ctrl+2)" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "インストール済み" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "利用可能なパッケージを表示" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "利用可能なパッケージを表示 (Ctrl+3)" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "利用可能" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "全パッケージを表示する" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "すべてのパッケージを表示 (Ctrl+4)" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "すべて" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "グループ" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "戻す" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "履歴" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "保留している操作" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "処理待ち" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "パッケージの説明" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" -msgstr "パッケージ更新情報" +msgstr "パッケージの更新情報" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" -msgstr "" +msgstr "パッケージのファイル一覧" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" -msgstr "" +msgstr "パッケージの条件" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "パッケージのバージョン" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "保留している操作を適用" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "Arch" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "最新のもののみ" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "最新のパッケージのみ表示" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "接頭辞" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" -msgstr "" +msgstr "検索キーで開始するパッケージの名前" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "キーワード" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" -msgstr "" +msgstr "検索キーワードに含めるパッケージ名" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" -msgstr "" +msgstr "欄" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." -msgstr "" +msgstr "検索キーワードに含めるパッケージの指定域" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "パッケージ名" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "パッケージの要約" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "説明" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "パッケージの説明" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "行われるパッケージ操作" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "削除を選択" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "サイズ:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "検索 (表示/非表示)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "保留中の操作を適用" diff --git a/po/ko.po b/po/ko.po index 0723bf0..780d5ea 100644 --- a/po/ko.po +++ b/po/ko.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Woosuk Park, 2015 +# 박우석, 2015 msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:04+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: 박우석, 2015\n" "Language-Team: Korean (http://www.transifex.com/timlau/yumex/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,841 +18,979 @@ msgstr "" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "저장소 메타데이터 새로고치는중" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "DNF 캐시를 새로고칠수 없습니다 (루트)" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "DNF 루트 백엔드가 인증되지 않았습니다.\nYum Extender가 종료됩니다" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "DNF가 다른 프로세스에 의해 잠겼습니다.\n\nYum Extender가 종료됩니다" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "" - -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "의존 패키지 검색중" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "의존성 해결됨" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 -msgid "Applying changes to the system" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "설치중인 패키지: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "제거중인 패키지: %s" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "현재 가능한 업데이트들을 가져오기" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "저장소 메타데이터 새로고치는중" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "DNF 캐시를 새로고칠수 없습니다 (루트)" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" +msgstr "DNF 루트 백엔드가 인증되지 않았습니다.\nYum Extender가 종료됩니다" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "" +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" +msgstr "DNF가 다른 프로세스에 의해 잠겼습니다.\n\nYum Extender가 종료됩니다" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "설치된 패키지 불러오는중" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "가능한 패키지 불러오는중" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "가능한 업데이트 불러오는중" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "전체 패키지 불러오는중" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "업데이트 된 패키지" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "다운그레이드 된 패키지" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "예전 패키지" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "예전의 패키지" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "삭제된 패키지" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "설치된 패키지" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "의존 패키지들 설치됨" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "재 설치한 패키지" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "설치중" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "업데이트중" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "제거중" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "다운그레이드중" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "교체중" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "업데이트중: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "설치중: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "정리중: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "제거중: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "예전의 패키지로 돌리는중: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "다운그레이드중: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "확인중: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "버그픽스" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "새 패키지" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "보안" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "향상" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 -#, python-format -msgid "Downgrade to %s " -msgstr "" +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:167 +#, python-format +msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "의존 패키지 검색중" + +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "의존성 해결됨" + +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "설치중인 패키지: %s" + +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "제거중인 패키지: %s" + +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "현재 가능한 업데이트들을 가져오기" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/ky.po b/po/ky.po index 751d2c4..5b1d4d2 100644 --- a/po/ky.po +++ b/po/ky.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Kyrgyz (http://www.transifex.com/timlau/yumex/language/ky/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,979 @@ msgstr "" "Language: ky\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 -#, python-format -msgid "Downgrade to %s " -msgstr "" +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:167 +#, python-format +msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 0000000..7d76682 --- /dev/null +++ b/po/meson.build @@ -0,0 +1,3 @@ +i18n = import('i18n') +i18n.gettext('yumex-dnf', preset : 'glib') + diff --git a/po/nl.po b/po/nl.po index 4b91834..b5c44eb 100644 --- a/po/nl.po +++ b/po/nl.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Richard E. van der Luit , 2014-2015\n" "Language-Team: Dutch (http://www.transifex.com/timlau/yumex/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,841 +18,995 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Pakketten downloaden" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Ondertekening van pakket controleren" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "Veranderingen worden doorgevoerd" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Verifiëren veranderingen op het systeem" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/base/__init__.py:87 msgid "Refreshing Repository Metadata" msgstr "Verversen Repository Metadata" -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 +#: ../src/yumex/base/__init__.py:93 msgid "Could not refresh the DNF cache (root)" msgstr "Kon de DNF-cache (root) niet verversen" -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/base/__init__.py:117 msgid "" "DNF root backend was not authorized.\n" "Yum Extender will exit" msgstr "Dnf-rootbackend was niet geauthorizeerd\nYum Extender sluit nu af" -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/base/__init__.py:123 msgid "" "DNF is locked by another process.\n" "\n" "Yum Extender will exit" msgstr "DNF wordt door een ander proces vastgehouden\n\nYum Extender sluit nu af" -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "" - -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Zoeken naar afhankelijkheden" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "Afhankelijkheden opgelost" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 -msgid "Applying changes to the system" -msgstr "Veranderingen worden doorgevoerd" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Ondertekening van pakket controleren mislukte\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Downloaden fout(en)\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "Fout in transactie\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "Installeren pakket: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Verwijderen pakket: %s" - -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Verversen alle beschikbare updates" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Fout(en) bij het zoeken naar afhankelijkheden" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "Systeem voorbereiden op veranderingen" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "Kan beschermd(e) pakket(ten) niet verwijderen" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "Er staan geen acties in de wachtrij" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "Fout(en) bij opbouwen transactie" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Toevoegen van pakketten om te bekijken" - -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "Geschiedenistransactie ongedaan maken ging fout" - -#: ../src/yumex/dnf_backend.py:181 -#, python-format -msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Pakketten downloaden" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "Ondertekening van pakket controleren" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Verifiëren veranderingen op het systeem" - -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "" - -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Geïnstalleerde pakketten ophalen" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Beschikbare pakketten ophalen" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Beschikbare updates ophalen" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Alle pakketten ophalen" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Bijgewerkte pakketten" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Downgraded pakketten" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Pakketten aanmerken als verouderd" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Verouderde pakketten" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Gewiste pakketten" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Geïnstalleerde pakketten" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "Geïnstalleerd wegens afhankelijkheden" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Opnieuw geïnstalleerde pakketten" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Installeren" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Updaten" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Verwijderen" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Downgraden" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Vervangen" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "Updaten: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "Installeren: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Opruimen: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Verwijderen: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Aanmerken als verouderd: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Downgraden: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Verifiëren: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Bugfix" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Nieuw pakket" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Security" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Enhancement" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "De veranderingen zijn met succes doorgevoerd" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "Wilt u deze GPG-Key importeren,\nnodig om het %s pakket te verifiëren?\n\n key : 0x%s:\n Userid : \"%s\"\n Van : %s" + +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Opstarten van notificatie-icon ging fout" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Naam" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "Yum Extender sluit nu af" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Arch" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "Vastzetten notificatie-icon ging fout" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Ver" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Repository" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Grootte" + +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "Nieuwe updates" +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "Pakketgeschiedenis" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "%s beschikbare updates" +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Geschiedenis (Datum/Tijd)" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Klik om alles te installeren/verwijderen" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Klik om alles te selecteren/deselecteren" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Pakket" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Arch." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "klik om archs te filteren" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Samenvatting" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Repo." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Grootte" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Herïnstalleren pakket" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Downgraden pakket" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Pakketten" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Downgrade naar %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "Geschiedenis (Datum/Tijd)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "Pakketgeschiedenis" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Repository" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Bestandsnaam" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "Klik hier om te wisselen tussen\n geen/alles/default geselecteerd" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Naam" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Voorkeuren" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "vervangt {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr "Wilt u deze GPG-Key importeren,\nnodig om het %s pakket te verifiëren?\n\n key : 0x%s:\n Userid : \"%s\"\n Van : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "Pakketmetadata ophalen" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "Tags : %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "Links: " -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "Geen update-informatie voorhanden" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nFedora-updates :" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Release" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Type" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "Uitgegeven" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Beschrijving" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "Geen changelog-informatie voorhanden" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\nOnline changelog :" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "Geen bestandenlijstinformatie voorhanden" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Pakketmetadata ophalen" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Zoeken naar afhankelijkheden" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Afhankelijkheden opgelost" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Ondertekening van pakket controleren mislukte\n" + +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Installeren pakket: %s" + +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Verwijderen pakket: %s" + +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Voorkeuren" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Verversen alle beschikbare updates" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Installeer lokale pakketten op systeem" +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Systeem voorbereiden op veranderingen" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Installeren, updaten en verwijderen applicaties" +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Er staan geen acties in de wachtrij" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Toevoegen van pakketten om te bekijken" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Geschiedenistransactie ongedaan maken ging fout" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Grafische pakketmanager" +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Nieuwe updates" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "Yum extender is een grafisch pakketmanagement-toepassing. U kunt ermee zoeken om pakketten te installeren, te verwijderen of te updaten." -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "Het is ontworpen om u volledige controle te geven over de pakketten op uw computer. Alle gebruikers kunnen het gebruiken." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Features:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "Doorzoek paketten die geschikt zijn om te installeren of te updaten" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "Doorzoek pakketten die geïnstalleerd zijn op uw computer" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "Zoek pakketten op naam, samenvatting, beschrijving" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "Bekijk de pakketgeschiedenis op uw systeem" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "Doorzoek en installeer/verwijder pakketgroepen" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "Doorzoek pakketten op grootte, repository" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "Controleer welke pakketrepositories ingeschakeld zijn voor de huidige sessie" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "OK" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "Afbreken" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Installeren, updaten en verwijderen applicaties" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "'Alleen de nieuwste tonen' is actief\nwanneer Yum Extender start.\nZal alleen de laatste versie van \nbeschikbare pakketten laten zien" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Software Installer" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "Default: Toon alleen nieuwste" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "'Wissen ongebruikte afhankelijkheden' is\nactief wanneer Yum Extender start" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Installeer lokale pakketten op systeem" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "Default: Wissen ongebruikte afhankelijkheden" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "Verander de afsluitactie van het hoofdscherm, waardoor het scherm\nzich alleen maar verbergt wanneer de knop 'sluiten' wordt aangeklikt" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "Sluiten minimaliseert het scherm slechts" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "Toon de gereedschapsbalk in header vensterbalk, \nstandaard als GNOME wordt gebruikt" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "Gereedschapsbalk in header vensterbalk tonen" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "Alle beschikbare updates selecteren\nwanneer Yum Extender wordt gestart" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "Updates selecteren bij opstarten" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "Cache-vervalinterval (uren)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "Default: Opruimen oude install-only pakketten" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Alle beschikbare updates selecteren\nwanneer Yum Extender wordt gestart" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" -msgstr "Aantal te behouden install-only pakketten" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Updates selecteren bij opstarten" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Instellingen" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" + +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "Hoe vaak op updates gecontroleerd moet worden" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "Interval updatecontrole (in minuten)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Kleur voor geïnstalleerde pakketten" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "'Alleen de nieuwste tonen' is actief\nwanneer Yum Extender start.\nZal alleen de laatste versie van \nbeschikbare pakketten laten zien" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "'Wissen ongebruikte afhankelijkheden' is\nactief wanneer Yum Extender start" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Kleur voor beschikbare updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Kleur voor beschikbare pakketten" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Kleur voor verouderde pakketten" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Aantal te behouden install-only pakketten" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "Kleur voor beschikbare downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Geavanceerd" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "In huidige sessie gebruikte repositories" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "Opslaan op dit moment geselecteerde repositories,\nwaardoor deze worden gebruikt wanneer\nYum Extender de volgende keer opstart " -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "Geselecteerde repositories opslaan" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Repositories" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Uit te voeren pakketacties" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Grootte:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Updates" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Geïnstalleerd" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Beschikbaar" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Alle" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Groepen" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "Ongedaan maken" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "Geschiedenis" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Wachtende acties" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Pakketbeschrijving" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "Update-informatie" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Pakket bestandenlijst" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "Pakketvereisten" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "Prefix" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "Zoekwoord" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Velden" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Beschrijving" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "Uit te voeren pakketacties" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "Grootte:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "" diff --git a/po/pl.po b/po/pl.po index acc0a47..9f48faf 100644 --- a/po/pl.po +++ b/po/pl.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Piotr Drąg , 2014-2017 +# Piotr Drąg , 2014-2017,2021 # Tim Lauridsen , 2011 msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Piotr Drąg \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Piotr Drąg , 2014-2017,2021\n" "Language-Team: Polish (http://www.transifex.com/timlau/yumex/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,841 +19,1027 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "wersja API dnfdaemon: {self.running_api_version}\nnie zgadza się\nz wymaganą wersją API: {const.NEEDED_DAEMON_API}" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Pobieranie pakietów" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Sprawdzanie podpisów pakietów" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "Zastosowywanie zmian w systemie" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Sprawdza poprawność zmian w systemie" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "Pobieranie %d pliku (%sB)…" +msgstr[1] "Pobieranie %d plików (%sB)…" +msgstr[2] "Pobieranie %d plików (%sB)…" +msgstr[3] "Pobieranie %d plików (%sB)…" + +#: ../src/yumex/base/__init__.py:87 msgid "Refreshing Repository Metadata" msgstr "Odświeżanie metadanych repozytorium" -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 +#: ../src/yumex/base/__init__.py:93 msgid "Could not refresh the DNF cache (root)" msgstr "Nie można odświeżyć pamięci podręcznej programu DNF (root)" -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/base/__init__.py:117 msgid "" "DNF root backend was not authorized.\n" "Yum Extender will exit" msgstr "Mechanizm roota programu DNF nie został upoważniony.\nProgram Yum Extender zakończy działanie" -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/base/__init__.py:123 msgid "" "DNF is locked by another process.\n" "\n" "Yum Extender will exit" msgstr "Program DNF jest zablokowany przez inny proces.\n\nProgram Yum Extender zakończy działanie" -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "Ponowne wczytywanie informacji o pakiecie…" - -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Wyszukiwanie zależności" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "Rozwiązano zależności" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 -msgid "Applying changes to the system" -msgstr "Zastosowywanie zmian w systemie" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Błąd podczas sprawdzania podpisów pakietów\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Błędy pobierania\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "Błąd transakcji\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "Instalowanie pakietu: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "Pomyślnie zainstalowano %s" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Usuwanie pakietu: %s" - -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "Pomyślnie usunięto %s" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Aktualizowanie wszystkich dostępnych aktualizacji" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "Pomyślnie zastosowano dostępne aktualizacje" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Błędy podczas wyszukiwania zależności" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "Przygotowywanie systemu do zastosowania zmian" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "Nie można usunąć chronionych pakietów" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "Brak działań oczekujących w kolejce" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "Błędy podczas budowania transakcji" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Dodawanie pakietów do widoku" - -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "Błąd transakcji cofnięcia historii" - -#: ../src/yumex/dnf_backend.py:181 -#, python-format -msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "wersja API dnfdaemon: %d\nnie zgadza się\nz wymaganą wersją API: %d" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Pobieranie pakietów" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "Sprawdzanie podpisów pakietów" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Sprawdza poprawność zmian w systemie" - -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "Pobieranie plików: %d (%s B)…" - -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Uzyskiwanie zainstalowanych pakietów" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Uzyskiwanie dostępnych pakietów" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Uzyskiwanie dostępnych aktualizacji" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Uzyskiwanie wszystkich pakietów" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Zaktualizowane pakiety" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Zainstalowane poprzednie wersje pakietów" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Zastępowanie pakietów" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Zastąpione pakiety" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Usunięte pakiety" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "Usunięte pakiety" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Zainstalowane pakiety" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "Zainstalowane zależności" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Ponownie zainstalowane pakiety" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Instalowanie" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Aktualizowanie" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Usuwanie" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Instalowanie poprzedniej wersji pakietu" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Zastępowanie" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "Słabe zależności" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "Aktualizowanie: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "Zaktualizowano: %s" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "Instalowanie: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "Ponowne instalowanie: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Czyszczenie: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Usuwanie: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Zastępowanie: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Instalowanie poprzedniej wersji pakietu: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Sprawdzanie poprawności: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "Wykonywanie skryptu dla: %s" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Poprawki błędów" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Nowy pakiet" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Bezpieczeństwa" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Ulepszenia" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "Pomyślnie zastosowany zmiany w systemie" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "\n\nProgram Yum Extender zostanie zamknięty" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr " Czy zaimportować ten klucz GPG\n wymagany do sprawdzenia pakietu %s?\n\n Klucz : 0x%s:\n Identyfikator użytkownika : „%s”\n Od : %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Błąd podczas uruchamiania ikony powiadamiania" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "Pobieranie informacji o repozytorium" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "Program Yum Extender zostanie zamknięty" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Nazwa" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "Błąd podczas blokowania ikony powiadamiania" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Architektura" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "Nie teraz" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Wersja" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "Wyświetl aktualizacje" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Repozytorium" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "Nowe aktualizacje" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Rozmiar" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "Dostępne aktualizacje: %s" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "zastępuje {n}" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "Pakiety historii" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Historia (data/czas)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Kliknięcie instaluje wszystko/usuwa wszystko" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Kliknięcie zaznacza/odznacza wszystko" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Pakiet" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "Wersja" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Architektura" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "kliknięcie filtruje architektury" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Podsumowanie" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Repozytorium" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Rozmiar" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Zainstaluj pakiet ponownie" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Zainstaluj poprzednią wersję pakietu" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Pakiety" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "Pakiet do zaktualizowania" +msgstr[1] "Pakiety do zaktualizowania" +msgstr[2] "Pakiety do zaktualizowania" +msgstr[3] "Pakiety do zaktualizowania" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "Pakiet do zainstalowania" +msgstr[1] "Pakiety do zainstalowania" +msgstr[2] "Pakiety do zainstalowania" +msgstr[3] "Pakiety do zainstalowania" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "Pakiet do usunięcia" +msgstr[1] "Pakiety do usunięcia" +msgstr[2] "Pakiety do usunięcia" +msgstr[3] "Pakiety do usunięcia" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "Pakiet do ponownego zainstalowania" +msgstr[1] "Pakiety do ponownego zainstalowania" +msgstr[2] "Pakiety do ponownego zainstalowania" +msgstr[3] "Pakiety do ponownego zainstalowania" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "Plik RPM do zainstalowania" +msgstr[1] "Pliki RPM do zainstalowania" +msgstr[2] "Pliki RPM do zainstalowania" +msgstr[3] "Pliki RPM do zainstalowania" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "Grupa do zainstalowania" +msgstr[1] "Grupy do zainstalowania" +msgstr[2] "Grupy do zainstalowania" +msgstr[3] "Grupy do zainstalowania" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "Grupa do usunięcia" +msgstr[1] "Grupy do usunięcia" +msgstr[2] "Grupy do usunięcia" +msgstr[3] "Grupy do usunięcia" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "Pakiet do zainstalowania poprzedniej wersji" +msgstr[1] "Pakiety do zainstalowania poprzedniej wersji" +msgstr[2] "Pakiety do zainstalowania poprzedniej wersji" +msgstr[3] "Pakiety do zainstalowania poprzedniej wersji" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Instalacja poprzedniej wersji %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "Historia (data/czas)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "Pakiety historii" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Repozytorium" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Nazwa pliku" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "Kliknięcie tutaj przełącza między\nzaznaczeniem niczego/wszystkiego/domyślnych" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Nazwa" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Preferencje" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Architektura" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "Odśwież metadane" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Wersja" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Zakończ" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "zastępowanie {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "Menu główne" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr " Czy zaimportować ten klucz GPG\n wymagany do sprawdzenia pakietu %s?\n\n Klucz : 0x%s:\n Identyfikator użytkownika : „%s”\n Od : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "O programie" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "Uzyskiwanie metadanych pakietu" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "Skróty klawiszowe" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Dokumentacja" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Pomoc" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "Etykiety: %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "Odnośniki: " -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "Brak dostępnych informacji o aktualizacji" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nAktualizacje Fedory:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Wydanie" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Typ" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "Wydano" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Opis" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "Brak dostępnych informacji o zmianach" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\nDziennik zmian w sieci:" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "Brak dostępnych informacji o liście plików" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "Tylko najnowsze" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Uzyskiwanie metadanych pakietu" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "Usuń nieużywane wymagane pakiety" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "Pobieranie metadanych repozytorium" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " -msgstr "Wyczyść poprzednie pakiety „installonly”" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Ponowne wczytywanie informacji o pakiecie…" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "Opcje" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Wyszukiwanie zależności" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "O programie" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Rozwiązano zależności" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "Dokumentacja" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Błąd podczas sprawdzania podpisów pakietów\n" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "Pomoc" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "Błąd pobierania\n" +msgstr[1] "Błędy pobierania\n" +msgstr[2] "Błędy pobierania\n" +msgstr[3] "Błędy pobierania\n" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Preferencje" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "Błąd transakcji\n" +msgstr[1] "Błędy transakcji\n" +msgstr[2] "Błędy transakcji\n" +msgstr[3] "Błędy transakcji\n" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "Zakończ" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Instalowanie pakietu: %s" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Instalator pakietów Yumex" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "Pomyślnie zainstalowano %s" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Instaluje lokalne pakiety w systemie" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Usuwanie pakietu: %s" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "Pomyślnie usunięto %s" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Instalowanie, aktualizowanie i usuwanie aplikacji" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Aktualizowanie wszystkich dostępnych aktualizacji" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Instalator oprogramowania" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Pomyślnie zastosowano dostępne aktualizacje" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "Błąd podczas wyszukiwania zależności" +msgstr[1] "Błędy podczas wyszukiwania zależności" +msgstr[2] "Błędy podczas wyszukiwania zależności" +msgstr[3] "Błędy podczas wyszukiwania zależności" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Przygotowywanie systemu do zastosowania zmian" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "Nie można usunąć chronionego pakietu:" +msgstr[1] "Nie można usunąć chronionych pakietów:" +msgstr[2] "Nie można usunąć chronionych pakietów:" +msgstr[3] "Nie można usunąć chronionych pakietów:" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Brak działań oczekujących w kolejce" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "Błąd podczas budowania transakcji\n" +msgstr[1] "Błędy podczas budowania transakcji\n" +msgstr[2] "Błędy podczas budowania transakcji\n" +msgstr[3] "Błędy podczas budowania transakcji\n" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "Błąd podczas wyszukiwania zależności\n" +msgstr[1] "Błędy podczas wyszukiwania zależności\n" +msgstr[2] "Błędy podczas wyszukiwania zależności\n" +msgstr[3] "Błędy podczas wyszukiwania zależności\n" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Dodawanie pakietów do widoku" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Błąd transakcji cofnięcia historii" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Graficzny menedżer pakietów" +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Nie teraz" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Wyświetl aktualizacje" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Nowe aktualizacje" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "%d dostępna aktualizacja" +msgstr[1] "%d dostępne aktualizacje" +msgstr[2] "%d dostępnych aktualizacji" +msgstr[3] "%d dostępnych aktualizacji" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "Yum Extender" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "Tim Lauridsen" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "Yum Extender jest graficzną aplikacją do zarządzania pakietami. Umożliwia ona wyszukiwanie i przeglądanie pakietów oraz ich instalowanie, usuwanie i aktualizowanie." -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "Została ona zaprojektowana tak, aby każdy użytkownik miał pełną kontrolę nad pakietami w swoim komputerze." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Funkcje:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "Przeglądanie pakietów dostępnych do instalacji lub aktualizacji" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "Przeglądanie pakietów zainstalowanych w komputerze" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "Przeszukiwanie pakietów według nazwy, podsumowaniu, opisie" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "Wyświetlanie historii działań na pakietach w systemie" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "Przeglądanie i instalowanie/usuwanie grup pakietów" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "Przeglądanie pakietów według rozmiaru, repozytorium" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "Kontrolowanie, które repozytoria pakietów są włączone dla bieżącej sesji" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "OK" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "Anuluj" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Instalowanie, aktualizowanie i usuwanie aplikacji" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "Wyświetlanie najnowszych jest aktywne tylko\npo uruchomieniu programu Yum Extender.\nZostaną wyświetlone tylko najnowsze wersje\ndostępnych pakietów" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Instalator oprogramowania" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "Domyślnie: wyświetlanie tylko najnowszych" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "Instalator pakietów Yum Extender" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "Opcja czyszczenia nieużywanych wymagań jest\naktywna po uruchomieniu programu Yum Extender" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Instaluje lokalne pakiety w systemie" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "Domyślnie: usuwanie nieużywanych wymagań" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "Błędy" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "Zmiana działania zamknięcia głównego okna tak, aby było tylko\nukrywane po kliknięciu przycisku zamknięcia" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "Motyw" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "Zamknięcie tylko minimalizuje okno" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "Ciemny motyw" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "Używanie paska narzędzi w nagłówku okna\npodczas używania środowiska GNOME" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "Pasek narzędziowy na pasku nagłówka okna" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "Zaznaczenie wszystkich dostępnych aktualizacji po \nuruchomieniu programu Yum Extender" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "Zaznaczanie aktualizacji po uruchomieniu" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "Czas między wygasaniem i aktualizowaniem pamięci podręcznej programu DNF (0 = wyłączone)" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "Czas między wygasaniem pamięci podręcznej (w godzinach)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "12" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "Domyślnie: czyszczenie poprzednich pakietów „installonly”" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Zaznaczenie wszystkich dostępnych aktualizacji po \nuruchomieniu programu Yum Extender" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Zaznaczanie aktualizacji po uruchomieniu" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" -msgstr "Liczba zachowywanych pakietów „installonly”" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "Domyślnie widoczne wyszukiwanie" -#: ../src/yumex.ui.h:26 -msgid "3" -msgstr "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "Ekran postępu podczas długich zadań" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Ustawienia" +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "Interfejs" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "Automatyczne uruchamianie usługi sprawdzania aktualizacji programu Yum Extender podczas logowania użytkownika" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "Uruchamianie usługi sprawdzania aktualizacji podczas logowania użytkownika" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "Jak często uruchamiać sprawdzanie aktualizacji" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "Czas między sprawdzaniem aktualizacji (w minutach)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "Usługa sprawdzania aktualizacji" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Kolor zainstalowanych pakietów" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "Wyświetlanie najnowszych jest aktywne tylko\npo uruchomieniu programu Yum Extender.\nZostaną wyświetlone tylko najnowsze wersje\ndostępnych pakietów" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Kolor dostępnych aktualizacji" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "Wyświetlanie tylko najnowszych" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Kolor dostępnych pakietów" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "Opcja czyszczenia nieużywanych wymagań jest\naktywna po uruchomieniu programu Yum Extender" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Kolor zastąpionych pakietów" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "Usuwanie nieużywanych wymagań" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "Kolor dostępnych poprzednich wersji pakietów" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "Czyszczenie poprzednich pakietów „installonly”" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Zaawansowane" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Liczba zachowywanych pakietów „installonly”" + +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "Opcje programu DNF" + +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "Repozytoria używane w bieżącej sesji" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "Zapisanie obecnie wybranych repozytoriów tak,\naby były używane podczas następnego\nuruchomienia programu Yum Extender" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "Zapisz zaznaczone repozytoria" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Repozytoria" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "etykieta" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "Działanie…" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "Strony" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "Przejdź do strony pakietów" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "Przejdź do strony grup" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "Przejdź do strony historii" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "Przejdź do strony kolejki" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "Filtry" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "Wyświetl aktualizacje" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "Wyświetl zainstalowane" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" -msgstr "Wyświetla dostępne aktualizacje" +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "Wyświetl dostępne" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "Wyświetl wszystkie" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "Widok informacji" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "opis pakietu" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "informacje o aktualizacji pakietu" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "pliki pakietu" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "wymagania pakietu" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "Widok pakietów" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "Zaznacz wszystkie pakiety w widoku" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "Inne" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "Zastosuj oczekujące działania" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "Opcje filtrowania" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "Przełącz pasek wyszukiwania" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "Otwórz preferencje" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "Otwórz dokumentację" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Działania na pakietach do wykonania" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Rozmiar:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "Więcej opcji filtrowania" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "Wyświetla dostępne aktualizacje (Ctrl+1)" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Aktualizacje" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "Wyświetla zainstalowane pakiety" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "Wyświetla zainstalowane pakiety (Ctrl+2)" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Zainstalowane" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "Wyświetla dostępne pakiety" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "Wyświetla dostępne pakiety (Ctrl+3)" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Dostępne" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "Wyświetla wszystkie pakiety" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "Wyświetla wszystkie pakiety (Ctrl+4)" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Wszystko" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Grupy" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "Cofnij" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "Historia" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Oczekujące czynności" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "Kolejka" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Opis pakietu" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "Informacje o aktualizacji pakietu" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Lista plików w pakiecie" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "Wymagania pakietu" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "Wyszukiwanie (wyświetla/ukrywa)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "Wersje pakietu" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "Zastosuj oczekujące działania" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "Architektury" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "Tylko najnowsze" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "Wyświetla tylko najnowsze wersje pakietów" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "Przedrostek" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "Nazwy pakietów zaczynające się od klucza wyszukiwania" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "Słowo kluczowe" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "Nazwy pakietów zawierające klucz wyszukiwania" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Pola" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "Podane pola pakietów zawierające klucze wyszukiwania." -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "Nazwa pakietu" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "Podsumowanie pakietu" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Opis" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "Opis pakietu" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "Działania na pakietach do wykonania" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "Usuń zaznaczone" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "Rozmiar:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Wyszukiwanie (wyświetla/ukrywa)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Zastosuj oczekujące działania" diff --git a/po/pt.po b/po/pt.po index 4d9e301..d92cf4c 100644 --- a/po/pt.po +++ b/po/pt.po @@ -7,851 +7,1021 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Portuguese (http://www.transifex.com/timlau/yumex/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/pt_BR.po b/po/pt_BR.po index 0fdc298..f2aec28 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -4,855 +4,1026 @@ # # Translators: # Felipe Braga , 2015 +# Rodrigo S, 2021 msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Rodrigo S, 2021\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/timlau/yumex/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "Atualizando metadados do repositório" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "Não foi possível atualizar o cache do DNF (root)" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "O backend root do DNF não foi autorizado.\nO Yum Extender será fechado" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "O DNF está bloqueado por outro processo.\n\nO Yum Extender será fechado" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Verificando dependências" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Fazendo o download de pacotes" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "Dependências resolvidas" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Verificando a assinatura dos pacotes" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "Aplicando alterações no sistema" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Erro ao verificar as assinaturas de pacote\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Erro(s) de download\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "Erro na transação\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "Instalando pacote: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Removendo pacote: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Verificando mudanças no sistema" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Fazendo todas as atualizações disponíveis" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Erro(s) ao verificar dependências" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "Preparando o sistema para aplicar mudanças" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "Não foi possível remover pacote(s) protegidos" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "Não há ações pendentes na fila" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "Erro(s) ao construir transações" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "Baixando %d arquivos (%sB)..." +msgstr[1] "Baixando %d arquivos (%sB)..." +msgstr[2] "Baixando %d arquivos (%sB)..." -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Adicionar pacotes na visualização" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "Atualizando Metadados de Repositório" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "Erro ao desfazer transação do histórico" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "Não foi possível atualizar o cache do DNF (root)" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Fazendo o download de pacotes" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "Verificando a assinatura dos pacotes" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Verificando mudanças no sistema" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" +msgstr "O backend root do DNF não foi autorizado.\nO Yum Extender será fechado" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "" +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" +msgstr "O DNF está bloqueado por outro processo.\n\nO Yum Extender será fechado" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Obtendo pacotes instalados" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Obtendo pacotes disponíveis" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Obtendo atualizações disponíveis" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Obtendo todos os pacotes" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Pacotes atualizados" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Pacotes em downgrade" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Pacotes em obsolescência" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Pacotes obsoletos" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Pacotes apagados" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "Pacotes removidos" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Pacotes instalados" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "Instalados por dependências" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Pacotes reinstalados" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Instalando" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Atualizando" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Removendo" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Revertendo versão" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Substituindo" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "Dependências fracas" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "Atualizando: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "Atualizado: %s" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "Instalando: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" -msgstr "" +msgstr "Reinstalando: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Limpeza: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Removendo: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Tornando obsoleto: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Revertendo versão: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Verificando: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "Executando scriptlet para: %s" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Correção" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Novo pacote" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Segurança" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Melhoria" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "Alterações aplicadas no sistema com sucesso" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "Você deseja importar a chave GPG\nnecessária para verificar o pacote %s?\n\nChave: 0x%s:\nIdentificação do usuário: \"%s\"\nDe: %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Erro ao iniciar o ícone de notificações" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "Buscando informações do repositório" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "O Yum Extender será fechado" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Nome" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "Erro ao bloquear o ícone de notificações" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Arquitetura" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Versão" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Repositório" + +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Tam." + +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "Novas atualizações" +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "Pacotes do histórico" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "%s atualizações disponíveis" +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Histórico (data/hora)" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Clique para instalar todos/remover todos" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Clique para selecionar/desselecionar todos" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Pacote" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "Versão" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Arch." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "clique para filtrar arquiteturas" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Resumo" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Repo." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Tam." - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Reinstalar pacote" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Downgrade de pacote" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Pacotes" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "Pacotes para atualizar" +msgstr[1] "Pacotes para atualizar" +msgstr[2] "Pacotes para atualizar" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "Pacote para reinstalar" +msgstr[1] "Pacotes para reinstalar" +msgstr[2] "Pacotes para reinstalar" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "Pacote a remover" +msgstr[1] "Pacotes para remover" +msgstr[2] "Pacotes para remover" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "Pacotes para reinstalar" +msgstr[1] "Pacotes para reinstalar" +msgstr[2] "Pacotes para reinstalar" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "Arquivos RPM para instalar" +msgstr[1] "Arquivos RPM para instalar" +msgstr[2] "Arquivos RPM para instalar" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "Grupos para instalar" +msgstr[1] "Grupos para instalar" +msgstr[2] "Grupos para instalar" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "Grupo para remover" +msgstr[1] "Grupo para remover" +msgstr[2] "Grupo para remover" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "Pacotes para retornar a versão anterior" +msgstr[1] "Pacotes para retornar a versão anterior" +msgstr[2] "Pacotes para retornar a versão anterior" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Reverter versão para %s" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "Histórico (data/hora)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "Pacotes do histórico" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Repositório" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Nome do arquivo" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "Clique aqui para alternar entre\nselecionar nenhum/selecionar todos/seleção padrão" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Nome" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Preferências" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Arquitetura" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "Atualizar Metadados" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Versão" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Sair" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "substituindo {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "Menu principal" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr "Você deseja importar a chave GPG\nnecessária para verificar o pacote %s?\n\nChave: 0x%s:\nIdentificação do usuário: \"%s\"\nDe: %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "Sobre" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "Obtendo informações do pacote" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "Atalhos de Teclado" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Documentação" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Ajuda" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "Tags: %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "Links: " -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "Nenhuma informação de atualização está disponível" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nAtualizações do Fedora:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Release" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Tipo" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "Emitido" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Descrição" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "Nenhuma informação de histórico de alterações disponível" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\nHistórico de alterações online:" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "Nenhuma informação de lista de arquivos disponível" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Obtendo informações do pacote" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "Baixando Metadados do Repositório" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " -msgstr "" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Recarregando informações do pacote ..." -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Verificando dependências" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Dependências resolvidas" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Erro ao verificar as assinaturas de pacote\n" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "Erros baixando\n" +msgstr[1] "Erros ao baixar\n" +msgstr[2] "Erros ao baixar\n" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Preferências" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "Erros nas transações\n" +msgstr[1] "Erros nas transações\n" +msgstr[2] "Erros nas transações\n" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Instalando pacote: %s" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Instalador de pacotes Yumex" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%s foi instalado com sucesso" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Instalar pacotes locais no sistema" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Removendo pacote: %s" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s foi removido com sucesso" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Instalar, atualizar e remover aplicativos" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Fazendo todas as atualizações disponíveis" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Instalador de programas" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "As atualizações disponíveis foram aplicadas com sucesso" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "Erros pesquisando por dependências" +msgstr[1] "Erros pesquisando por dependências" +msgstr[2] "Erros pesquisando por dependências" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Preparando o sistema para aplicar mudanças" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "Não é possível remover pacotes protegidos:" +msgstr[1] "Não é possível remover pacotes protegidos:" +msgstr[2] "Não é possível remover pacotes protegidos:" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Não há ações pendentes na fila" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "Erros na construção de transação\n" +msgstr[1] "Erros na construção de transação\n" +msgstr[2] "Erros na construção de transação\n" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "Erros pesquisando dependências\n" +msgstr[1] "Erros pesquisando dependências\n" +msgstr[2] "Erros pesquisando dependências\n" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Adicionar pacotes na visualização" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Erro ao desfazer transação do histórico" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Agora não" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Mostrar atualizações" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Novas atualizações" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "%d atualizações disponíveis" +msgstr[1] "%d atualizações disponíveis" +msgstr[2] "%d atualizações disponíveis" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Gerenciador de pacotes gráfico" +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "O Yum Extender é um aplicativo de gerenciamento de pacotes gráfico. Ele permite que você pesquise e procure pacotes para instalar, remover e atualizar em seu computador." -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "Ele é projetado para lhe dar controle total sobre os pacotes instalados em seu computador e pode ser usado por qualquer usuário que tenha as permissões adequadas." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Funcionalidades:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "Listar pacotes disponíveis para instalação ou atualização" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "Listar pacotes instalados em seu computador" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "Procurar pacotes por nome, resumo ou descrição" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "Ver o histórico das alterações em pacotes em seu sistema" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "Listar e instalar/remover grupos de pacotes" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "Listar pacotes por tamanho ou repositório de origem" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "Controlar que repositórios de pacotes estão disponíveis na sessão atual" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "OK" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "Cancelar" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Instalar, atualizar e remover aplicativos" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "A exibição apenas da versão mais\nrecente dos pacotes disponíveis é ativada\nquando o Yum Extender iniciar." +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Instalador de programas" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "Padrão: mostrar apenas a versão mais recente" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "A opção de apagar pacotes requeridos mas não mais usados\né ativada quando o Yum Extender inicia" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Instalar pacotes locais no sistema" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "Padrão: apagar pacotes requeridos não mais usados" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "Erros" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "Muda a ação de fechar para a janela principal, de forma que a janela\né apenas minimizada quando o botão de fechar é acionado" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "Aparência" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "Fechar irá apenas minimizar a janela" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "Use Aparência Escura" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "Usar a barra de ferramentas no cabeçalho\npadrão da janela no GNOME" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "Mostrar a barra de ferramentas no \"headerbar\"" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "Selecionar todas as atualizações disponíveis\nquando o Yum Extender foi iniciado" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "Selecionar atualizações ao iniciar" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" -msgstr "" +msgstr "O intervalo em hora, quando o cache DNF terá expirado e será atualizado (0 = desativado)" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "Intervalo de expiração do cache (horas)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" -msgstr "" +msgstr "12" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "Padrão: Limpar versões antigas de pacotes \"Installonly\"" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Selecionar todas as atualizações disponíveis\nquando o Yum Extender foi iniciado" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" -msgstr "Número de pacotes \"Installonly\" a manter" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Selecionar atualizações ao iniciar" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "Pesquisa visível por padrão" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Configurações" +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "UI" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" -msgstr "" +msgstr "Inicie automaticamente o verificador de atualização do Yum Extender no login do usuário" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" -msgstr "" +msgstr "Inicie o verificador de atualização no login do usuário" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "Qual o intervalo para efetuar a verificação de atualizações" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "Intervalo de verificação de atualizações (minutos)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" -msgstr "" +msgstr "Verificando Atualização" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Cor para pacotes instalados" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "A exibição apenas da versão mais\nrecente dos pacotes disponíveis é ativada\nquando o Yum Extender iniciar." + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "Mostrar apenas o mais recente" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "A opção de apagar pacotes requeridos mas não mais usados\né ativada quando o Yum Extender inicia" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Cor para atualizações disponíveis" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "Apagar Requisitos Não Utilizados" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Cor para pacotes disponíveis" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "Limpar somente pacotes antigos de instalação" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Cor para pacotes obsoletos" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Número de pacotes \"Installonly\" a manter" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "Cor para downgrades disponíveis" +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Avançado" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "Opções DNF" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "Repositórios usados na sessão atual" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "Salva os repositórios atualmente selecionados\npara que eles sejam usados em próximas\nexecuções do Yum Extender" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "Salvar repositórios selecionados" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Repositórios" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "rótulo" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Ações sobre pacotes a efetuar" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Tamanho:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "Mais opções de filtragem" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "Mostrar atualizações disponíveis (Ctrl+1)" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Atualizações" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "Mostra os pacotes instalados (Ctrl+2)" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Instalados" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "Mostrar pacotes disponíveis (Ctrl+3)" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Disponíveis" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "Mostrar todos os pacotes (Ctrl+4)" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Todos" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Grupos" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "Desfazer" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "Histórico" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Ações pendentes" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "Fila" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Descrição do pacote" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "Informações de atualização do pacote" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Lista de arquivos do pacote" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "Requisitos do pacote" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "Versões Do Pacote" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "Archs" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "Apenas o mais recente" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "Mostra apenas as versões mais recentes do pacote" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "Prefixo" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" -msgstr "" +msgstr "Nomes de pacotes começando com o pesquisado" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "Palavra-chave" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" -msgstr "" +msgstr "Nomes de pacotes contendo o pesquisado" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Atributos" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." -msgstr "" +msgstr "Campos de pacote especificados contendo o pesquisado." -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" -msgstr "" +msgstr "Nome do pacote" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" -msgstr "" +msgstr "Resumo do pacote" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Descrição" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" -msgstr "" +msgstr "Descrição do pacote" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "Ações sobre pacotes a efetuar" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "Remover Selecionado" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "Tamanho:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Pesquisar (mostrar / ocultar)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Aplicar ações pendentes" diff --git a/po/ru.po b/po/ru.po index d6b8aca..ca4ad3f 100644 --- a/po/ru.po +++ b/po/ru.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# VictorR2007 , 2022 msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: VictorR2007 , 2022\n" "Language-Team: Russian (http://www.transifex.com/timlau/yumex/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +18,1027 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "api версия у dnfdaemon : {self.running_api_version}\nне соответствует\nтрубуется api версия : {const.NEEDED_DAEMON_API}" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Загружаются пакеты" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Проверяются подписи пакетов" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" -msgstr "" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" +msgstr "Применение изменений к системе" -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Проверять изменения в системе" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "Загрузка %d файла (%sB)..." +msgstr[1] "Загрузка %d файлов (%sB)..." +msgstr[2] "Загрузка %d файлов (%sB)..." +msgstr[3] "Загрузка %d файла (%sB)..." + +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "Обновление метаданных репозиториев" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "Не удалось обновить кеш DNF (root)" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" +msgstr "Администратор движка DNF не авторизован.\nYum Extender завершит работу" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "" +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" +msgstr "DNF заблокирован другим процессом.\n\nYum Extender завершит работу" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" -msgstr "" +msgstr "Получение установленных пакетов" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" -msgstr "" +msgstr "Получение доступных пакетов" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" -msgstr "" +msgstr "Получение доступных обновлений" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" -msgstr "" +msgstr "Получение всех пакетов" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" -msgstr "" +msgstr "Обновлённые пакеты" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" -msgstr "" +msgstr "Пониженные пакеты" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" -msgstr "" +msgstr "Устаревание пакетов" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" -msgstr "" +msgstr "Устаревшие пакеты" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" -msgstr "" +msgstr "Стёртые пакеты" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "Пакеты удалены" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" -msgstr "" +msgstr "Установленные пакеты" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" -msgstr "" +msgstr "Установленные для зависимостей" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" -msgstr "" +msgstr "Переустановленные пакеты" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" -msgstr "" +msgstr "Установка" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" -msgstr "" +msgstr "Обновление" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" -msgstr "" +msgstr "Удаление" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" -msgstr "" +msgstr "Понижение" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" -msgstr "" +msgstr "Замена" + +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "Слабые зависимости" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" -msgstr "" +msgstr "Обновление: %s" + +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "Обновлён: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" -msgstr "" +msgstr "Установка: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" -msgstr "" +msgstr "Переустановка: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" -msgstr "" +msgstr "Очистка: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" -msgstr "" +msgstr "Удаление: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" -msgstr "" +msgstr "Устаревание: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" -msgstr "" +msgstr "Понижение: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" -msgstr "" +msgstr "Проверка: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "Выполняется скриплет для: %s" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" -msgstr "" +msgstr "Багфикс" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" -msgstr "" +msgstr "Новый пакет" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" -msgstr "" +msgstr "Безопасность" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" -msgstr "" +msgstr "Увеличение" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "Вы хотите импортировать этот GPG ключ\nтребуемый для верификации %s пакета?\n\nКлюч : 0x%s:\n Userid : \"%s\"\nИз : %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "Получение информации о репозитории" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Название" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Платформа" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Версия" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Репозиторий" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Размер" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "замена {n}" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "История пакетов" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Журнал (дата/время)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" -msgstr "" +msgstr "Щелкните, чтобы установить все/удалить все" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" -msgstr "" +msgstr "Щелкните, чтобы выбрать/отменить выбор всех" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" -msgstr "" +msgstr "Пакеты" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "" +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "Версия" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." -msgstr "" - -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" +msgstr "Платформа" -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" -msgstr "" - -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" +msgstr "Сводка" -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" -msgstr "" +msgstr "Переустановка пакета" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" -msgstr "" +msgstr "Откат к предыдущей версии пакета" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" -msgstr "" - -#: ../src/yumex/gui/views.py:894 +msgstr "Пакеты" + +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "Пакет для обновления" +msgstr[1] "Пакета для обновления" +msgstr[2] "Пакетов для обновления" +msgstr[3] "Пакет для обновления" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "Пакет для установки" +msgstr[1] "Пакета для установки" +msgstr[2] "Пакетов для установки" +msgstr[3] "Пакет для установки" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "Пакет для удаления" +msgstr[1] "Пакета для удаления" +msgstr[2] "Пакетов для удаления" +msgstr[3] "Пакет для удаления" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "Пакет для переустановки" +msgstr[1] "Пакета для переустановки" +msgstr[2] "Пакетов для переустановки" +msgstr[3] "Пакет для переустановки" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "RPM файл для установки" +msgstr[1] "RPM файлы для установки" +msgstr[2] "RPM файлы для установки" +msgstr[3] "RPM файлы для установки" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "Группа для установки" +msgstr[1] "Группы для установки" +msgstr[2] "Групп для установки" +msgstr[3] "Группа для установки" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "Группа для удаления" +msgstr[1] "Группы для удаления" +msgstr[2] "Группы для удаления" +msgstr[3] "Группы для удаления" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "Пакет для отката версии" +msgstr[1] "Пакеты для отката версии" +msgstr[2] "Пакеты для отката версии" +msgstr[3] "Пакеты для отката версии" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " -msgstr "" +msgstr "Понижен до %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" -msgstr "" +msgstr "Имя файла" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" -msgstr "" +msgstr "Нажмите здесь, чтобы переключиться между\nнет / все/ выбран по умолчанию" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Параметры" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "Обновить метаданные" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Выход" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "Главное меню" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr "" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "О программе" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "Сочетания клавиш" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Документация" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Справка" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" -msgstr "" +msgstr "Метки: %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " -msgstr "" +msgstr "Ссылки: " -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" -msgstr "" +msgstr "Информация об обновлении отсутствует" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" -msgstr "" +msgstr "\nОбновления Fedora:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" -msgstr "" +msgstr "Релиз" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" -msgstr "" +msgstr "Тип" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" -msgstr "" - -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" +msgstr "Выдано" -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" -msgstr "" +msgstr "Информация об изменениях недоступна" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" -msgstr "" +msgstr "\nОнлайн-журнал изменений:" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" -msgstr "" +msgstr "Информация о списке файлов отсутствует" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Получение метаданных пакета" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "Обновление метаданных репозиториев" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " -msgstr "" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Перезагрузка информации о пакете..." -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Поиск зависимостей" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Зависимости разрешены" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Ошибка при проверке подписей пакетов\n" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "Ошибка при загрузке\n" +msgstr[1] "Ошибки при загрузке\n" +msgstr[2] "Ошибок при загрузке\n" +msgstr[3] "Ошибок при загрузке\n" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "Ошибка в транзакции\n" +msgstr[1] "Ошибки в транзакции\n" +msgstr[2] "Ошибок в транзакции\n" +msgstr[3] "Ошибок в транзакции\n" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Установленные пакеты: %s" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%s был успешно установлен" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Удаление пакета: %s" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s был успешно удален" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Обновление всех доступных обновлений" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Доступные обновления успешно применены" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "Ошибка при поиске зависимостей" +msgstr[1] "Ошибка при поиске зависимостей" +msgstr[2] "Ошибка при поиске зависимостей" +msgstr[3] "Ошибка при поиске зависимостей" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Подготовка системы к применению изменений" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "Не могу удалить защищенный пакет:" +msgstr[1] "Не могу удалить защищенные пакеты:" +msgstr[2] "Не могу удалить защищенные пакеты:" +msgstr[3] "Не могу удалить защищенные пакеты:" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Нет ожидающих в очереди действий" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "Ошибка при построении транзакции\n" +msgstr[1] "Ошибки при построении транзакции\n" +msgstr[2] "Ошибки при построении транзакции\n" +msgstr[3] "Ошибки при построении транзакции\n" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "Ошибка при поиске зависимостей\n" +msgstr[1] "Ошибки при поиске зависимостей\n" +msgstr[2] "Ошибки при поиске зависимостей\n" +msgstr[3] "Ошибки при поиске зависимостей\n" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Добавление пакетов для просмотра" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Ошибка в отмене истории транзакции" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Не сейчас" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Показать обновления" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Новое обновление" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "%d доступное обновление" +msgstr[1] "%d доступных обновления" +msgstr[2] "%d доступных обновлений" +msgstr[3] "%d доступное обновление" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "Yum Extender" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "Tim Lauridsen" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." -msgstr "" +msgstr "Yum Extender - это графическое приложение для управления пакетами. Он позволяет вамискать и просматривать пакеты для установки, удаления и обновления на вашемкомпьютере." -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." -msgstr "" +msgstr "Он предназначен для того, чтобы дать вам полный контроль над пакетами на вашем компьютере и использоваться всеми пользователями." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" -msgstr "" +msgstr "Возможности:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" -msgstr "" +msgstr "Просмотр пакетов, доступных для установки или обновления" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" -msgstr "" +msgstr "Просмотр пакетов, установленных на вашем компьютере" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" -msgstr "" +msgstr "Поиск пакетов по названию, сводке, описанию" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" -msgstr "" +msgstr "Следите за историей действий с пакетами в вашей системе" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" -msgstr "" +msgstr "Просмотр и установка/удаление групп пакетов" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" -msgstr "" +msgstr "Просмотр пакетов по размеру, репозиторию" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" -msgstr "" +msgstr "Управляйте тем, какие репозитории пакетов включены для текущего сеанса" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Установка, обновление и удаление приложений" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Установщик программного обеспечения" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "Установщик пакета Yum Extender" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Установка локальных пакетов в системе" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "Ошибки" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "Оформление" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "Использовать тёмное оформление" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" -msgstr "" +msgstr "Используйте панель инструментов в заголовке\nстандартного окна при использовании GNOME" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" -msgstr "" +msgstr "Показывать панель инструментов в заголовке окна" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" -msgstr "" +msgstr "Интервал в часах, когда срок действия кэша DNF истекает и обновляется (0 =отключено)" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" -msgstr "" +msgstr "Интервал истечения срока действия кэша (часы)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" -msgstr "" +msgstr "12" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Выберите все доступные обновления \nпри запуске Yum Extender" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" -msgstr "" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Выбирать обновления при запуске" -#: ../src/yumex.ui.h:26 -msgid "3" -msgstr "" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "Поиск виден по умолчанию" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "Показывать заставку прогресса при длительном выполнении задачи" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "Пользовательский интерфейс" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" -msgstr "" +msgstr "Автоматический запуск средства проверки обновлений Yum Extender при входе пользователя в систему" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" -msgstr "" +msgstr "Запускать проверку обновлений при входе пользователя в систему" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" -msgstr "" +msgstr "Как часто будет выполняться проверка обновлений" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" -msgstr "" +msgstr "Интервал между поисками обновлений (в минутах)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" -msgstr "" +msgstr "Средство проверки обновлений" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "Показывать новые только при\nзапуске Yum Extender.\nПокажет только последнюю версию\nдоступных пакетов" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "Показывать только новейшие" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "Параметр удаления неиспользуемых зависимостей\nактивен при запуске Yum Extender" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "Удалять неиспользуемые зависимости" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "Очистка старых пакетов только для установки" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Количество пакетов только для установки, которые необходимо сохранять" + +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "Параметры DNF" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" -msgstr "" +msgstr "Репозитории, используемые в текущем сеансе" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" -msgstr "" +msgstr "Сохраните текущие выбранные репозитории,\nчтобы они использовались\nпри следующем запуске Yum Extende" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" -msgstr "" +msgstr "Сохранить выбранные репозитории" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" -msgstr "" +msgstr "Репозитории" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "Работаю ..." -#: ../src/yumex.ui.h:46 -msgid "Show available updates" -msgstr "" +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "Страницы" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "Перейти на страницу пакетов" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "Перейти на страницу группы" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "Перейти на страницу истории" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "Перейти на страницу очереди" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "Фильтры" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "Показывать обновления" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "Показывать установленные" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "Показывать доступные" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "Показывать все" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "Просмотр информации" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "Описание пакета" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "информация об обновлении пакета" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "Файлы пакетов" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "требование к пакету" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "Просмотр пакета" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "Выбрать все видимые пакеты" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "Другое" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "Применить запланированные действия" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "Настройка фильтра" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "Переключить панель поиска" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "Открыть настройки" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "Открыть документацию" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Действия пакета для выполнения" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Размер:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "Дополнительные параметры фильтрации" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "Показать доступные обновления (Ctrl+1)" + +#: ../data/ui/yumex.ui:312 msgid "Updates" -msgstr "" +msgstr "Обновления" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "Показать установленные пакеты (Ctrl+2)" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" -msgstr "" +msgstr "Установленные" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "Показать доступные пакеты (Ctrl+3)" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" -msgstr "" +msgstr "Доступные" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "Показывать все пакеты (Ctrl+4)" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" -msgstr "" +msgstr "Все" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" -msgstr "" +msgstr "Группы" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" -msgstr "" +msgstr "Отменить" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" -msgstr "" +msgstr "Журнал" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "Очередь" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" -msgstr "" +msgstr "Описание пакета" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" -msgstr "" +msgstr "Информация об обновлении пакета" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" -msgstr "" +msgstr "Список файлов пакета" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" -msgstr "" +msgstr "Требования к пакету" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "Версии пакетов" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "Архит." + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "Только новейшие" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "Показывать только последние версии пакетов" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" -msgstr "" +msgstr "Префикс" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" -msgstr "" +msgstr "Имена пакетов, начинающиеся с ключа поиска" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" -msgstr "" +msgstr "Ключевое слово" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" -msgstr "" +msgstr "Имена пакетов, содержащие ключ поиска" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" -msgstr "" +msgstr "Поля" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." -msgstr "" +msgstr "Указанные поля пакета, содержащие ключи поиска." -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" -msgstr "" +msgstr "Имя пакета" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" -msgstr "" +msgstr "Краткое описание пакета" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Описание" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" -msgstr "" +msgstr "Описание пакета" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "Удалить выбранные" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Поиск (Скрыть или показать)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Применить запланированные действия" diff --git a/po/ru_RU.po b/po/ru_RU.po new file mode 100644 index 0000000..a85cba1 --- /dev/null +++ b/po/ru_RU.po @@ -0,0 +1,1043 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Yum Extender\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Russian (Russia) (http://www.transifex.com/timlau/yumex/language/ru_RU/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru_RU\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "api версия у dnfdaemon : {self.running_api_version}\nне соответствует\nтрубуется api версия : {const.NEEDED_DAEMON_API}" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Загружаются пакеты" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Проверяются подписи пакетов" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "Применение изменений к системе" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Проверять изменения в системе" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "Загрузка %d файла (%sB)..." +msgstr[1] "Загрузка %d файлов (%sB)..." +msgstr[2] "Загрузка %d файлов (%sB)..." +msgstr[3] "Загрузка %d файла (%sB)..." + +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "Обновление метаданных репозиториев" + +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "Не удалось обновить кеш DNF (root)" + +#: ../src/yumex/base/__init__.py:117 +msgid "" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" +msgstr "Администратор движка DNF не авторизован.\nYum Extender завершит работу" + +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" +msgstr "DNF заблокирован другим процессом.\n\nYum Extender завершит работу" + +#: ../src/yumex/common/const.py:127 +msgid "Getting installed packages" +msgstr "Получение установленных пакетов" + +#: ../src/yumex/common/const.py:128 +msgid "Getting available packages" +msgstr "Получение доступных пакетов" + +#: ../src/yumex/common/const.py:129 +msgid "Getting available updates" +msgstr "Получение доступных обновлений" + +#: ../src/yumex/common/const.py:130 +msgid "Getting all packages" +msgstr "Получение всех пакетов" + +#: ../src/yumex/common/const.py:152 +msgid "Updated packages" +msgstr "Обновлённые пакеты" + +#: ../src/yumex/common/const.py:153 +msgid "Downgraded packages" +msgstr "Пониженные пакеты" + +#: ../src/yumex/common/const.py:154 +msgid "Obsoleting packages" +msgstr "Устаревание пакетов" + +#: ../src/yumex/common/const.py:155 +msgid "Obsoleted packages" +msgstr "Устаревшие пакеты" + +#: ../src/yumex/common/const.py:156 +msgid "Erased packages" +msgstr "Стёртые пакеты" + +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "Пакеты удалены" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 +msgid "Installed packages" +msgstr "Установленные пакеты" + +#: ../src/yumex/common/const.py:160 +msgid "Installed for dependencies" +msgstr "Установленные для зависимостей" + +#: ../src/yumex/common/const.py:161 +msgid "Reinstalled packages" +msgstr "Переустановленные пакеты" + +#: ../src/yumex/common/const.py:165 +msgid "Installing" +msgstr "Установка" + +#: ../src/yumex/common/const.py:166 +msgid "Updating" +msgstr "Обновление" + +#: ../src/yumex/common/const.py:167 +msgid "Removing" +msgstr "Удаление" + +#: ../src/yumex/common/const.py:168 +msgid "Downgrading" +msgstr "Понижение" + +#: ../src/yumex/common/const.py:169 +msgid "Replacing" +msgstr "Замена" + +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "Слабые зависимости" + +#: ../src/yumex/common/const.py:174 +#, python-format +msgid "Updating: %s" +msgstr "Обновление: %s" + +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "Обновлён: %s" + +#: ../src/yumex/common/const.py:176 +#, python-format +msgid "Installing: %s" +msgstr "Установка: %s" + +#: ../src/yumex/common/const.py:177 +#, python-format +msgid "Reinstalling: %s" +msgstr "Переустановка: %s" + +#: ../src/yumex/common/const.py:178 +#, python-format +msgid "Cleanup: %s" +msgstr "Очистка: %s" + +#: ../src/yumex/common/const.py:179 +#, python-format +msgid "Removing: %s" +msgstr "Удаление: %s" + +#: ../src/yumex/common/const.py:180 +#, python-format +msgid "Obsoleting: %s" +msgstr "Устаревание: %s" + +#: ../src/yumex/common/const.py:181 +#, python-format +msgid "Downgrading: %s" +msgstr "Понижение: %s" + +#: ../src/yumex/common/const.py:182 +#, python-format +msgid "Verifying: %s" +msgstr "Проверка: %s" + +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "Выполняется скриплет для: %s" + +#: ../src/yumex/common/const.py:197 +msgid "Bugfix" +msgstr "Багфикс" + +#: ../src/yumex/common/const.py:198 +msgid "New Package" +msgstr "Новый пакет" + +#: ../src/yumex/common/const.py:199 +msgid "Security" +msgstr "Безопасность" + +#: ../src/yumex/common/const.py:200 +msgid "Enhancement" +msgstr "Увеличение" + +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format +msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" +"\n" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "Вы хотите импортировать этот GPG ключ\nтребуемый для верификации %s пакета?\n\nКлюч : 0x%s:\n Userid : \"%s\"\nИз : %s" + +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "Получение информации о репозитории" + +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Название" + +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Платформа" + +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Версия" + +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Репозиторий" + +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Размер" + +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "замена {n}" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "История пакетов" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Журнал (дата/время)" + +#: ../src/yumex/gui/views/packageview.py:66 +msgid "Click to install all/remove all" +msgstr "Щелкните, чтобы установить все/удалить все" + +#: ../src/yumex/gui/views/packageview.py:73 +msgid "Click to select/deselect all" +msgstr "Щелкните, чтобы выбрать/отменить выбор всех" + +#: ../src/yumex/gui/views/packageview.py:86 +msgid "Package" +msgstr "Пакеты" + +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "Версия" + +#: ../src/yumex/gui/views/packageview.py:89 +msgid "Arch." +msgstr "Платформа" + +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 +msgid "Summary" +msgstr "Сводка" + +#: ../src/yumex/gui/views/packageview.py:136 +msgid "Reinstall Package" +msgstr "Переустановка пакета" + +#: ../src/yumex/gui/views/packageview.py:151 +msgid "Downgrade Package" +msgstr "Откат к предыдущей версии пакета" + +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 +msgid "Packages" +msgstr "Пакеты" + +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "Пакет для обновления" +msgstr[1] "Пакета для обновления" +msgstr[2] "Пакетов для обновления" +msgstr[3] "Пакет для обновления" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "Пакет для установки" +msgstr[1] "Пакета для установки" +msgstr[2] "Пакетов для установки" +msgstr[3] "Пакет для установки" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "Пакет для удаления" +msgstr[1] "Пакета для удаления" +msgstr[2] "Пакетов для удаления" +msgstr[3] "Пакет для удаления" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "Пакет для переустановки" +msgstr[1] "Пакета для переустановки" +msgstr[2] "Пакетов для переустановки" +msgstr[3] "Пакет для переустановки" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "RPM файл для установки" +msgstr[1] "RPM файлы для установки" +msgstr[2] "RPM файлы для установки" +msgstr[3] "RPM файлы для установки" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "Группа для установки" +msgstr[1] "Группы для установки" +msgstr[2] "Групп для установки" +msgstr[3] "Группа для установки" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "Группа для удаления" +msgstr[1] "Группы для удаления" +msgstr[2] "Группы для удаления" +msgstr[3] "Группы для удаления" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "Пакет для отката версии" +msgstr[1] "Пакеты для отката версии" +msgstr[2] "Пакеты для отката версии" +msgstr[3] "Пакеты для отката версии" + +#: ../src/yumex/gui/views/queueview.py:167 +#, python-format +msgid "Downgrade to %s " +msgstr "Понижен до %s " + +#: ../src/yumex/gui/views/repoview.py:36 +msgid "Filename" +msgstr "Имя файла" + +#: ../src/yumex/gui/views/repoview.py:67 +msgid "" +"Click here to switch between\n" +" none/all/default selected" +msgstr "Нажмите здесь, чтобы переключиться между\nнет / все/ выбран по умолчанию" + +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Параметры" + +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "Обновить метаданные" + +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Выход" + +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "Главное меню" + +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "О программе" + +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "Сочетания клавиш" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Документация" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Справка" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 +#, python-format +msgid "Tags: %s\n" +msgstr "Метки: %s\n" + +#: ../src/yumex/gui/widgets/packageinfo.py:243 +msgid "Links: " +msgstr "Ссылки: " + +#: ../src/yumex/gui/widgets/packageinfo.py:266 +msgid "No update information is available" +msgstr "Информация об обновлении отсутствует" + +#: ../src/yumex/gui/widgets/packageinfo.py:268 +msgid "" +"\n" +"Fedora Updates:" +msgstr "\nОбновления Fedora:" + +#: ../src/yumex/gui/widgets/packageinfo.py:277 +msgid "Release" +msgstr "Релиз" + +#: ../src/yumex/gui/widgets/packageinfo.py:278 +msgid "Type" +msgstr "Тип" + +#: ../src/yumex/gui/widgets/packageinfo.py:280 +msgid "Issued" +msgstr "Выдано" + +#: ../src/yumex/gui/widgets/packageinfo.py:332 +msgid "No changelog information is available" +msgstr "Информация об изменениях недоступна" + +#: ../src/yumex/gui/widgets/packageinfo.py:334 +msgid "" +"\n" +"Online Changelog:" +msgstr "\nОнлайн-журнал изменений:" + +#: ../src/yumex/gui/widgets/packageinfo.py:349 +msgid "No filelist information is available" +msgstr "Информация о списке файлов отсутствует" + +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Получение метаданных пакета" + +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "Обновление метаданных репозиториев" + +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Перезагрузка информации о пакете..." + +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Поиск зависимостей" + +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Зависимости разрешены" + +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Ошибка при проверке подписей пакетов\n" + +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "Ошибка при загрузке\n" +msgstr[1] "Ошибки при загрузке\n" +msgstr[2] "Ошибок при загрузке\n" +msgstr[3] "Ошибок при загрузке\n" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "Ошибка в транзакции\n" +msgstr[1] "Ошибки в транзакции\n" +msgstr[2] "Ошибок в транзакции\n" +msgstr[3] "Ошибок в транзакции\n" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Установленные пакеты: %s" + +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%s был успешно установлен" + +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Удаление пакета: %s" + +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s был успешно удален" + +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Обновление всех доступных обновлений" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Доступные обновления успешно применены" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "Ошибка при поиске зависимостей" +msgstr[1] "Ошибка при поиске зависимостей" +msgstr[2] "Ошибка при поиске зависимостей" +msgstr[3] "Ошибка при поиске зависимостей" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Подготовка системы к применению изменений" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "Не могу удалить защищенный пакет:" +msgstr[1] "Не могу удалить защищенные пакеты:" +msgstr[2] "Не могу удалить защищенные пакеты:" +msgstr[3] "Не могу удалить защищенные пакеты:" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Нет ожидающих в очереди действий" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "Ошибка при построении транзакции\n" +msgstr[1] "Ошибки при построении транзакции\n" +msgstr[2] "Ошибки при построении транзакции\n" +msgstr[3] "Ошибки при построении транзакции\n" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "Ошибка при поиске зависимостей\n" +msgstr[1] "Ошибки при поиске зависимостей\n" +msgstr[2] "Ошибки при поиске зависимостей\n" +msgstr[3] "Ошибки при поиске зависимостей\n" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Добавление пакетов для просмотра" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Ошибка в отмене истории транзакции" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Не сейчас" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Показать обновления" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Новое обновление" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "%d доступное обновление" +msgstr[1] "%d доступных обновления" +msgstr[2] "%d доступных обновлений" +msgstr[3] "%d доступное обновление" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "Yum Extender" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "Tim Lauridsen" + +#: ../misc/yumex-dnf.appdata.xml.in:12 +msgid "" +"Yum Extender is a graphical package management application. It allows you to" +" search and browse for packages to install, remove and update on your " +"computer." +msgstr "Yum Extender - это графическое приложение для управления пакетами. Он позволяет вамискать и просматривать пакеты для установки, удаления и обновления на вашемкомпьютере." + +#: ../misc/yumex-dnf.appdata.xml.in:16 +msgid "" +"It is designed to give you full control over the packages on your computer " +"and to be used by all users." +msgstr "Он предназначен для того, чтобы дать вам полный контроль над пакетами на вашем компьютере и использоваться всеми пользователями." + +#: ../misc/yumex-dnf.appdata.xml.in:17 +msgid "Features:" +msgstr "Возможности:" + +#: ../misc/yumex-dnf.appdata.xml.in:19 +msgid "Browse packages available for installation or update" +msgstr "Просмотр пакетов, доступных для установки или обновления" + +#: ../misc/yumex-dnf.appdata.xml.in:20 +msgid "Browse packages installed on your computer" +msgstr "Просмотр пакетов, установленных на вашем компьютере" + +#: ../misc/yumex-dnf.appdata.xml.in:21 +msgid "Search packages by name, summary, description" +msgstr "Поиск пакетов по названию, сводке, описанию" + +#: ../misc/yumex-dnf.appdata.xml.in:22 +msgid "Watch the history of package action on your system" +msgstr "Следите за историей действий с пакетами в вашей системе" + +#: ../misc/yumex-dnf.appdata.xml.in:23 +msgid "Browse and install/remove package groups" +msgstr "Просмотр и установка/удаление групп пакетов" + +#: ../misc/yumex-dnf.appdata.xml.in:24 +msgid "Browse packages by size, repository" +msgstr "Просмотр пакетов по размеру, репозиторию" + +#: ../misc/yumex-dnf.appdata.xml.in:25 +msgid "Control what package repositories are enabled for the current session" +msgstr "Управляйте тем, какие репозитории пакетов включены для текущего сеанса" + +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Установка, обновление и удаление приложений" + +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Установщик программного обеспечения" + +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "Установщик пакета Yum Extender" + +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Установка локальных пакетов в системе" + +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "Ошибки" + +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "Оформление" + +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "Использовать тёмное оформление" + +#: ../data/ui/preferences.ui:187 +msgid "" +"Use the toolbar in the header of the window\n" +"standard when using GNOME" +msgstr "Используйте панель инструментов в заголовке\nстандартного окна при использовании GNOME" + +#: ../data/ui/preferences.ui:190 +msgid "Show toolbar in window headerbar" +msgstr "Показывать панель инструментов в заголовке окна" + +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 +msgid "" +"The interval in hour, when the DNF cache will be expired and updated (0 = " +"disabled)" +msgstr "Интервал в часах, когда срок действия кэша DNF истекает и обновляется (0 =отключено)" + +#: ../data/ui/preferences.ui:217 +msgid "Cache expire interval (hours)" +msgstr "Интервал истечения срока действия кэша (часы)" + +#: ../data/ui/preferences.ui:233 +msgid "12" +msgstr "12" + +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Выберите все доступные обновления \nпри запуске Yum Extender" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Выбирать обновления при запуске" + +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "Поиск виден по умолчанию" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "Показывать заставку прогресса при длительном выполнении задачи" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "Пользовательский интерфейс" + +#: ../data/ui/preferences.ui:363 +msgid "Autostart the Yum Extender update checker at user login" +msgstr "Автоматический запуск средства проверки обновлений Yum Extender при входе пользователя в систему" + +#: ../data/ui/preferences.ui:366 +msgid "Start update checker at user login" +msgstr "Запускать проверку обновлений при входе пользователя в систему" + +#: ../data/ui/preferences.ui:396 +msgid "How often the update checker will run" +msgstr "Как часто будет выполняться проверка обновлений" + +#: ../data/ui/preferences.ui:399 +msgid "Update check interval (minutes)" +msgstr "Интервал между поисками обновлений (в минутах)" + +#: ../data/ui/preferences.ui:422 +msgid "Update Checker" +msgstr "Средство проверки обновлений" + +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "Показывать новые только при\nзапуске Yum Extender.\nПокажет только последнюю версию\nдоступных пакетов" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "Показывать только новейшие" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "Параметр удаления неиспользуемых зависимостей\nактивен при запуске Yum Extender" + +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "Удалять неиспользуемые зависимости" + +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "Очистка старых пакетов только для установки" + +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Количество пакетов только для установки, которые необходимо сохранять" + +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "Параметры DNF" + +#: ../data/ui/preferences.ui:565 +msgid "Repositories used in current session" +msgstr "Репозитории, используемые в текущем сеансе" + +#: ../data/ui/preferences.ui:600 +msgid "" +"Save the current selected repositories\n" +"so they will be used next time you\n" +"start Yum Extender" +msgstr "Сохраните текущие выбранные репозитории,\nчтобы они использовались\nпри следующем запуске Yum Extende" + +#: ../data/ui/preferences.ui:609 +msgid "Save selected repositories" +msgstr "Сохранить выбранные репозитории" + +#: ../data/ui/preferences.ui:638 +msgid "Repositories" +msgstr "Репозитории" + +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "Работаю ..." + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "Страницы" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "Перейти на страницу пакетов" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "Перейти на страницу группы" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "Перейти на страницу истории" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "Перейти на страницу очереди" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "Фильтры" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "Показывать обновления" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "Показывать установленные" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "Показывать доступные" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "Показывать все" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "Просмотр информации" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "Описание пакета" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "информация об обновлении пакета" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "Файлы пакетов" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "требование к пакету" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "Просмотр пакета" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "Выбрать все видимые пакеты" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "Другое" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "Применить запланированные действия" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "Настройка фильтра" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "Переключить панель поиска" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "Открыть настройки" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "Открыть документацию" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Действия пакета для выполнения" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Размер:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "Дополнительные параметры фильтрации" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "Показать доступные обновления (Ctrl+1)" + +#: ../data/ui/yumex.ui:312 +msgid "Updates" +msgstr "Обновления" + +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "Показать установленные пакеты (Ctrl+2)" + +#: ../data/ui/yumex.ui:333 +msgid "Installed" +msgstr "Установленные" + +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "Показать доступные пакеты (Ctrl+3)" + +#: ../data/ui/yumex.ui:354 +msgid "Available" +msgstr "Доступные" + +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "Показывать все пакеты (Ctrl+4)" + +#: ../data/ui/yumex.ui:375 +msgid "All" +msgstr "Все" + +#: ../data/ui/yumex.ui:511 +msgid "Groups" +msgstr "Группы" + +#: ../data/ui/yumex.ui:586 +msgid "Undo" +msgstr "Отменить" + +#: ../data/ui/yumex.ui:610 +msgid "History" +msgstr "Журнал" + +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "Очередь" + +#: ../data/ui/yumex.ui:684 +msgid "Package Description" +msgstr "Описание пакета" + +#: ../data/ui/yumex.ui:706 +msgid "Package Update Information" +msgstr "Информация об обновлении пакета" + +#: ../data/ui/yumex.ui:728 +msgid "Package Filelist" +msgstr "Список файлов пакета" + +#: ../data/ui/yumex.ui:750 +msgid "Package Requirements" +msgstr "Требования к пакету" + +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "Версии пакетов" + +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "Архит." + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "Только новейшие" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "Показывать только последние версии пакетов" + +#: ../data/ui/yumex.ui:1110 +msgid "Prefix" +msgstr "Префикс" + +#: ../data/ui/yumex.ui:1114 +msgid "Package names starting with search key" +msgstr "Имена пакетов, начинающиеся с ключа поиска" + +#: ../data/ui/yumex.ui:1125 +msgid "Keyword" +msgstr "Ключевое слово" + +#: ../data/ui/yumex.ui:1129 +msgid "Package names containing search key" +msgstr "Имена пакетов, содержащие ключ поиска" + +#: ../data/ui/yumex.ui:1140 +msgid "Fields" +msgstr "Поля" + +#: ../data/ui/yumex.ui:1144 +msgid "Specified package fields containing search keys." +msgstr "Указанные поля пакета, содержащие ключи поиска." + +#: ../data/ui/yumex.ui:1159 +msgid "Package name" +msgstr "Имя пакета" + +#: ../data/ui/yumex.ui:1174 +msgid "Package summary" +msgstr "Краткое описание пакета" + +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Описание" + +#: ../data/ui/yumex.ui:1189 +msgid "Package description" +msgstr "Описание пакета" + +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "Удалить выбранные" + +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Поиск (Скрыть или показать)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Применить запланированные действия" diff --git a/po/sk.po b/po/sk.po index d351948..9526031 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Dušan Kazik \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Dušan Kazik , 2012,2014-2016\n" "Language-Team: Slovak (http://www.transifex.com/timlau/yumex/language/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,841 +18,1027 @@ msgstr "" "Language: sk\n" "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Preberajú sa balíky" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Kontrolujú sa podpisy balíkov" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "Aplikujú sa zmeny v systéme" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Overenie zmien v systéme" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/base/__init__.py:87 msgid "Refreshing Repository Metadata" msgstr "Obnovujú sa metaúdaje repozitára" -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 +#: ../src/yumex/base/__init__.py:93 msgid "Could not refresh the DNF cache (root)" msgstr "Nepodarilo sa obnoviť vyrovnávaciu pamäť nástroja DNF (ako správca)" -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/base/__init__.py:117 msgid "" "DNF root backend was not authorized.\n" "Yum Extender will exit" msgstr "Podporný nástroj DNF nebol autorizovaný v režime správcu.\nProgram Yum Extender skončí" -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/base/__init__.py:123 msgid "" "DNF is locked by another process.\n" "\n" "Yum Extender will exit" msgstr "Nástroj DNF je uzamknutý iným procesom.\n\nProrgam Yum Extender skončí" -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "Znovu sa načítavajú informácie o balíku..." - -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Vyhľadávajú sa závislosti" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "Závislosti boli vyriešené" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 -msgid "Applying changes to the system" -msgstr "Aplikujú sa zmeny v systéme" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Chyba pri kontrolovaní podpisov balíkov\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Chyba(y) pri preberaní\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "Chyba v transakcii\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "Inštaluje sa balík: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "Balík %s bol úspešne nainštalovaný" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Odstraňuje sa balík: %s" - -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "Balík %s bol úspešne odstránený" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Aktualizujú sa všetky dostupné aktualizácie" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "Dostupné aplikácie boli úspešne použité" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Chyba(y) pri vyhľadávaní závislostí" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "Pripravuje sa systém na aplikovanie zmien" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "Nedajú sa odstrániť chránené balíky" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "Žiadne čakajúce akcie vo fronte" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "Chyba/-y pri zostavovaní transakcie" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Pridávajú sa balíky do zobrazenia" - -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "Chyba pri vrátení späť transakcie z histórie" - -#: ../src/yumex/dnf_backend.py:181 -#, python-format -msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "verzia api démona dnfdaemon: %d\nnezhoduje sa\npotrebná verzia api: %d" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Preberajú sa balíky" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "Kontrolujú sa podpisy balíkov" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Overenie zmien v systéme" - -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "Preberá sa %d súborov (%sB)..." - -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Získavajú sa nainštalované balíky" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Získavajú sa dostupné balíky" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Získavajú sa dostupné aktualizácie" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Získavajú sa všetky balíky" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Aktualizované balíky" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Balíky s nižšími verziami" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Označujú sa balíky ako zastarané" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Zastarané balíky" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Vymazané balíky" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Nainštalované balíky" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "Nainštalované závislosti" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Preinštalované balíky" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Inštaluje sa" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Aktualizuje sa" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Odstraňuje sa" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Prechádza sa na nižšiu verziu" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Nahrádza sa" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "Aktualizuje sa: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "Inštaluje sa: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "Preinštaluje sa: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Čistí sa: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Odstraňuje sa: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Označuje sa ako zastarené: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Prechádza sa na nižšiu verziu: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Overuje sa: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Oprava chýb" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Nový balík" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Bezpečnosť" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Vylepšenie" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "Zmeny boli úspešne aplikované v systéme" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "\n\nPrpgram Yum Extender bude ukončený" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr " Chcete importovať tento kľúč GPG\n potrebný na overenie balíka %s?\n\n Kľúč : 0x%s:\n ID používateľa : \"%s\"\n Od : %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Chyba pri spúšťaní oznamovacej ikony" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "Program Yum Extender bude zavretý" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Názov" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "Chyba pri uzamykaní oznamovacej ikony" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Architektúra" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "Teraz nie" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Verzia" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "Zobraziť aktualizácie" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Repozitár" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "Nové aktualizácie" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Veľkosť" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "Dostupné aktualizácie: %s" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "História balíkov" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "História (Dátum/čas)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Kliknutím nainštalujete/odstránite všetky" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Kliknutím vyberie/zruší výber všetkých" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Balík" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Arch." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "Kliknutím vyfiltrujete architektúry" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Súhrn" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Repo." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Veľkosť" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Preinštalovať balík" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Prejsť na nižšiu verziu balíka" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Balíky" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Prejsť na nižšiu verziu %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "História (Dátum/čas)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "História balíkov" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Repozitár" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Názov súboru" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "Kliknutím sem prepnete medzi vybratím\nžiadneho/všetkých/predvoleného" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Názov" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Nastavenia" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Architektúra" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Verzia" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Ukončiť" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "nahradzuje sa {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr " Chcete importovať tento kľúč GPG\n potrebný na overenie balíka %s?\n\n Kľúč : 0x%s:\n ID používateľa : \"%s\"\n Od : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "O programe" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "Získavajú sa metaúdaje balíka" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Dokumentácia" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Pomocník" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "Značky: %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "Odkazy:" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "Nie sú dostupné žiadne informácie o aktualizácii" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nAktualizácie systému Fedora:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Vydanie" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Typ" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "Vydané" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Popis" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "Nie sú dostupné žiadne informácie o zozname zmien" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\nZoznam zmien online:" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "Nie sú dostupné žiadne informácie o zozname súborov" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "Iba najnovšie" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Získavajú sa metaúdaje balíka" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "Vymazať nepoužívané požiadavky" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " -msgstr "Vyčistiť staré balíky určené iba na inštaláciu" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Znovu sa načítavajú informácie o balíku..." -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "Voľby" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Vyhľadávajú sa závislosti" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "O programe" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Závislosti boli vyriešené" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "Dokumentácia" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Chyba pri kontrolovaní podpisov balíkov\n" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "Pomocník" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Nastavenia" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "Ukončiť" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Inštaluje sa balík: %s" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Inštalátor balíkov Yumex" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "Balík %s bol úspešne nainštalovaný" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Inštaluje lokálne balíky do systému" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Odstraňuje sa balík: %s" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "Balík %s bol úspešne odstránený" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Inštaluje, aktualizuje a odstraňuje aplikácie" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Aktualizujú sa všetky dostupné aktualizácie" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Inštalátor softvéru" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Dostupné aplikácie boli úspešne použité" + +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Pripravuje sa systém na aplikovanie zmien" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "Žiadne čakajúce akcie vo fronte" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Pridávajú sa balíky do zobrazenia" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Chyba pri vrátení späť transakcie z histórie" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Teraz nie" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Zobraziť aktualizácie" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Nové aktualizácie" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Grafický správca balíkov" +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "Program Yum Extender je grafický správca balíkov. Umožňuje vám vyhľadať a prehliadať balíky, ktoré môžu byť nainštalované, odstránené a aktualizované vo vašom počítači." -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "Je navrhnutý tak, aby vám poskytol úplnú kontrolu nad balíkmi vo vašom počítači, a aby ho mohli používať všetci používatelia." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Funkcie:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "Prehliadanie balíkov dostupných na inštaláciu alebo aktualizáciu" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "Prehliadanie balíkov nainštalovaných vo vašom počítači" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "vyhľadávanie balíkov podľa názvu, súhrnu, popisu" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "Sledovanie histórie akcií balíkov vo vašom počítači" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "Prehliadanie a inštalovanie/odstránenie skupín balíkov" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "Prehliadanie balíkov podľa veľkosti, repozitára" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "Kontrola povolených repozitárov balíkov pre aktuálnu reláciu" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "OK" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "Zrušiť" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Inštaluje, aktualizuje a odstraňuje aplikácie" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "Zobraziť iba najnovšie je aktívne, iba pri\nspustení programu Yum Extender.\nZobrazí iba najnovšie verzie dsotupných\nbalíkov" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Inštalátor softvéru" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "Predvolené: Zobraziť iba najnovšie" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "Voľba vymazať nepoužívané požiadavky\nje aktívna pri spustení programu Yum Extender" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Inštaluje lokálne balíky do systému" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "Predvolené: Vymazať nepoužívané požiadavky" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "Zmení akciu zavretia hlavného okna tak, že sa iba skryje okno po\njeho stlačení" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "Tlačidlo zavrieť iba minimalizuje okno" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "Použije štandardný panel nástrojov v záhlaví okna,\nkeď sa používa prostredie GNOME" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "Zobraziť panel nástrojov v záhlaví okna" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "Vyberie všetky dostupné aktualizácie po\nspustení programu Yum Extender" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "Vybrať aktualizácie po spustení" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "Interval v hodinách, kedy vyprší vyrovnávacia pamäť nástroja DNF a bude aktualizovaná (0 = zakázané)" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "Interval vypršania vyrovnávacej pamäte (v hodinách)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "12" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "Predvolené: Vyčistiť staré balíky určené iba na inštaláciu" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Vyberie všetky dostupné aktualizácie po\nspustení programu Yum Extender" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" -msgstr "Počet balíkov určených iba na inštaláciu, ktoré ponechať" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Vybrať aktualizácie po spustení" -#: ../src/yumex.ui.h:26 -msgid "3" -msgstr "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Nastavenia" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "Automaticky spustí nástroj na kontrolu aktualizácií programu Yum Extender po prihlásení používateľa" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "Spustiť nástroj na kontrolu aktualizácií po prihlásení používateľa" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "Ako často sa majú kontrolovať aktualizácie" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "Interval kontroly aktualizácií (v minútach)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "Nástroj na kontrolu aktualizácií" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Farba nainštalovaných balíkov" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "Zobraziť iba najnovšie je aktívne, iba pri\nspustení programu Yum Extender.\nZobrazí iba najnovšie verzie dsotupných\nbalíkov" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Farba dostupných balíkov" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "Voľba vymazať nepoužívané požiadavky\nje aktívna pri spustení programu Yum Extender" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Farba dostupných balíkov" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Farba zastaraných balíkov" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "Farba dostupných prechodov na nižšiu verziu" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Počet balíkov určených iba na inštaláciu, ktoré ponechať" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Pokročilé" +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "Repozitáre použité v aktuálnej relácii" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "Uloží aktuálne vybraté repozitáre,\ntakže budú použité po ďalšom spustení\nprogramu Yum Extender" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "Uložiť vybraté repozitáre" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Repozitáre" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "menovka" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" -msgstr "Zobrazí dostupné aktualizácie" +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Akcie balíkov, ktoré sa majú vykonať" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Veľkosť:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Aktualizácie" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "Zobrazí nainštalované balíky" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Nainštalované" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "Zobrazí dostupné balíky" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Dostupné" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "Zobrazí všetky balíky" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Všetky" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Skupiny" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "Vrátiť späť" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "História" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Čakajúce akcie" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Popis balíka" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "Informácie o aktualizácii balíka" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Zoznam súborov balíka" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "Požiadavky balíka" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "Zobrazí alebo skryje vyhľadávanie" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "Použije čakajúce akcie" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "Predpona" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "Názvy balíkov začínajúce na hľadaný kľúč" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "Kľúčové slovo" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "Názvy balíkov obsahujúce hľadaný kľúč" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Polia" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "Špecifikované polia balíkov obsahujúce hľadané kľúče." -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "Názov balíka" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "Súhrn balíka" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Popis" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "Popis balíka" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "Akcie balíkov, ktoré sa majú vykonať" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "Veľkosť:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Zobrazí alebo skryje vyhľadávanie" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Použije čakajúce akcie" diff --git a/po/sr.po b/po/sr.po index 3bc921d..242c033 100644 --- a/po/sr.po +++ b/po/sr.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Serbian (http://www.transifex.com/timlau/yumex/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,1011 @@ msgstr "" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/sr@latin.po b/po/sr@latin.po index afd2897..4d3f81f 100644 --- a/po/sr@latin.po +++ b/po/sr@latin.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/timlau/yumex/language/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,1011 @@ msgstr "" "Language: sr@latin\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/sv.po b/po/sv.po index 0d0a034..473934a 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Swedish (http://www.transifex.com/timlau/yumex/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,995 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/tr_TR.po b/po/tr_TR.po index 8b3bed3..11e33e3 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Turkish (Turkey) (http://www.transifex.com/timlau/yumex/language/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,995 @@ msgstr "" "Language: tr_TR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "Removing package: %s" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "" + +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:530 +msgid "3" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/po/uk.po b/po/uk.po index 37a04fd..6dd8259 100644 --- a/po/uk.po +++ b/po/uk.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:03+0000\n" -"Last-Translator: Yuri Chornoivan \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Yuri Chornoivan , 2014-2015\n" "Language-Team: Ukrainian (http://www.transifex.com/timlau/yumex/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,841 +19,1027 @@ msgstr "" "Language: uk\n" "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format +msgid "" +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" +msgstr "" + +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "Отримуємо пакунки" + +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "Перевіряємо підписи пакунків" + +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 +msgid "Applying changes to the system" +msgstr "Застосовуємо зміни до системи" + +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" +msgstr "Перевірити систему на зміни" + +#: ../src/yumex/backend/dnf.py:258 +#, python-format +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/base/__init__.py:87 msgid "Refreshing Repository Metadata" msgstr "Оновлення метаданих сховища" -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 +#: ../src/yumex/base/__init__.py:93 msgid "Could not refresh the DNF cache (root)" msgstr "Не вдалося оновити кеш DNF (root)" -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/base/__init__.py:117 msgid "" "DNF root backend was not authorized.\n" "Yum Extender will exit" msgstr "Доступ до кореневого модуля DNF не надано.\nYum Extender завершує роботу" -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/base/__init__.py:123 msgid "" "DNF is locked by another process.\n" "\n" "Yum Extender will exit" msgstr "DNF заблоковано іншим процесом.\n\nYum Extender завершує роботу" -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." -msgstr "Читаємо відомості щодо пакунка…" - -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "Шукаємо залежності" - -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "Залежності розв’язано" - -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 -msgid "Applying changes to the system" -msgstr "Застосовуємо зміни до системи" - -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "Помилка під час перевірки підписів пакунків\n" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "Помилки під час спроби отримання даних\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "Помилка у операції\n" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "Встановлюємо пакунок: %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "%s успішно встановлено" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "Вилучаємо пакунок: %s" - -#: ../src/yumex/__init__.py:821 -#, python-format -msgid "%s was removed successfully" -msgstr "%s успішно вилучено" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "Оновлюємо усі доступні оновлення" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "Доступні оновлення успішно встановлено" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "Помилки під час пошуку залежностей" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "Готуємо систему до застосування змін" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "Неможливо вилучити захищені пакунки" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "У черзі немає записів дій" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "Помилки під час побудови операції" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "Додавання пакунків для перегляду" - -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "Помилка під час дії із журналом скасувань" - -#: ../src/yumex/dnf_backend.py:181 -#, python-format -msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "Версія програмного інтерфейсу dnfdaemon: %d\nне збігається із\nпотрібною для роботи версією інтерфейсу: %d" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "Отримуємо пакунки" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "Перевіряємо підписи пакунків" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "Перевірити систему на зміни" - -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "Отримуємо %d файлів (%s Б)…" - -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "Отримуємо список установлених пакунків" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "Отримання списку доступних пакунків" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "Отримання списку доступних оновлень" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "Отримання списку всіх пакунків" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "Оновлені пакунки" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "Пакунки, версію яких понижено" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "Вилучення застарілих пакунків" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "Застарілі пакунки" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "Вилучені пакунки" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "Встановлені пакунки" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "Встановлено як залежність" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "Повторно встановлені пакунки" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "Встановлення" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "Оновлення" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "Вилучення" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "Зниження версії пакунка" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "Заміна" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "Оновлення: %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "Встановлення: %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "Повторно встановлюємо: %s" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "Чищення: %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "Вилучення: %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "Застарівання: %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "Зниження версії: %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "Перевіряємо: %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Виправлення вади" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "Новий пакунок" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "Безпека" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "Покращення" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "Зміни до системи було успішно застосовано" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "\n\nYum Extender завершує роботу" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr " Хочете імпортувати цей ключ GPG,\nпотрібний для перевірки пакунка %s?\n\nКлюч : 0x%s:\nІд. користувача: «%s»\nВід : %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" -msgstr "Помилка під час спроби створення піктограми сповіщення" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" +msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "Yum Extender завершує роботу" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "Назва" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "Помилка під час спроби блокування піктограми сповіщення" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "Арх." -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "Не зараз" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "Вер." -#: ../src/yumex/updater.py:70 -msgid "Show Updates" -msgstr "Показати оновлення" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "Сховище" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "Нові оновлення" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "Розмір" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "%s, доступні оновлення" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "Журнал пакунків" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "Журнал (дата/час)" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "Натисніть, щоб встановити або вилучити усі" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "Натисніть, щоб позначити або скасувати позначення з усіх" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "Пакунок" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "Вер." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "Арх." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "натисніть, щоб виконати фільтрування за архітектурою" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "Резюме" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "Схов." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "Розмір" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "Перевстановити пакунок" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "Знизити версію пакунка" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "Пакунки" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "Повернення до версії %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "Журнал (дата/час)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "Журнал пакунків" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "Сховище" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "Назва файла" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "Натисніть тут, щоб перемкнути режим\n позначення: нічого, усе або типове." -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "Назва" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "Параметри" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "Арх." +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "Вер." +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "Вийти" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "замінює {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr " Хочете імпортувати цей ключ GPG,\nпотрібний для перевірки пакунка %s?\n\nКлюч : 0x%s:\nІд. користувача: «%s»\nВід : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "Про програму" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "Отримуємо метадані пакунків" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "Документація" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "Довідка" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "Мітки: %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "Посилання:" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "Немає даних щодо оновлень" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nОновлення Fedora:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "Випуск" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "Тип" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "Випущено" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "Опис" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "Немає даних журналу змін" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\nЖурнал змін у інтернеті:" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "Немає даних щодо списку файлів" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "Лише найновіші" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "Отримуємо метадані пакунків" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" -msgstr "Вилучити невикористані вимоги" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" +msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " -msgstr "Вилучати застарілі пакунки лише для встановлення" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." +msgstr "Читаємо відомості щодо пакунка…" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" -msgstr "Параметри" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "Шукаємо залежності" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" -msgstr "Про програму" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "Залежності розв’язано" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" -msgstr "Документація" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" +msgstr "Помилка під час перевірки підписів пакунків\n" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" -msgstr "Довідка" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "Параметри" +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" -msgstr "Вийти" +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "Встановлюємо пакунок: %s" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Програма для встановлення пакунків Yumex" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" +msgstr "%s успішно встановлено" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "Встановити локальні пакунки у системі" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "Вилучаємо пакунок: %s" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" +msgstr "%s успішно вилучено" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "Встановлення, оновлення та вилучення програм" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "Оновлюємо усі доступні оновлення" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "Встановлювач програм" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" +msgstr "Доступні оновлення успішно встановлено" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "Графічний інтерфейс для керування пакунками" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "Готуємо систему до застосування змін" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "У черзі немає записів дій" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "Додавання пакунків для перегляду" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "Помилка під час дії із журналом скасувань" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "Не зараз" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "Показати оновлення" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "Нові оновлення" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "Yum Extender — програма із графічним інтерфейсом, призначена для керування пакунками. За її допомогою ви можете шукати пакунки і переглядати список пакунків для встановлення, вилучення або оновлення." -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "За допомогою цієї програми ви отримаєте повний контроль над пакунками вашої системи, нею може скористатися будь-хто." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "Можливості:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "Навігація списком пакунків, доступних для встановлення або оновлення." -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "Навігація списком пакунків, встановлених на вашому комп’ютері." -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "Пошук пакунків за назвою, резюме та описом." -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "Перегляд журналу дій над пакунками у вашій системі." -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "Навігація списком груп пакунків, встановлення та вилучення груп пакунків." -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "Перегляд пакунків за розміром, сховищем" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "Керування списком сховищ пакунків, які увімкнено протягом поточного сеансу." -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "Гаразд" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "Скасувати" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "Встановлення, оновлення та вилучення програм" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" -msgstr "Під час запуску Yum Extender\nзадіяно показ лише найновіших.\nБуде показано лише найновішу версію\nдоступних пакунків" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "Встановлювач програм" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "Типово: показувати найновіші" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" -msgstr "На час запуску Yum Extender\nзадіяно вилучення невикористаних залежностей" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "Встановити локальні пакунки у системі" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "Типове: вилучати невикористані залежності" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" +msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "Змінити дію у відповідь на закриття вікна програми: просто\nприховувати вікно після натискання кнопки закриття." +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "Кнопка закриття згортає вікно" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "Використовувати панель інструментів у заголовку\nвікна. Типове для використання GNOME" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "Показувати панель інструментів на смужці заголовка вікна" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "Позначати усі доступні оновлення\nпід час запуску Yum Extender" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "Позначати оновлення під час запуску" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "Інтервал у годинах протягом якого застаріває і потребує оновлення кеш DNF (0 = вимкнути)" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "Проміжок часу між оновленнями кешу (у годинах)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "12" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "Типово: вилучати застарілі пакунки лише для встановлення" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "Позначати усі доступні оновлення\nпід час запуску Yum Extender" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" -msgstr "Кількість пакунків лише для встановлення, які слід зберегти" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "Позначати оновлення під час запуску" -#: ../src/yumex.ui.h:26 -msgid "3" -msgstr "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "Параметри" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" +msgstr "" + +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "Автоматично запускати засіб перевірки оновлень Yum Extender після входу користувача до системи" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "Запускати засіб перевірки оновлень після входу користувача" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "Частота запуску засобу пошуку оновлень" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "Інтервал між перевірками оновлень (у хвилинах)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "Засіб перевірки оновлень" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "Колір пунктів встановлених пакунків" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "Під час запуску Yum Extender\nзадіяно показ лише найновіших.\nБуде показано лише найновішу версію\nдоступних пакунків" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "Колір пунктів доступних оновлень" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "Колір пунктів доступних пакунків" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "На час запуску Yum Extender\nзадіяно вилучення невикористаних залежностей" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "Колір пунктів застарілих пакунків" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "Колір пунктів можливих знижень версії" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "Додатково" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "Кількість пакунків лише для встановлення, які слід зберегти" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "3" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "Сховища, використані у поточному сеансі" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "Зберегти список поточних позначених сховищ,\nщоб ними можна було скористатися і під\nчас наступного запуску Yum Extender" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "Зберегти позначені сховища" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "Сховища" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "мітка" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" -msgstr "Показати доступні оновлення" +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "Дії з пакунками, які слід виконати" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "Розмір:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "Оновлення" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" -msgstr "Показати встановлені пакунки" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" +msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "Встановлені" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" -msgstr "Показати доступні пакунки" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" +msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "Доступні" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" -msgstr "Показати усі пакунки" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" +msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "Усі" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "Групи" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "Скасувати" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "Журнал" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "Дії у черзі" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "Опис пакунка" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "Дані щодо оновлення пакунка" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "Список файлів пакунка" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "Вимоги пакунка" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" -msgstr "Пошук (показати або приховати)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" +msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" -msgstr "Застосувати дії з черги" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "Префікс" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "Пакунки, назви яких починаються з ключа пошуку" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "Ключове слово" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "Пакунки, назви яких містять ключ пошуку" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Поля" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "Вказані поля даних щодо пакунків містять ключі пошуку." -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "Назва пакунка" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "Резюме щодо пакунка" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "Опис" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "Опис пакунка" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "Дії з пакунками, які слід виконати" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "Розмір:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "Пошук (показати або приховати)" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "Застосувати дії з черги" diff --git a/po/yumex-dnf.pot b/po/yumex-dnf.pot index 4c6effe..84f8f6e 100644 --- a/po/yumex-dnf.pot +++ b/po/yumex-dnf.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-05-17 15:38+0200\n" +"POT-Creation-Date: 2022-09-17 08:31+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,901 +18,1005 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ../src/yumex/__init__.py:91 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:98 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:120 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:125 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:523 -msgid "Downloading Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:653 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:776 ../src/yumex/__init__.py:863 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:778 ../src/yumex/__init__.py:865 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:792 ../src/yumex/__init__.py:873 -#: ../src/yumex/dnf_backend.py:204 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:817 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:824 -msgid "Downloading error\n" -msgid_plural "Downloading errors\n" -msgstr[0] "" -msgstr[1] "" - -#: ../src/yumex/__init__.py:832 -msgid "Error in transaction\n" -msgid_plural "Errors in transaction\n" -msgstr[0] "" -msgstr[1] "" - -#: ../src/yumex/__init__.py:848 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:849 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:854 -#, python-format -msgid "Removing package: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:855 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:860 -msgid "Updating all available updates" -msgstr "" - -#: ../src/yumex/__init__.py:861 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:881 ../src/yumex/__init__.py:935 -msgid "Error in search for dependencies" -msgid_plural "Errors in search for dependencies" -msgstr[0] "" -msgstr[1] "" - -#: ../src/yumex/__init__.py:898 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:909 -msgid "Can't remove protected package:" -msgid_plural "Can't remove protected packages:" -msgstr[0] "" -msgstr[1] "" - -#: ../src/yumex/__init__.py:924 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:929 -msgid "Error in building transaction" -msgid_plural "Errors in building transaction" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." msgstr[0] "" msgstr[1] "" -#: ../src/yumex/__init__.py:1087 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1131 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:179 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:189 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:195 -msgid "Checking package signatures" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:208 -msgid "Verify changes on the system" +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#. Translators: %d will be replaced with the number of files -#. to download; %s will be replaced with the preformatted -#. number of bytes to download + the prefix (k, M, etc.) -#. Note that 'B' for 'bytes' is already here, it must be preserved. -#: ../src/yumex/dnf_backend.py:252 -#, python-format -msgid "Downloading %d file (%sB)..." -msgid_plural "Downloading %d files (%sB)..." -msgstr[0] "" -msgstr[1] "" - -#: ../src/yumex/const.py:108 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:109 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:110 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:111 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:124 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:125 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:126 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:127 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:128 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:129 ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:136 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:137 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:138 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:139 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:140 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:144 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:175 #, python-format msgid "Updated: %s" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:150 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:183 #, python-format msgid "Running scriptlet for: %s" msgstr "" -#: ../src/yumex/const.py:163 +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:164 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format +msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" +"\n" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/updater.py:160 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1131 +msgid "Name" msgstr "" -#. Translators: %d is a number of available updates -#: ../src/yumex/updater.py:162 -#, python-format -msgid "%d available update" -msgid_plural "%d available updates" -msgstr[0] "" -msgstr[1] "" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "" + +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "" + +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" -#: ../src/yumex/gui/views.py:254 +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:260 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:272 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:274 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:275 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:276 ../src/yumex/gui/views.py:751 -#: ../src/yumex.ui.h:77 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1146 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:277 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:278 ../src/yumex/gui/dialogs.py:224 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:327 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:342 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#. The packages button in headerbar -#: ../src/yumex/gui/views.py:746 ../src/yumex.ui.h:53 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:417 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:804 +#: ../src/yumex/gui/views/queueview.py:111 msgid "Package to update" msgid_plural "Packages to update" msgstr[0] "" msgstr[1] "" -#: ../src/yumex/gui/views.py:809 +#: ../src/yumex/gui/views/queueview.py:116 msgid "Package to install" msgid_plural "Packages to install" msgstr[0] "" msgstr[1] "" -#: ../src/yumex/gui/views.py:814 +#: ../src/yumex/gui/views/queueview.py:121 msgid "Package to remove" msgid_plural "Packages to remove" msgstr[0] "" msgstr[1] "" -#: ../src/yumex/gui/views.py:819 +#: ../src/yumex/gui/views/queueview.py:126 msgid "Package to reinstall" msgid_plural "Packages to reinstall" msgstr[0] "" msgstr[1] "" -#: ../src/yumex/gui/views.py:824 +#: ../src/yumex/gui/views/queueview.py:131 msgid "RPM file to install" msgid_plural "RPM files to install" msgstr[0] "" msgstr[1] "" -#: ../src/yumex/gui/views.py:829 +#: ../src/yumex/gui/views/queueview.py:136 msgid "Group to install" msgid_plural "Groups to install" msgstr[0] "" msgstr[1] "" -#: ../src/yumex/gui/views.py:834 +#: ../src/yumex/gui/views/queueview.py:141 msgid "Group to remove" msgid_plural "Groups to remove" msgstr[0] "" msgstr[1] "" -#: ../src/yumex/gui/views.py:854 +#: ../src/yumex/gui/views/queueview.py:161 msgid "Package to downgrade" msgid_plural "Packages to downgrade" msgstr[0] "" msgstr[1] "" -#: ../src/yumex/gui/views.py:861 +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:880 -msgid "History (Date/Time)" -msgstr "" - -#: ../src/yumex/gui/views.py:957 -msgid "History Packages" -msgstr "" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1037 ../src/yumex/gui/views.py:1084 -#: ../src/yumex/gui/dialogs.py:223 -msgid "Repository" -msgstr "" - -#: ../src/yumex/gui/views.py:1037 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1068 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1085 ../src/yumex/gui/dialogs.py:220 -#: ../src/yumex.ui.h:75 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:221 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:222 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:265 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:301 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:107 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" msgstr "" -#: ../src/yumex/gui/widgets.py:556 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:561 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:584 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:586 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:596 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:597 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:600 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:637 ../src/yumex.ui.h:79 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:659 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:676 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:706 -msgid "About" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:707 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:708 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:710 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:711 -msgid "Refresh Metadata" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:712 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "" + +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" +msgstr[1] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to " "search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:1 -msgid "OK" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "" + +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "" + +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" +msgstr "" + +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "" + +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "Cancel" +#: ../data/ui/preferences.ui:106 ../data/ui/preferences.ui:193 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:3 +#: ../data/ui/preferences.ui:131 +msgid "Use Dark Theme" +msgstr "" + +#: ../data/ui/preferences.ui:210 msgid "" -"Use the toolbar in the header of the window\n" -"standard when using GNOME" +"\n" +" Use the toolbar in the header of the window\n" +" standard when using GNOME\n" +" " msgstr "" -#: ../src/yumex.ui.h:5 +#: ../data/ui/preferences.ui:215 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:6 +#: ../data/ui/preferences.ui:240 ../data/ui/preferences.ui:255 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:7 +#: ../data/ui/preferences.ui:242 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:8 +#: ../data/ui/preferences.ui:258 msgid "12" msgstr "" -#: ../src/yumex.ui.h:9 +#: ../data/ui/preferences.ui:274 msgid "" -"Select all available updates when \n" -"Yum Extender is started" +"\n" +" Select all available updates when\n" +" Yum Extender is started\n" +" " msgstr "" -#: ../src/yumex.ui.h:11 +#: ../data/ui/preferences.ui:279 msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:12 +#: ../data/ui/preferences.ui:304 +msgid "Seach visible by default" +msgstr "" + +#: ../data/ui/preferences.ui:330 +msgid "Show progress splash screen on long running task" +msgstr "" + +#: ../data/ui/preferences.ui:364 msgid "UI" msgstr "" -#: ../src/yumex.ui.h:13 +#: ../data/ui/preferences.ui:391 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:14 +#: ../data/ui/preferences.ui:394 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:425 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:16 +#: ../data/ui/preferences.ui:428 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:451 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:18 +#: ../data/ui/preferences.ui:465 msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +"\n" +" Show newest only is active when\n" +" Yum Extender starts.\n" +" Will show only latest version of available\n" +" packages\n" +" " msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:473 msgid "Show newest only" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:495 msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +"\n" +" Erase unused requirement option is\n" +" active when Yum Extender starts\n" +" " msgstr "" -#: ../src/yumex.ui.h:25 +#: ../data/ui/preferences.ui:501 msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:26 +#: ../data/ui/preferences.ui:525 msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:27 +#: ../data/ui/preferences.ui:550 msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:563 msgid "3" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:581 msgid "DNF Options" msgstr "" -#: ../src/yumex.ui.h:30 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:599 +msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:31 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:634 +msgid "" +"\n" +" Save the current selected repositories\n" +" so they will be used next time you\n" +" start Yum Extender\n" +" " msgstr "" -#: ../src/yumex.ui.h:32 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:645 +msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:674 +msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available downgrades" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Colors" +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Repositories used in current session" +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "" -"Save the current selected repositories\n" -"so they will be used next time you\n" -"start Yum Extender" +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" msgstr "" -#: ../src/yumex.ui.h:40 -msgid "Save selected repositories" +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" msgstr "" -#: ../src/yumex.ui.h:41 -msgid "Repositories" +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" msgstr "" -#: ../src/yumex.ui.h:42 -msgid "Errors" +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:254 msgid "More filtering options" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/yumex.ui:282 msgid "Show available updates (Ctrl+1)" msgstr "" -#: ../src/yumex.ui.h:45 +#: ../data/ui/yumex.ui:288 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:46 +#: ../data/ui/yumex.ui:303 msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/yumex.ui:309 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:48 +#: ../data/ui/yumex.ui:324 msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:330 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:50 +#: ../data/ui/yumex.ui:345 msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:351 msgid "All" msgstr "" -#. The groups button in headerbar -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:487 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:562 msgid "Undo" msgstr "" -#. The history button in headerbar -#: ../src/yumex.ui.h:58 +#: ../data/ui/yumex.ui:586 msgid "History" msgstr "" -#. The pending action queue button in headerbar -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:620 msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:660 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:682 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:63 +#: ../data/ui/yumex.ui:704 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:64 +#: ../data/ui/yumex.ui:726 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:989 msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1003 msgid "Archs" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1047 msgid "Newest Only" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1051 msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1086 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1090 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:71 +#: ../data/ui/yumex.ui:1101 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1105 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:73 +#: ../data/ui/yumex.ui:1116 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1120 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1135 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:78 +#: ../data/ui/yumex.ui:1150 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:80 +#: ../data/ui/yumex.ui:1161 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1165 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:81 +#: ../data/ui/yumex.ui:1226 msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:82 +#: ../data/ui/yumex.ui:1240 msgid "Search (show/hide)" msgstr "" -#: ../src/yumex.ui.h:83 +#: ../data/ui/yumex.ui:1264 msgid "Apply pending actions" msgstr "" - -#: ../src/yumex.ui.h:84 -msgid "Package actions to perform" -msgstr "" - -#: ../src/yumex.ui.h:85 -msgid "Size:" -msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po index 1f67cf1..4e43af3 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2017-09-23 19:38+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: Paris Qian Sen , 2015\n" "Language-Team: Chinese (China) (http://www.transifex.com/timlau/yumex/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,841 +19,979 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "正在刷新软件库元数据" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "无法恢复 DNF 的缓存(ROOT)" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "DNF root 后端未被授权\nYum Extender 即将退出" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 -msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "DNF 已经被其他的进程锁定\n\nYum Extender 将会退出" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" -msgstr "正在查找依赖关系" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" +msgstr "正在下载软件包" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" -msgstr "依赖关系已解决" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" +msgstr "正在检查软件包签名" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "正在将更改应用到系统" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "下载出现错误\n" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "正在安装软件包 : %s" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" -msgstr "正在卸载软件包 : %s" - -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "升级所有可用更新" - -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "依赖查找出错" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "正在准备系统应用更改" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "无法移除被保护的包" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "队列中无等待动作" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" -msgstr "正在添加软件包到视图" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" +msgstr "正在刷新软件库元数据" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" -msgstr "" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" +msgstr "无法恢复 DNF 的缓存(ROOT)" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "正在下载软件包" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "正在检查软件包签名" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" -msgstr "" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" +msgstr "DNF root 后端未被授权\nYum Extender 即将退出" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." -msgstr "" +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" +msgstr "DNF 已经被其他的进程锁定\n\nYum Extender 将会退出" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "正在获取已经安装的软件包" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "正在获取可用软件包" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "正在获取可用更新" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "获取所有软件包" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "已更新的软件包" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "已降级的软件包" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "可淘汰的软件包" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "已淘汰的软件包" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "已删除的软件包" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "已安装的软件包" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "因依赖而安装" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "重新安装的软件包" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "正在安装" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "正在更新" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "正在卸载" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "正在降级" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "正在替换" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "正在更新 : %s" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "正在安装 : %s" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "正在清理 : %s" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "正在卸载 : %s" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "可淘汰 : %s" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "正在降级 : %s" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "正在验证 : %s" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "Bug修复" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "新软件包" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "安全" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "功能增强" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "成功将更改应用到系统" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" -msgstr "" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" +msgstr "确认导入此 GPG 密钥\n需要验证 %s 个软件包\n\n密 钥: 0x%s:\n用户D: \"%s\"\n来 源: %s" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" -msgstr "Yum Extender 即将关闭" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" +msgstr "名称" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" +msgstr "架构" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" -msgstr "" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" +msgstr "版本" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" +msgstr "软件库" + +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" +msgstr "大小" + +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" -msgstr "新更新" +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" +msgstr "历史软件包" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" -msgstr "%s 可用更新" +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "历史 (日期/时间)" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "点击安装/卸载所有" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "点击全选/取消全选" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "软件包" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." -msgstr "版本." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" +msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "架构." -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "点击过滤架构" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "概要" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "软件库." - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "大小" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "重新安装软件包" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "降级安装包" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "软件包" -#: ../src/yumex/gui/views.py:894 +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:167 #, python-format msgid "Downgrade to %s " msgstr "降级到 %s " -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "历史 (日期/时间)" - -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "历史软件包" - -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" -msgstr "软件库" - -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "文件名" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "点击此处在无/所有/默认\n之间切换" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" -msgstr "名称" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" +msgstr "首选项" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" -msgstr "架构" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" +msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" -msgstr "版本" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" +msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" -msgstr "正在覆盖 {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" +msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" -msgstr "确认导入此 GPG 密钥\n需要验证 %s 个软件包\n\n密 钥: 0x%s:\n用户D: \"%s\"\n来 源: %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" +msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" -msgstr "正在获取软件包元数据" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "标签 : %s\n" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "链接 : " -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "无可用更新信息" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "\nFedora 更新:" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "发布" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "类型" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "发行" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "描述" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "无可用更新日志信息" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "\n在线更新日志 :" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "无可用文件列表信息" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" -msgstr "" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" +msgstr "正在获取软件包元数据" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" +msgstr "正在查找依赖关系" + +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" +msgstr "依赖关系已解决" + +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" +msgstr "正在安装软件包 : %s" + +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" +msgstr "正在卸载软件包 : %s" + +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" +msgstr "升级所有可用更新" + +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" -msgstr "首选项" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" +msgstr "正在准备系统应用更改" + +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "队列中无等待动作" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "正在添加软件包到视图" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" -msgstr "Yumex 软件包安装器" +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" -msgstr "向系统中安装本地软件包" +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" +msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" -msgstr "Yum Extender (DNF)" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" +msgstr "新更新" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" -msgstr "安装,更新和卸载应用程序" +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" -msgstr "软件安装器" +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" -msgstr "图形化软件包管理器" +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "Yum extender 是图形化的软件包管理程序,此程序允许您在本机中搜索、浏览、安装/移除/升级软件包。" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "此程序的设计初衷是让每一个使用者都能够在自己的电脑让软件包在自己的掌控之中." -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "特性:" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "浏览可安装/更新的软件包" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "浏览本机中已安装的软件包" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "按名称、概要或描述搜索软件包" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "查看此计算机中软件包的操作历史" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "按照软件组浏览、安装/卸载" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "按照软件包大小或软件源浏览" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "控制当前会话中启用的软件源" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "确定" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" +msgstr "安装,更新和卸载应用程序" -#: ../src/yumex.ui.h:3 -msgid "Cancel" -msgstr "取消" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" +msgstr "软件安装器" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" -msgstr "默认:仅显示最新" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" +msgstr "向系统中安装本地软件包" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" -msgstr "默认:清理不再需要的软件包" - -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" -msgstr "更改了主窗口的关闭按钮的动作,将会在点击关闭按钮时\n仅隐藏窗口" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" +msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" -msgstr "关闭仅最小化窗口" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" +msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "在窗口头部显示工具栏" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "当 Yum Extender 启动时\n选中所有可用更新" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "启动时选中更新" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "缓存到期间隔(小时)" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" -msgstr "" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" +msgstr "当 Yum Extender 启动时\n选中所有可用更新" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" +msgstr "启动时选中更新" + +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" -msgstr "设置" +#: ../data/ui/preferences.ui:336 +msgid "UI" +msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "更新检查间隔(分钟)" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" -msgstr "已安装软件包的颜色" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" +msgstr "" + +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" +msgstr "" + +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" +msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" -msgstr "可更新软件包的颜色" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" +msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" -msgstr "可用软件包的颜色" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" +msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" -msgstr "已淘汰软件包的颜色" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" +msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" -msgstr "可降级软件的的颜色" +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" -msgstr "高级" +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "当前会话中使用的仓库" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "保存选中的仓库" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "软件库" -#: ../src/yumex.ui.h:45 -msgid "label" -msgstr "标签" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" +msgstr "" + +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" +msgstr "" + +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "软件包执行动作" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "大小:" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "更新" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "已安装" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "可用" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "所有" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "软件组" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "撤销" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "历史记录" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" -msgstr "未提交的动作" +#: ../data/ui/yumex.ui:644 +msgid "Queue" +msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "软件包描述" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "包更新信息" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" +msgstr "" + +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "前缀" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "关键词" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "Fields" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "描述" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" -msgstr "软件包执行动作" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" +msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" -msgstr "大小:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" +msgstr "" diff --git a/po/zh_TW.po b/po/zh_TW.po index 60b1b96..4da627e 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Yum Extender\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-02 18:49+0100\n" -"PO-Revision-Date: 2015-12-02 17:49+0000\n" -"Last-Translator: Tim Lauridsen \n" +"POT-Creation-Date: 2021-12-08 06:49+0100\n" +"PO-Revision-Date: 2014-03-19 08:15+0000\n" +"Last-Translator: FULL NAME \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/timlau/yumex/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,841 +17,979 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../src/yumex/__init__.py:112 ../src/yumex/old_init.py:137 -msgid "Refreshing Repository Metadata" -msgstr "" - -#: ../src/yumex/__init__.py:119 ../src/yumex/old_init.py:144 -msgid "Could not refresh the DNF cache (root)" -msgstr "" - -#: ../src/yumex/__init__.py:124 ../src/yumex/old_init.py:149 -msgid "" -"DNF root backend was not authorized.\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:129 ../src/yumex/old_init.py:154 +#: ../src/yumex/backend/dnf.py:188 +#, python-brace-format msgid "" -"DNF is locked by another process.\n" -"\n" -"Yum Extender will exit" -msgstr "" - -#: ../src/yumex/__init__.py:623 -msgid "Reloading package information..." +"dnfdaemon api version : {self.running_api_version}\n" +"don't match\n" +"needed api version : {const.NEEDED_DAEMON_API}" msgstr "" -#: ../src/yumex/__init__.py:746 ../src/yumex/__init__.py:829 -#: ../src/yumex/old_init.py:266 ../src/yumex/old_init.py:1047 -msgid "Searching for dependencies" +#: ../src/yumex/backend/dnf.py:198 +msgid "Downloading packages" msgstr "" -#: ../src/yumex/__init__.py:748 ../src/yumex/__init__.py:831 -#: ../src/yumex/old_init.py:268 ../src/yumex/old_init.py:1049 -msgid "Dependencies resolved" +#: ../src/yumex/backend/dnf.py:203 +msgid "Checking package signatures" msgstr "" -#. Ok pressed -#: ../src/yumex/__init__.py:762 ../src/yumex/__init__.py:839 -#: ../src/yumex/dnf_backend.py:206 ../src/yumex/old_init.py:276 -#: ../src/yumex/old_init.py:1063 +#: ../src/yumex/backend/dnf.py:211 ../src/yumex/gui/window/__init__.py:516 +#: ../src/yumex/gui/window/__init__.py:600 msgid "Applying changes to the system" msgstr "" -#: ../src/yumex/__init__.py:787 ../src/yumex/old_init.py:1088 -msgid "Error checking package signatures\n" -msgstr "" - -#: ../src/yumex/__init__.py:793 ../src/yumex/old_init.py:1094 -msgid "Downloading error(s)\n" -msgstr "" - -#: ../src/yumex/__init__.py:799 ../src/yumex/old_init.py:1100 -msgid "Error in transaction\n" -msgstr "" - -#: ../src/yumex/__init__.py:814 ../src/yumex/old_init.py:254 -#, python-format -msgid "Installing package: %s" -msgstr "" - -#: ../src/yumex/__init__.py:815 -#, python-format -msgid "%s was installed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:820 ../src/yumex/old_init.py:259 -#, python-format -msgid "Removing package: %s" +#: ../src/yumex/backend/dnf.py:214 +msgid "Verify changes on the system" msgstr "" -#: ../src/yumex/__init__.py:821 +#: ../src/yumex/backend/dnf.py:258 #, python-format -msgid "%s was removed successfully" -msgstr "" - -#: ../src/yumex/__init__.py:826 ../src/yumex/old_init.py:264 -msgid "Updating all available updates" -msgstr "" +msgid "Downloading %d file (%sB)..." +msgid_plural "Downloading %d files (%sB)..." +msgstr[0] "" -#: ../src/yumex/__init__.py:827 -msgid "Available updates was applied successfully" -msgstr "" - -#: ../src/yumex/__init__.py:846 ../src/yumex/__init__.py:896 -#: ../src/yumex/old_init.py:286 ../src/yumex/old_init.py:1149 -msgid "Error(s) in search for dependencies" -msgstr "" - -#: ../src/yumex/__init__.py:862 ../src/yumex/old_init.py:1115 -msgid "Preparing system for applying changes" -msgstr "" - -#: ../src/yumex/__init__.py:873 ../src/yumex/old_init.py:1126 -msgid "Can't remove protected package(s)" -msgstr "" - -#: ../src/yumex/__init__.py:887 ../src/yumex/old_init.py:1140 -msgid "No pending actions in queue" -msgstr "" - -#: ../src/yumex/__init__.py:891 ../src/yumex/old_init.py:1144 -msgid "Error(s) in building transaction" -msgstr "" - -#: ../src/yumex/__init__.py:1013 ../src/yumex/old_init.py:789 -msgid "Adding packages to view" +#: ../src/yumex/base/__init__.py:87 +msgid "Refreshing Repository Metadata" msgstr "" -#: ../src/yumex/__init__.py:1064 ../src/yumex/old_init.py:728 -msgid "Error in undo history transaction" +#: ../src/yumex/base/__init__.py:93 +msgid "Could not refresh the DNF cache (root)" msgstr "" -#: ../src/yumex/dnf_backend.py:181 -#, python-format +#: ../src/yumex/base/__init__.py:117 msgid "" -"dnfdaemon api version : %d\n" -"don't match\n" -"needed api version : %d" -msgstr "" - -#: ../src/yumex/dnf_backend.py:191 -msgid "Downloading packages" -msgstr "" - -#: ../src/yumex/dnf_backend.py:197 -msgid "Checking package signatures" -msgstr "" - -#: ../src/yumex/dnf_backend.py:210 -msgid "Verify changes on the system" +"DNF root backend was not authorized.\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/dnf_backend.py:246 -#, python-format -msgid "Downloading %d files (%sB)..." +#: ../src/yumex/base/__init__.py:123 +msgid "" +"DNF is locked by another process.\n" +"\n" +"Yum Extender will exit" msgstr "" -#: ../src/yumex/const.py:129 +#: ../src/yumex/common/const.py:127 msgid "Getting installed packages" msgstr "" -#: ../src/yumex/const.py:130 +#: ../src/yumex/common/const.py:128 msgid "Getting available packages" msgstr "" -#: ../src/yumex/const.py:131 +#: ../src/yumex/common/const.py:129 msgid "Getting available updates" msgstr "" -#: ../src/yumex/const.py:132 +#: ../src/yumex/common/const.py:130 msgid "Getting all packages" msgstr "" -#: ../src/yumex/const.py:145 +#: ../src/yumex/common/const.py:152 msgid "Updated packages" msgstr "" -#: ../src/yumex/const.py:146 +#: ../src/yumex/common/const.py:153 msgid "Downgraded packages" msgstr "" -#: ../src/yumex/const.py:147 +#: ../src/yumex/common/const.py:154 msgid "Obsoleting packages" msgstr "" -#: ../src/yumex/const.py:148 +#: ../src/yumex/common/const.py:155 msgid "Obsoleted packages" msgstr "" -#: ../src/yumex/const.py:149 +#: ../src/yumex/common/const.py:156 msgid "Erased packages" msgstr "" -#: ../src/yumex/const.py:150 ../src/yumex/const.py:151 +#: ../src/yumex/common/const.py:157 +msgid "Removed packages" +msgstr "" + +#: ../src/yumex/common/const.py:158 ../src/yumex/common/const.py:159 msgid "Installed packages" msgstr "" -#: ../src/yumex/const.py:152 +#: ../src/yumex/common/const.py:160 msgid "Installed for dependencies" msgstr "" -#: ../src/yumex/const.py:153 +#: ../src/yumex/common/const.py:161 msgid "Reinstalled packages" msgstr "" -#: ../src/yumex/const.py:157 +#: ../src/yumex/common/const.py:165 msgid "Installing" msgstr "" -#: ../src/yumex/const.py:158 +#: ../src/yumex/common/const.py:166 msgid "Updating" msgstr "" -#: ../src/yumex/const.py:159 +#: ../src/yumex/common/const.py:167 msgid "Removing" msgstr "" -#: ../src/yumex/const.py:160 +#: ../src/yumex/common/const.py:168 msgid "Downgrading" msgstr "" -#: ../src/yumex/const.py:161 +#: ../src/yumex/common/const.py:169 msgid "Replacing" msgstr "" -#: ../src/yumex/const.py:165 +#: ../src/yumex/common/const.py:170 +msgid "Weak Dependencies" +msgstr "" + +#: ../src/yumex/common/const.py:174 #, python-format msgid "Updating: %s" msgstr "" -#: ../src/yumex/const.py:166 +#: ../src/yumex/common/const.py:175 +#, python-format +msgid "Updated: %s" +msgstr "" + +#: ../src/yumex/common/const.py:176 #, python-format msgid "Installing: %s" msgstr "" -#: ../src/yumex/const.py:167 +#: ../src/yumex/common/const.py:177 #, python-format msgid "Reinstalling: %s" msgstr "" -#: ../src/yumex/const.py:168 +#: ../src/yumex/common/const.py:178 #, python-format msgid "Cleanup: %s" msgstr "" -#: ../src/yumex/const.py:169 +#: ../src/yumex/common/const.py:179 #, python-format msgid "Removing: %s" msgstr "" -#: ../src/yumex/const.py:170 +#: ../src/yumex/common/const.py:180 #, python-format msgid "Obsoleting: %s" msgstr "" -#: ../src/yumex/const.py:171 +#: ../src/yumex/common/const.py:181 #, python-format msgid "Downgrading: %s" msgstr "" -#: ../src/yumex/const.py:172 +#: ../src/yumex/common/const.py:182 #, python-format msgid "Verifying: %s" msgstr "" -#: ../src/yumex/const.py:182 +#: ../src/yumex/common/const.py:183 +#, python-format +msgid "Running scriptlet for: %s" +msgstr "" + +#: ../src/yumex/common/const.py:197 msgid "Bugfix" msgstr "" -#: ../src/yumex/const.py:183 +#: ../src/yumex/common/const.py:198 msgid "New Package" msgstr "" -#: ../src/yumex/const.py:184 +#: ../src/yumex/common/const.py:199 msgid "Security" msgstr "" -#: ../src/yumex/const.py:185 +#: ../src/yumex/common/const.py:200 msgid "Enhancement" msgstr "" -#: ../src/yumex/old_init.py:283 -msgid "Changes was successfully applied to the system" -msgstr "" - -#: ../src/yumex/old_init.py:1305 +#: ../src/yumex/gui/dialogs/__init__.py:61 +#, python-format msgid "" +" Do you want to import this GPG key\n" +" needed to verify the %s package?\n" "\n" -"\n" -"Yum Extender will close" +" Key : 0x%s:\n" +" Userid : \"%s\"\n" +" From : %s" msgstr "" -#: ../src/yumex/old_init.py:1307 -msgid "Error in starting notification icon" +#: ../src/yumex/gui/dialogs/preferences.py:63 +msgid "Fetching repository information" msgstr "" -#: ../src/yumex/old_init.py:1331 -msgid "Yum Extender will close" +#: ../src/yumex/gui/dialogs/transactionresult.py:57 +#: ../src/yumex/gui/views/repoview.py:84 ../data/ui/yumex.ui:1155 +msgid "Name" msgstr "" -#: ../src/yumex/old_init.py:1333 -msgid "Error in locking notification icon" +#: ../src/yumex/gui/dialogs/transactionresult.py:58 +msgid "Arch" msgstr "" -#. timeout 10s -#: ../src/yumex/updater.py:68 -msgid "Not Now" +#: ../src/yumex/gui/dialogs/transactionresult.py:59 +msgid "Ver" msgstr "" -#: ../src/yumex/updater.py:70 -msgid "Show Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:60 +#: ../src/yumex/gui/views/packageview.py:92 +#: ../src/yumex/gui/views/repoview.py:36 ../src/yumex/gui/views/repoview.py:83 +msgid "Repository" msgstr "" -#: ../src/yumex/updater.py:165 -msgid "New Updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:61 +#: ../src/yumex/gui/views/packageview.py:90 +msgid "Size" msgstr "" -#: ../src/yumex/updater.py:166 -#, python-format -msgid "%s available updates" +#: ../src/yumex/gui/dialogs/transactionresult.py:111 +#, python-brace-format +msgid "replacing {n}" +msgstr "" + +#: ../src/yumex/gui/views/historypackageview.py:42 +msgid "History Packages" msgstr "" -#: ../src/yumex/gui/views.py:256 +#: ../src/yumex/gui/views/historyview.py:45 +msgid "History (Date/Time)" +msgstr "" + +#: ../src/yumex/gui/views/packageview.py:66 msgid "Click to install all/remove all" msgstr "" -#: ../src/yumex/gui/views.py:261 +#: ../src/yumex/gui/views/packageview.py:73 msgid "Click to select/deselect all" msgstr "" -#: ../src/yumex/gui/views.py:273 +#: ../src/yumex/gui/views/packageview.py:86 msgid "Package" msgstr "" -#: ../src/yumex/gui/views.py:275 -msgid "Ver." +#: ../src/yumex/gui/views/packageview.py:88 +msgid "Version" msgstr "" -#: ../src/yumex/gui/views.py:277 +#: ../src/yumex/gui/views/packageview.py:89 msgid "Arch." msgstr "" -#: ../src/yumex/gui/views.py:279 -msgid "click to filter archs" -msgstr "" - -#: ../src/yumex/gui/views.py:280 ../src/yumex/gui/views.py:769 -#: ../src/yumex.ui.h:73 +#: ../src/yumex/gui/views/packageview.py:91 +#: ../src/yumex/gui/views/queueview.py:59 ../data/ui/yumex.ui:1170 msgid "Summary" msgstr "" -#: ../src/yumex/gui/views.py:281 -msgid "Repo." -msgstr "" - -#: ../src/yumex/gui/views.py:282 ../src/yumex/gui/dialogs.py:210 -msgid "Size" -msgstr "" - -#: ../src/yumex/gui/views.py:321 +#: ../src/yumex/gui/views/packageview.py:136 msgid "Reinstall Package" msgstr "" -#: ../src/yumex/gui/views.py:336 +#: ../src/yumex/gui/views/packageview.py:151 msgid "Downgrade Package" msgstr "" -#: ../src/yumex/gui/views.py:764 ../src/yumex.ui.h:54 +#: ../src/yumex/gui/views/queueview.py:54 ../data/ui/yumex.ui:441 msgid "Packages" msgstr "" -#: ../src/yumex/gui/views.py:894 -#, python-format -msgid "Downgrade to %s " -msgstr "" +#: ../src/yumex/gui/views/queueview.py:111 +msgid "Package to update" +msgid_plural "Packages to update" +msgstr[0] "" -#: ../src/yumex/gui/views.py:917 -msgid "History (Date/Time)" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:116 +msgid "Package to install" +msgid_plural "Packages to install" +msgstr[0] "" -#: ../src/yumex/gui/views.py:994 -msgid "History Packages" -msgstr "" +#: ../src/yumex/gui/views/queueview.py:121 +msgid "Package to remove" +msgid_plural "Packages to remove" +msgstr[0] "" -#. Setup reponame & repofile column's -#: ../src/yumex/gui/views.py:1082 ../src/yumex/gui/views.py:1129 -#: ../src/yumex/gui/dialogs.py:209 -msgid "Repository" +#: ../src/yumex/gui/views/queueview.py:126 +msgid "Package to reinstall" +msgid_plural "Packages to reinstall" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:131 +msgid "RPM file to install" +msgid_plural "RPM files to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:136 +msgid "Group to install" +msgid_plural "Groups to install" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:141 +msgid "Group to remove" +msgid_plural "Groups to remove" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:161 +msgid "Package to downgrade" +msgid_plural "Packages to downgrade" +msgstr[0] "" + +#: ../src/yumex/gui/views/queueview.py:167 +#, python-format +msgid "Downgrade to %s " msgstr "" -#: ../src/yumex/gui/views.py:1082 +#: ../src/yumex/gui/views/repoview.py:36 msgid "Filename" msgstr "" -#: ../src/yumex/gui/views.py:1113 +#: ../src/yumex/gui/views/repoview.py:67 msgid "" "Click here to switch between\n" " none/all/default selected" msgstr "" -#: ../src/yumex/gui/views.py:1130 ../src/yumex/gui/dialogs.py:206 -#: ../src/yumex.ui.h:71 -msgid "Name" +#: ../src/yumex/gui/widgets/mainnenu.py:49 +msgid "Preferences" msgstr "" -#: ../src/yumex/gui/dialogs.py:207 -msgid "Arch" +#: ../src/yumex/gui/widgets/mainnenu.py:50 +msgid "Refresh Metadata" msgstr "" -#: ../src/yumex/gui/dialogs.py:208 -msgid "Ver" +#: ../src/yumex/gui/widgets/mainnenu.py:51 ../data/ui/shortcuts.ui:158 +msgid "Quit" msgstr "" -#: ../src/yumex/gui/dialogs.py:251 -msgid "replacing {}" +#: ../src/yumex/gui/widgets/mainnenu.py:52 +msgid "Main Menu" msgstr "" -#: ../src/yumex/gui/dialogs.py:287 -#, python-format -msgid "" -" Do you want to import this GPG key\n" -" needed to verify the %s package?\n" -"\n" -" Key : 0x%s:\n" -" Userid : \"%s\"\n" -" From : %s" +#: ../src/yumex/gui/widgets/mainnenu.py:54 +msgid "About" msgstr "" -#: ../src/yumex/gui/widgets.py:116 -msgid "Getting Package Metadata" +#: ../src/yumex/gui/widgets/mainnenu.py:55 +msgid "Keyboard Shortcuts" msgstr "" -#: ../src/yumex/gui/widgets.py:621 +#: ../src/yumex/gui/widgets/mainnenu.py:56 +msgid "Documentation" +msgstr "" + +#: ../src/yumex/gui/widgets/mainnenu.py:57 +msgid "Help" +msgstr "" + +#: ../src/yumex/gui/widgets/packageinfo.py:239 #, python-format msgid "Tags: %s\n" msgstr "" -#: ../src/yumex/gui/widgets.py:626 +#: ../src/yumex/gui/widgets/packageinfo.py:243 msgid "Links: " msgstr "" -#: ../src/yumex/gui/widgets.py:649 +#: ../src/yumex/gui/widgets/packageinfo.py:266 msgid "No update information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:651 +#: ../src/yumex/gui/widgets/packageinfo.py:268 msgid "" "\n" "Fedora Updates:" msgstr "" -#: ../src/yumex/gui/widgets.py:661 +#: ../src/yumex/gui/widgets/packageinfo.py:277 msgid "Release" msgstr "" -#: ../src/yumex/gui/widgets.py:662 +#: ../src/yumex/gui/widgets/packageinfo.py:278 msgid "Type" msgstr "" -#. head += ("%14s " % _("Status")) + ": %(status)s\n" -#: ../src/yumex/gui/widgets.py:665 +#: ../src/yumex/gui/widgets/packageinfo.py:280 msgid "Issued" msgstr "" -#: ../src/yumex/gui/widgets.py:702 ../src/yumex.ui.h:75 -msgid "Description" -msgstr "" - -#: ../src/yumex/gui/widgets.py:724 +#: ../src/yumex/gui/widgets/packageinfo.py:332 msgid "No changelog information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:726 +#: ../src/yumex/gui/widgets/packageinfo.py:334 msgid "" "\n" "Online Changelog:" msgstr "" -#: ../src/yumex/gui/widgets.py:741 +#: ../src/yumex/gui/widgets/packageinfo.py:349 msgid "No filelist information is available" msgstr "" -#: ../src/yumex/gui/widgets.py:771 -msgid "Newest only" +#: ../src/yumex/gui/widgets/progress.py:76 +msgid "Getting Package Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:772 -msgid "Erase unused requirements" +#: ../src/yumex/gui/window/__init__.py:234 +msgid "Downloading Repository Metadata" msgstr "" -#: ../src/yumex/gui/widgets.py:774 -msgid "Cleanup old instonly packages " +#: ../src/yumex/gui/window/__init__.py:370 +msgid "Reloading package information..." msgstr "" -#: ../src/yumex/gui/widgets.py:776 -msgid "Options" +#: ../src/yumex/gui/window/__init__.py:499 +#: ../src/yumex/gui/window/__init__.py:590 +msgid "Searching for dependencies" msgstr "" -#: ../src/yumex/gui/widgets.py:778 -msgid "About" +#: ../src/yumex/gui/window/__init__.py:501 +#: ../src/yumex/gui/window/__init__.py:592 +msgid "Dependencies resolved" msgstr "" -#: ../src/yumex/gui/widgets.py:779 -msgid "Documentation" +#: ../src/yumex/gui/window/__init__.py:542 +msgid "Error checking package signatures\n" msgstr "" -#: ../src/yumex/gui/widgets.py:780 -msgid "Help" +#: ../src/yumex/gui/window/__init__.py:549 +msgid "Downloading error\n" +msgid_plural "Downloading errors\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:558 +msgid "Error in transaction\n" +msgid_plural "Errors in transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:575 +#, python-format +msgid "Installing package: %s" msgstr "" -#: ../src/yumex/gui/widgets.py:782 ../src/yumex.ui.h:1 -msgid "Preferences" +#: ../src/yumex/gui/window/__init__.py:576 +#, python-format +msgid "%s was installed successfully" msgstr "" -#: ../src/yumex/gui/widgets.py:783 -msgid "Quit" +#: ../src/yumex/gui/window/__init__.py:581 +#, python-format +msgid "Removing package: %s" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:1 -msgid "Yumex Package Installer" +#: ../src/yumex/gui/window/__init__.py:582 +#, python-format +msgid "%s was removed successfully" msgstr "" -#: ../misc/yumex-dnf-local.desktop.in.h:2 -msgid "Install local packages on system" +#: ../src/yumex/gui/window/__init__.py:587 +msgid "Updating all available updates" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:1 -msgid "Yum Extender (DNF)" +#: ../src/yumex/gui/window/__init__.py:588 +msgid "Available updates was applied successfully" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:2 -msgid "Install, update and remove applications" +#: ../src/yumex/gui/window/__init__.py:609 +msgid "Error in search for dependencies" +msgid_plural "Errors in search for dependencies" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:629 +msgid "Preparing system for applying changes" msgstr "" -#: ../misc/yumex-dnf.desktop.in.h:3 -msgid "Software Installer" +#: ../src/yumex/gui/window/__init__.py:641 +msgid "Can't remove protected package:" +msgid_plural "Can't remove protected packages:" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:659 +msgid "No pending actions in queue" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:665 +msgid "Error in building transaction\n" +msgid_plural "Errors in building transaction\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:675 +msgid "Error in search for dependencies\n" +msgid_plural "Errors in search for dependencies\n" +msgstr[0] "" + +#: ../src/yumex/gui/window/__init__.py:820 +msgid "Adding packages to view" +msgstr "" + +#: ../src/yumex/gui/window/__init__.py:864 +msgid "Error in undo history transaction" +msgstr "" + +#: ../src/yumex/updater/__init__.py:70 +msgid "Not Now" +msgstr "" + +#: ../src/yumex/updater/__init__.py:71 +msgid "Show Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:1 -msgid "Graphical package manager" +#: ../src/yumex/updater/__init__.py:158 +msgid "New Updates" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:2 +#: ../src/yumex/updater/__init__.py:161 +#, python-format +msgid "%d available update" +msgid_plural "%d available updates" +msgstr[0] "" + +#: ../misc/yumex-dnf.appdata.xml.in:7 ../misc/yumex-dnf.desktop.in:3 +msgid "Yum Extender" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:9 +msgid "Tim Lauridsen" +msgstr "" + +#: ../misc/yumex-dnf.appdata.xml.in:12 msgid "" "Yum Extender is a graphical package management application. It allows you to" " search and browse for packages to install, remove and update on your " "computer." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:3 +#: ../misc/yumex-dnf.appdata.xml.in:16 msgid "" "It is designed to give you full control over the packages on your computer " "and to be used by all users." msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:4 +#: ../misc/yumex-dnf.appdata.xml.in:17 msgid "Features:" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:5 +#: ../misc/yumex-dnf.appdata.xml.in:19 msgid "Browse packages available for installation or update" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:6 +#: ../misc/yumex-dnf.appdata.xml.in:20 msgid "Browse packages installed on your computer" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:7 +#: ../misc/yumex-dnf.appdata.xml.in:21 msgid "Search packages by name, summary, description" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:8 +#: ../misc/yumex-dnf.appdata.xml.in:22 msgid "Watch the history of package action on your system" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:9 +#: ../misc/yumex-dnf.appdata.xml.in:23 msgid "Browse and install/remove package groups" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:10 +#: ../misc/yumex-dnf.appdata.xml.in:24 msgid "Browse packages by size, repository" msgstr "" -#: ../misc/yumex-dnf.appdata.xml.in.h:11 +#: ../misc/yumex-dnf.appdata.xml.in:25 msgid "Control what package repositories are enabled for the current session" msgstr "" -#: ../src/yumex.ui.h:2 -msgid "OK" -msgstr "" - -#: ../src/yumex.ui.h:3 -msgid "Cancel" +#: ../misc/yumex-dnf.desktop.in:4 +msgid "Install, update and remove applications" msgstr "" -#: ../src/yumex.ui.h:4 -msgid "" -"Show newest only is active when\n" -"Yum Extender starts.\n" -"Will show only latest version of available\n" -"packages" +#: ../misc/yumex-dnf.desktop.in:11 +msgid "Software Installer" msgstr "" -#: ../src/yumex.ui.h:8 -msgid "Default: Show newest only" +#: ../misc/yumex-dnf-local.desktop.in:3 +msgid "Yum Extender Package Installer" msgstr "" -#: ../src/yumex.ui.h:9 -msgid "" -"Erase unused requirement option is\n" -"active when Yum Extender starts" +#: ../misc/yumex-dnf-local.desktop.in:4 +msgid "Install local packages on system" msgstr "" -#: ../src/yumex.ui.h:11 -msgid "Default: Erase Unused Requirements" +#: ../data/ui/errordialog.ui:10 +msgid "Errors" msgstr "" -#: ../src/yumex.ui.h:12 -msgid "" -"Change the close action for the main window, so it just hides the\n" -"window when the close button is clicked" +#: ../data/ui/preferences.ui:83 ../data/ui/preferences.ui:170 +msgid "Theme" msgstr "" -#: ../src/yumex.ui.h:14 -msgid "Close will only minimize window" +#: ../data/ui/preferences.ui:108 +msgid "Use Dark Theme" msgstr "" -#: ../src/yumex.ui.h:15 +#: ../data/ui/preferences.ui:187 msgid "" "Use the toolbar in the header of the window\n" "standard when using GNOME" msgstr "" -#: ../src/yumex.ui.h:17 +#: ../data/ui/preferences.ui:190 msgid "Show toolbar in window headerbar" msgstr "" -#: ../src/yumex.ui.h:18 -msgid "" -"Select all available updates when \n" -"Yum Extender is started" -msgstr "" - -#: ../src/yumex.ui.h:20 -msgid "Select updates at startup" -msgstr "" - -#: ../src/yumex.ui.h:21 +#: ../data/ui/preferences.ui:215 ../data/ui/preferences.ui:230 msgid "" "The interval in hour, when the DNF cache will be expired and updated (0 = " "disabled)" msgstr "" -#: ../src/yumex.ui.h:22 +#: ../data/ui/preferences.ui:217 msgid "Cache expire interval (hours)" msgstr "" -#: ../src/yumex.ui.h:23 +#: ../data/ui/preferences.ui:233 msgid "12" msgstr "" -#: ../src/yumex.ui.h:24 -msgid "Default: Cleanup Old Installonly packages" +#: ../data/ui/preferences.ui:248 +msgid "" +"Select all available updates when \n" +"Yum Extender is started" msgstr "" -#: ../src/yumex.ui.h:25 -msgid "Number of installonly packages to keep" +#: ../data/ui/preferences.ui:251 +msgid "Select updates at startup" msgstr "" -#: ../src/yumex.ui.h:26 -msgid "3" +#: ../data/ui/preferences.ui:276 +msgid "Seach visible by default" +msgstr "" + +#: ../data/ui/preferences.ui:302 +msgid "Show progress splash screen on long running task" msgstr "" -#: ../src/yumex.ui.h:27 -msgid "Settings" +#: ../data/ui/preferences.ui:336 +msgid "UI" msgstr "" -#: ../src/yumex.ui.h:28 +#: ../data/ui/preferences.ui:363 msgid "Autostart the Yum Extender update checker at user login" msgstr "" -#: ../src/yumex.ui.h:29 +#: ../data/ui/preferences.ui:366 msgid "Start update checker at user login" msgstr "" -#: ../src/yumex.ui.h:30 +#: ../data/ui/preferences.ui:396 msgid "How often the update checker will run" msgstr "" -#: ../src/yumex.ui.h:31 +#: ../data/ui/preferences.ui:399 msgid "Update check interval (minutes)" msgstr "" -#: ../src/yumex.ui.h:32 +#: ../data/ui/preferences.ui:422 msgid "Update Checker" msgstr "" -#: ../src/yumex.ui.h:33 -msgid "Color for installed packages" +#: ../data/ui/preferences.ui:436 +msgid "" +"Show newest only is active when\n" +"Yum Extender starts.\n" +"Will show only latest version of available\n" +"packages" msgstr "" -#: ../src/yumex.ui.h:34 -msgid "Color for available updates" +#: ../data/ui/preferences.ui:442 +msgid "Show newest only" msgstr "" -#: ../src/yumex.ui.h:35 -msgid "Color for available packages" +#: ../data/ui/preferences.ui:464 +msgid "" +"Erase unused requirement option is\n" +"active when Yum Extender starts" msgstr "" -#: ../src/yumex.ui.h:36 -msgid "Color for obsoleted packages" +#: ../data/ui/preferences.ui:468 +msgid "Erase Unused Requirements" msgstr "" -#: ../src/yumex.ui.h:37 -msgid "Color for available downgrades" +#: ../data/ui/preferences.ui:492 +msgid "Cleanup Old Installonly packages" msgstr "" -#: ../src/yumex.ui.h:38 -msgid "Advanced" +#: ../data/ui/preferences.ui:517 +msgid "Number of installonly packages to keep" msgstr "" -#: ../src/yumex.ui.h:39 +#: ../data/ui/preferences.ui:530 +msgid "3" +msgstr "" + +#: ../data/ui/preferences.ui:547 +msgid "DNF Options" +msgstr "" + +#: ../data/ui/preferences.ui:565 msgid "Repositories used in current session" msgstr "" -#: ../src/yumex.ui.h:40 +#: ../data/ui/preferences.ui:600 msgid "" "Save the current selected repositories\n" "so they will be used next time you\n" "start Yum Extender" msgstr "" -#: ../src/yumex.ui.h:43 +#: ../data/ui/preferences.ui:609 msgid "Save selected repositories" msgstr "" -#: ../src/yumex.ui.h:44 +#: ../data/ui/preferences.ui:638 msgid "Repositories" msgstr "" -#: ../src/yumex.ui.h:45 -msgid "label" +#: ../data/ui/progresssplash.ui:54 ../data/ui/progresssplash.ui:75 +msgid "Working ..." +msgstr "" + +#: ../data/ui/shortcuts.ui:14 +msgid "Pages" +msgstr "" + +#: ../data/ui/shortcuts.ui:18 +msgid "Go to packages page" msgstr "" -#: ../src/yumex.ui.h:46 -msgid "Show available updates" +#: ../data/ui/shortcuts.ui:25 +msgid "Go to group page" msgstr "" -#: ../src/yumex.ui.h:47 +#: ../data/ui/shortcuts.ui:32 +msgid "Go to history page" +msgstr "" + +#: ../data/ui/shortcuts.ui:39 +msgid "Go to queue page" +msgstr "" + +#: ../data/ui/shortcuts.ui:48 +msgid "Filters" +msgstr "" + +#: ../data/ui/shortcuts.ui:53 +msgid "Show updates" +msgstr "" + +#: ../data/ui/shortcuts.ui:60 +msgid "Show installed" +msgstr "" + +#: ../data/ui/shortcuts.ui:67 +msgid "Show available" +msgstr "" + +#: ../data/ui/shortcuts.ui:74 +msgid "Show all" +msgstr "" + +#: ../data/ui/shortcuts.ui:83 +msgid "Info view" +msgstr "" + +#: ../data/ui/shortcuts.ui:88 +msgid "package description" +msgstr "" + +#: ../data/ui/shortcuts.ui:95 +msgid "package update info" +msgstr "" + +#: ../data/ui/shortcuts.ui:102 +msgid "package files" +msgstr "" + +#: ../data/ui/shortcuts.ui:109 +msgid "package requirement" +msgstr "" + +#: ../data/ui/shortcuts.ui:118 +msgid "Package View" +msgstr "" + +#: ../data/ui/shortcuts.ui:123 +msgid "Select all packages in view" +msgstr "" + +#: ../data/ui/shortcuts.ui:132 +msgid "Other" +msgstr "" + +#: ../data/ui/shortcuts.ui:137 +msgid "Apply Pending actions" +msgstr "" + +#: ../data/ui/shortcuts.ui:144 +msgid "Filter options" +msgstr "" + +#: ../data/ui/shortcuts.ui:151 +msgid "Toggle search bar" +msgstr "" + +#: ../data/ui/shortcuts.ui:165 +msgid "Open Preferences" +msgstr "" + +#: ../data/ui/shortcuts.ui:172 +msgid "Open Documentation" +msgstr "" + +#: ../data/ui/transactionresult.ui:9 +msgid "Package actions to perform" +msgstr "" + +#: ../data/ui/transactionresult.ui:107 +msgid "Size:" +msgstr "" + +#: ../data/ui/yumex.ui:278 +msgid "More filtering options" +msgstr "" + +#: ../data/ui/yumex.ui:306 +msgid "Show available updates (Ctrl+1)" +msgstr "" + +#: ../data/ui/yumex.ui:312 msgid "Updates" msgstr "" -#: ../src/yumex.ui.h:48 -msgid "Show installed packages" +#: ../data/ui/yumex.ui:327 +msgid "Show installed packages (Ctrl+2)" msgstr "" -#: ../src/yumex.ui.h:49 +#: ../data/ui/yumex.ui:333 msgid "Installed" msgstr "" -#: ../src/yumex.ui.h:50 -msgid "Show available packages" +#: ../data/ui/yumex.ui:348 +msgid "Show available packages (Ctrl+3)" msgstr "" -#: ../src/yumex.ui.h:51 +#: ../data/ui/yumex.ui:354 msgid "Available" msgstr "" -#: ../src/yumex.ui.h:52 -msgid "Show all packages" +#: ../data/ui/yumex.ui:369 +msgid "Show all packages (Ctrl+4)" msgstr "" -#: ../src/yumex.ui.h:53 +#: ../data/ui/yumex.ui:375 msgid "All" msgstr "" -#: ../src/yumex.ui.h:55 +#: ../data/ui/yumex.ui:511 msgid "Groups" msgstr "" -#: ../src/yumex.ui.h:56 +#: ../data/ui/yumex.ui:586 msgid "Undo" msgstr "" -#: ../src/yumex.ui.h:57 +#: ../data/ui/yumex.ui:610 msgid "History" msgstr "" -#: ../src/yumex.ui.h:58 -msgid "Pending Actions" +#: ../data/ui/yumex.ui:644 +msgid "Queue" msgstr "" -#: ../src/yumex.ui.h:59 +#: ../data/ui/yumex.ui:684 msgid "Package Description" msgstr "" -#: ../src/yumex.ui.h:60 +#: ../data/ui/yumex.ui:706 msgid "Package Update Information" msgstr "" -#: ../src/yumex.ui.h:61 +#: ../data/ui/yumex.ui:728 msgid "Package Filelist" msgstr "" -#: ../src/yumex.ui.h:62 +#: ../data/ui/yumex.ui:750 msgid "Package Requirements" msgstr "" -#: ../src/yumex.ui.h:63 -msgid "Search (show/hide)" +#: ../data/ui/yumex.ui:1013 +msgid "Package Versions" msgstr "" -#: ../src/yumex.ui.h:64 -msgid "Apply pending actions" +#: ../data/ui/yumex.ui:1027 +msgid "Archs" +msgstr "" + +#: ../data/ui/yumex.ui:1071 +msgid "Newest Only" +msgstr "" + +#: ../data/ui/yumex.ui:1075 +msgid "Show only the latest package versions" msgstr "" -#: ../src/yumex.ui.h:65 +#: ../data/ui/yumex.ui:1110 msgid "Prefix" msgstr "" -#: ../src/yumex.ui.h:66 +#: ../data/ui/yumex.ui:1114 msgid "Package names starting with search key" msgstr "" -#: ../src/yumex.ui.h:67 +#: ../data/ui/yumex.ui:1125 msgid "Keyword" msgstr "" -#: ../src/yumex.ui.h:68 +#: ../data/ui/yumex.ui:1129 msgid "Package names containing search key" msgstr "" -#: ../src/yumex.ui.h:69 +#: ../data/ui/yumex.ui:1140 msgid "Fields" msgstr "" -#: ../src/yumex.ui.h:70 +#: ../data/ui/yumex.ui:1144 msgid "Specified package fields containing search keys." msgstr "" -#: ../src/yumex.ui.h:72 +#: ../data/ui/yumex.ui:1159 msgid "Package name" msgstr "" -#: ../src/yumex.ui.h:74 +#: ../data/ui/yumex.ui:1174 msgid "Package summary" msgstr "" -#: ../src/yumex.ui.h:76 +#: ../data/ui/yumex.ui:1185 +msgid "Description" +msgstr "" + +#: ../data/ui/yumex.ui:1189 msgid "Package description" msgstr "" -#: ../src/yumex.ui.h:77 -msgid "Package actions to perform" +#: ../data/ui/yumex.ui:1250 +msgid "Remove Selected" msgstr "" -#: ../src/yumex.ui.h:78 -msgid "Size:" +#: ../data/ui/yumex.ui:1264 +msgid "Search (show/hide)" +msgstr "" + +#: ../data/ui/yumex.ui:1288 +msgid "Apply pending actions" msgstr "" diff --git a/setup.py b/setup.py deleted file mode 100644 index 69cab13..0000000 --- a/setup.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/python3 - -import os -from os.path import join, basename, split -from distutils.core import setup -from distutils.util import convert_path -from distutils.command.build_scripts import build_scripts -from distutils import log - - -RENAME_SCRIPTS = {'main.py': 'yumex-dnf', - 'update.py': 'yumex-dnf-updatechecker'} - -class BuildScripts(build_scripts): - def run(self): - build_scripts.run(self) - for script in self.scripts: - script = convert_path(script) - outfile = join(self.build_dir, basename(script)) - if os.path.exists(outfile) and outfile.endswith(".py"): - if basename(outfile) in RENAME_SCRIPTS: - dn, fn = split(outfile) - newfile = join(dn, RENAME_SCRIPTS[fn]) - log.info("renaming %s -> %s", outfile, basename(newfile)) - os.rename(outfile, newfile) - -setup(name="yumex-dnf", - version="4.3.3", - description="Graphical package management tool", - long_description="", - author="Tim Lauridsen", - author_email="timlau@fedoraproject.org", - url='http://yumex.dk', - packages=['yumex', 'yumex.gui'], - package_dir={'': 'src'}, - scripts=['src/main.py', 'src/update.py'], - data_files=[('', ['src/yumex.ui'])], - cmdclass={ - 'build_scripts': BuildScripts, - }) diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 0108d8f..0000000 --- a/src/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -all: - echo "Nothing to do" - -clean: - rm -fv *.pyc *.pyo *~ *.bak *.gladep - -kill: - @-killall -9 -r "main\.py" &> /dev/null - @/usr/bin/dbus-send --session --print-reply --dest="org.baseurl.YumSession" / org.baseurl.YumSession.Exit &> /dev/null - -status-load: - @./dbus_status.py -v -d - -status-exit: - @/usr/bin/dbus-send --session --print-reply --dest="dk.yumex.StatusIcon" / dk.yumex.StatusIcon.Exit - -status-start: - @/usr/bin/dbus-send --session --print-reply --dest="dk.yumex.StatusIcon" / dk.yumex.StatusIcon.Start - -status-checkupdates: - @/usr/bin/dbus-send --session --print-reply --dest="dk.yumex.StatusIcon" / dk.yumex.StatusIcon.CheckUpdates - -error-cleanup: - @/usr/bin/dbus-send --session --print-reply --dest="dk.yumex.StatusIcon" / dk.yumex.StatusIcon.Exit - @/usr/bin/dbus-send --session --print-reply --dest="org.baseurl.YumSession" / org.baseurl.YumSession.Exit - @sudo /usr/bin/dbus-send --system --print-reply --dest="org.baseurl.YumSystem" / org.baseurl.YumSystem.Exit - - diff --git a/src/main.py b/src/main.py index d205366..fc73a19 100755 --- a/src/main.py +++ b/src/main.py @@ -17,45 +17,47 @@ # along with this program; if not, write to # the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +""" Main launcher """ +# pylint: disable=broad-except, unused-import, wrong-import-position -""" Main launcher - isort:skip_file -""" import signal import subprocess -import traceback import sys +import traceback import gi # isort:skip -gi.require_version('Gtk', '3.0') # isort:skip -gi.require_version('Notify', '0.7') # isort:skip +# We need this for else is Gtk 4.0 selected by default +gi.require_version("Gtk", "3.0") # isort:skip +gi.require_version("Notify", "0.7") # isort:skip +from gi.repository import Gtk # noqa: F401, E402 -from yumex import YumexApplication +from yumex import YumexApplication # noqa: E402 here = sys.path[0] -if here != '/usr/bin': +if here != "/usr/bin": # git checkout sys.path[0] = here - print("set PYTHONPATH to %s" % here) + print(f"set PYTHONPATH to {here}") try: signal.signal(signal.SIGINT, signal.SIG_DFL) app = YumexApplication() exit_status = app.run(sys.argv) sys.exit(exit_status) -except Exception as e: +except Exception: print("Exception in user code:") - print('-' * 80) + print("-" * 80) traceback.print_exc(file=sys.stdout) - print('-' * 80) + print("-" * 80) # Try to close backend dbus daemon - print('Closing backend D-Bus daemons') + print("Closing backend D-Bus daemons") try: subprocess.call( - '/usr/bin/dbus-send --system --print-reply ' - '--dest=org.baseurl.DnfSystem / org.baseurl.DnfSystem.Exit', - shell=True) - except: + "/usr/bin/dbus-send --system --print-reply " + "--dest=org.baseurl.DnfSystem / org.baseurl.DnfSystem.Exit", + shell=True, + ) + except Exception: pass sys.exit(1) diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..a6cc512 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,38 @@ +python = import('python') + +message('Looking for dependencies') +py_installation = python.find_installation('python3') +if not py_installation.found() + error('No valid python3 binary found') +else + message('Found python3 binary') +endif + +python_dir = join_paths(get_option('prefix'), py_installation.get_install_dir()) + +conf = configuration_data() +conf.set('DATA_DIR', DATA_DIR) +conf.set('PYTHON_DIR', python_dir) +conf.set('VERSION', meson.project_version()) +conf.set('PYTHON', python.find_installation('python3').path()) +conf.set('LOCALE_DIR', join_paths(get_option('prefix'), get_option('localedir'))) + + +install_subdir( + 'yumex', + install_dir: python_dir +) + +message('Preparing bin files') +configure_file( + input: 'main.py', + output: 'yumex-dnf', + configuration: conf, + install_dir: BIN_DIR +) +configure_file( + input: 'update.py', + output: 'yumex-dnf-updatechecker', + configuration: conf, + install_dir: BIN_DIR +) diff --git a/src/update.py b/src/update.py index 3e3baa4..8aa9b2a 100755 --- a/src/update.py +++ b/src/update.py @@ -18,40 +18,46 @@ # the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -from yumex.updater import UpdateApplication +# pylint: disable=broad-except, unused-import, wrong-import-position + import sys import traceback import subprocess import signal -import gi -gi.require_version('Gtk', '3.0') -gi.require_version('Notify', '0.7') +# We need this for else is Gtk 4.0 selected by default +import gi # isort:skip + +gi.require_version("Gtk", "3.0") # isort:skip +gi.require_version("Notify", "0.7") # isort:skip +from gi.repository import Gtk # noqa: F401, E402 +from yumex.updater import UpdateApplication # noqa: E402 here = sys.path[0] -if here != '/usr/bin': +if here != "/usr/bin": # git checkout sys.path[0] = here - print("set PYTHONPATH to %s" % here) + print(f"set PYTHONPATH to {here}") try: signal.signal(signal.SIGINT, signal.SIG_DFL) app = UpdateApplication() exit_status = app.run(sys.argv) sys.exit(exit_status) -except Exception as e: +except Exception: print("Exception in user code:") - print('-' * 80) + print("-" * 80) traceback.print_exc(file=sys.stdout) - print('-' * 80) + print("-" * 80) # Try to close backend dbus daemon - print('Closing backend D-Bus daemons') + print("Closing backend D-Bus daemons") try: subprocess.call( - '/usr/bin/dbus-send --system --print-reply ' - '--dest=org.baseurl.DnfSystem / org.baseurl.DnfSystem.Exit', - shell=True) + "/usr/bin/dbus-send --system --print-reply " + "--dest=org.baseurl.DnfSystem / org.baseurl.DnfSystem.Exit", + shell=True, + ) finally: sys.exit(1) diff --git a/src/yumex.ui b/src/yumex.ui deleted file mode 100644 index 8a22ddf..0000000 --- a/src/yumex.ui +++ /dev/null @@ -1,2066 +0,0 @@ - - - - - - 10 - 900 - 10 - 10 - - - 2 - 10 - 1 - 1 - - - 240 - 1 - 10 - - - 5 - 10080 - 5 - 10 - - - False - dialog - - - False - vertical - 2 - - - False - 12 - 6 - 6 - end - - - OK - True - True - True - - - False - True - 0 - - - - - Cancel - True - True - True - - - False - True - 1 - - - - - False - False - 0 - - - - - True - False - 6 - slide-right - - - - True - False - 6 - 10 - 6 - 6 - - - True - False - start - start - True - Theme - - - 0 - 0 - 2 - - - - - True - False - - - 2 - 0 - - - - - True - False - start - start - True - Use Dark Theme - - - 0 - 1 - 2 - - - - - True - True - end - start - - - 2 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pref_colors - Theme - - - - - - True - False - 6 - 10 - 6 - 6 - True - - - True - False - Use the toolbar in the header of the window -standard when using GNOME - start - Show toolbar in window headerbar - - - 0 - 1 - 2 - - - - - True - True - end - start - - - 2 - 1 - - - - - 10 - True - False - The interval in hour, when the DNF cache will be expired and updated (0 = disabled) - start - Cache expire interval (hours) - end - - - 0 - 0 - 2 - - - - - True - True - The interval in hour, when the DNF cache will be expired and updated (0 = disabled) - end - start - 12 - number - adj_refresh_interval - True - True - 12 - - - 2 - 0 - - - - - True - False - Select all available updates when -Yum Extender is started - start - Select updates at startup - - - 0 - 2 - 2 - - - - - True - True - end - - - 2 - 2 - - - - - pref_ui - UI - 1 - - - - - - True - False - 6 - 6 - - - True - True - end - start - - - 2 - 0 - - - - - True - False - Autostart the Yum Extender update checker at user login - start - True - Start update checker at user login - - - 0 - 0 - 2 - - - - - True - True - end - start - - 60 - number - adj_update_interval - True - True - 60 - - - 2 - 1 - - - - - True - False - How often the update checker will run - start - True - Update check interval (minutes) - - - 0 - 1 - 2 - - - - - - - - - - - - - - pref_update - Update Checker - 2 - - - - - - True - False - 6 - 6 - - - False - Show newest only is active when -Yum Extender starts. -Will show only latest version of available -packages - start - True - Show newest only - - - 0 - 0 - 2 - - - - - True - end - start - - - 2 - 0 - - - - - False - Erase unused requirement option is -active when Yum Extender starts - start - True - Erase Unused Requirements - - - 0 - 1 - 2 - - - - - True - end - start - - - 2 - 1 - - - - - True - False - start - Cleanup Old Installonly packages - - - 0 - 2 - 2 - - - - - True - True - end - - - 2 - 2 - - - - - True - False - start - 25 - Number of installonly packages to keep - - - 0 - 3 - 2 - - - - - True - True - 0 - 3 - digits - adj_installonly_limit - 1 - True - 3 - - - 2 - 3 - - - - - pref_dnf - DNF Options - 3 - - - - - True - False - vertical - - - True - False - start - 10 - 10 - 6 - 6 - Repositories used in current session - - - - - - False - True - 0 - - - - - 400 - True - True - 6 - 6 - True - in - 400 - - - - - - False - True - 1 - - - - - True - False - Save the current selected repositories -so they will be used next time you -start Yum Extender - 10 - 10 - 5 - 5 - - - Save selected repositories - True - True - False - start - True - - - False - True - 0 - - - - - - - - False - True - 2 - - - - - pref_repos - Repositories - 4 - - - - - False - True - 1 - - - - - - pref_ok - pref_cancel - - - - True - False - - - True - False - 6 - 6 - vertical - start - - - True - False - pref_stack - - - True - True - 0 - - - - - - - - - - - pref_ok - pref_cancel - - - - - True - False - - - - yumex_error - False - 5 - Errors - center-on-parent - 600 - 260 - True - dialog - - - False - vertical - 2 - - - False - end - - - - - - OK - True - True - True - - - False - True - 1 - - - - - False - True - end - 0 - - - - - True - False - vertical - - - True - True - in - - - 350 - True - True - False - 5 - 5 - 5 - 5 - False - error_buffer - True - - - - - True - True - 0 - - - - - True - True - 1 - - - - - - error_ok - - - - True - False - True - - - - - - - - - - - - True - False - - - - - - - - description - #3584e4 - Noto Sans - Noto Sans - 12 - - - - - changelog-header - #e01b24 - Noto Sans - Noto Sans - 500 - 14 - - - - - changelog-header_dark - #e01b24 - Noto Sans - Noto Sans - 500 - 14 - - - - - changelog_dark - #3584e4 - Noto Sans - Noto Sans - semi-condensed - 14 - - - - - changelog - #3584e4 - Noto Sans - Noto Sans - semi-condensed - 0.90 - - - - - filelist_dark - #3584e4 - Normal - Monospace - 11 - - - - - filelist - #3584e4 - Normal - Monospace - 12 - 0 - - - - - description_dark - #3584e4 - Noto Sans - Noto Sans - semi-condensed - 12 - - - - - info_tags - - - yumex_main - True - False - vertical - - - yumex_search - True - True - False - - - True - False - - - 500 - True - True - edit-find-symbolic - False - False - - - - False - True - 0 - - - - - True - True - False - True - 5 - - - True - False - preferences-other-symbolic - - - - - False - False - 1 - - - - - True - False - - - False - True - 8 - 2 - - - - - - - False - True - 0 - - - - - yumex_infobar - True - False - 1000 - True - - - info_content - True - False - vertical - - - - True - False - 5 - 5 - - - True - False - start - baseline - 5 - 5 - - - - - - 1 - 0 - - - - - 25 - 25 - True - False - 10 - 5 - 10 - 5 - True - - - 0 - 0 - - - - - True - False - start - baseline - 10 - 10 - 0.5 - - - - - - 2 - 0 - - - - - progress - 400 - True - False - end - center - 10 - 10 - 10 - 10 - - - 4 - 0 - - - - - True - False - True - right - - - 3 - 0 - - - - - False - True - 0 - - - - - - - False - False - 1 - - - - - True - False - - - True - True - vertical - 400 - True - - - True - False - crossfade - - - Packages - True - False - vertical - - - True - False - - - package_sidebar - True - False - 30 - vertical - - - True - False - icons - 2 - - - True - False - More filtering options - True - view-list-symbolic - - - False - False - - - - - False - False - end - 0 - - - - - pkg_listbox - 100 - True - False - start - 5 - - - True - True - Show available updates (Ctrl+1) - 6 - 6 - - - True - False - start - Updates - - - - - - - - - - True - True - Show installed packages (Ctrl+2) - 6 - 6 - - - True - False - start - Installed - - - - - - - - - - True - True - Show available packages (Ctrl+3) - 6 - 6 - - - True - False - start - Available - - - - - - - - - - True - True - Show all packages (Ctrl+4) - 6 - 6 - - - True - False - start - All - - - - - - - - - - True - True - 1 - - - - - - False - True - 0 - - - - - pkg_view - 200 - True - True - True - True - in - - - - - - - False - True - 1 - - - - - True - True - 0 - - - - - packages - Packages - - - - - Groups - True - False - vertical - - - True - True - 300 - True - - - 200 - 250 - True - True - in - - - - - - - False - False - - - - - 350 - 250 - True - True - in - - - - - - - True - False - - - - - True - True - 0 - - - - - groups - Groups - 1 - - - - - History - True - False - vertical - - - True - True - 250 - - - 200 - 250 - True - True - in - - - - - - - False - False - - - - - 350 - 250 - True - True - in - - - - - - - True - False - - - - - True - True - 0 - - - - - True - False - end - 6 - 6 - 6 - - - Undo - True - True - True - - - False - True - 0 - - - - - False - True - 1 - - - - - history - History - 2 - - - - - Queue - True - False - vertical - - - True - True - in - - - - - - - True - True - 0 - - - - - actions - Queue - 3 - - - - - - False - False - - - - - yumex_infobox - True - False - - - info_selector - True - False - start - start - False - False - vertical - - - info_list - True - False - start - start - - - 32 - 32 - True - True - Package Description - start - start - - - True - False - dialog-information-symbolic - 2 - - - - - - - 32 - 32 - True - True - Package Update Information - start - start - - - True - False - software-update-available-symbolic - 2 - - - - - - - 32 - 32 - True - True - Package Filelist - start - start - - - True - False - drive-multidisk-symbolic - 2 - - - - - - - 32 - 32 - True - True - Package Requirements - start - start - - - True - False - insert-object-symbolic - 2 - - - - - - - False - True - 0 - - - - - False - False - 0 - - - - - True - True - in - - - info_text - True - True - False - word - 12 - 12 - 6 - 6 - False - info_buffer - False - True - - - - - True - True - 1 - - - - - False - False - - - - - True - True - 1 - - - - - False - True - 2 - - - - - header_left - True - False - 24 - - - main_switcher - True - False - main_stack - - - False - True - 0 - - - - - - PackageFilterPopup - False - button_more_filters - - - - True - False - 5 - 5 - 5 - 5 - 6 - 12 - - - True - False - start - <b>Package Versions</b> - True - - - 0 - 0 - 3 - - - - - True - False - start - <b>Archs</b> - True - - - 0 - 3 - 3 - - - - - True - False - vertical - - - - - - - - - - - - 0 - 4 - 3 - - - - - True - False - vertical - - - 0 - 2 - 3 - - - - - Newest Only - True - True - False - Show only the latest package versions - start - True - - - 0 - 1 - 3 - - - - - - - - SearchPopup - False - sch_options_button - bottom - - - - True - False - 5 - 5 - 5 - 5 - - - Prefix - True - True - False - Package names starting with search key - True - True - - - 0 - 0 - - - - - Keyword - True - True - False - Package names containing search key - True - sch_opt_prefix - - - 0 - 1 - - - - - Fields - True - True - False - Specified package fields containing search keys. - True - sch_opt_prefix - - - 0 - 2 - - - - - Name - True - True - False - Package name - 24 - True - - - 0 - 3 - - - - - Summary - True - True - False - Package summary - 24 - True - - - 0 - 4 - - - - - Description - True - True - False - Package description - 24 - True - - - 0 - 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - True - False - - - True - False - Remove Selected - - - - - header_right - True - False - 6 - - - True - True - True - Search (show/hide) - start - - - True - False - edit-find-symbolic - - - - - False - True - 1 - - - - - True - True - True - Apply pending actions - - - True - False - system-run-symbolic - - - - - False - True - 2 - - - - - True - True - True - - - True - False - open-menu-symbolic - - - - - False - True - 2 - - - - - - yumex_transaction - False - 5 - Package actions to perform - center-on-parent - 600 - 260 - True - dialog - - - False - vertical - 2 - - - False - end - - - Cancel - True - True - True - - - False - True - 0 - - - - - OK - True - True - True - - - False - True - 1 - - - - - False - True - end - 0 - - - - - True - False - vertical - 5 - - - True - True - in - 600 - 400 - - - True - True - - - - - - - - True - True - 0 - - - - - True - False - 2 - - - True - False - Size: - - - False - True - 10 - 0 - - - - - True - False - start - - - False - True - 1 - - - - - False - True - 1 - - - - - True - True - 1 - - - - - - result_cancel - result_ok - - - - diff --git a/src/yumex/Makefile b/src/yumex/Makefile deleted file mode 100644 index 70d3852..0000000 --- a/src/yumex/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -all: - echo "Nothing to do" - -clean: - rm -rf *.pyc *.pyo *~ __pycache__ - diff --git a/src/yumex/__init__.py b/src/yumex/__init__.py index 76964ff..39ab0d4 100644 --- a/src/yumex/__init__.py +++ b/src/yumex/__init__.py @@ -17,1169 +17,17 @@ # the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -import yumex.gui.widgets as widgets -import yumex.gui.views as views -import yumex.gui.dialogs as dialogs -import yumex.dnf_backend -import yumex.misc as misc -import yumex.const as const -from yumex.misc import Config, _, ngettext, CONFIG -from gi.repository import Gio, Gtk, Gdk, GLib import argparse -import datetime import logging -import os.path -import shutil -import subprocess import sys -import re - - -logger = logging.getLogger('yumex') - - -class BaseYumex: - - def __init__(self): - self._root_backend = None - self._root_locked = False - self.is_working = False - - def set_working(self, state, insensitive=False): - """Set the working state.""" - self.is_working = state - - def _check_cache_expired(self, cache_type): - time_fmt = '%Y-%m-%d %H:%M' - now = datetime.datetime.now() - refresh_period = datetime.timedelta(hours=CONFIG.conf.refresh_interval) - # check if cache management is disabled - if CONFIG.conf.refresh_interval == 0: - return False - if cache_type == 'session': - last_refresh = datetime.datetime.strptime( - CONFIG.conf.session_refresh, time_fmt) - period = now - last_refresh - return period > refresh_period - elif cache_type == 'system': - last_refresh = datetime.datetime.strptime( - CONFIG.conf.system_refresh, time_fmt) - period = now - last_refresh - return period > refresh_period - - def _set_cache_refreshed(self, cache_type): - time_fmt = '%Y-%m-%d %H:%M' - now = datetime.datetime.now() - now_str = now.strftime(time_fmt) - if cache_type == 'session': - CONFIG.conf.session_refresh = now_str - CONFIG.write() - elif cache_type == 'system': - CONFIG.conf.system_refresh = now_str - CONFIG.write() - - @property - def backend(self): - return self.get_root_backend() - - @misc.ExceptionHandler - def reset_cache(self): - logger.debug('Refresh system cache') - self.set_working(True, True) - self.infobar.message(_('Refreshing Repository Metadata')) - rc = self._root_backend.ExpireCache() - self.set_working(False) - if rc: - self._set_cache_refreshed('system') - else: - dialogs.show_information( - self, _('Could not refresh the DNF cache (root)')) - - @misc.ExceptionHandler - def get_root_backend(self): - """Get the current root backend. - - if it is not setup yet, the create it - if it is not locked, then lock it - """ - if self._root_backend is None: - self._root_backend = yumex.dnf_backend.DnfRootBackend(self) - if self._root_locked is False: - logger.debug('Lock the DNF root daemon') - locked, msg = self._root_backend.setup() - errmsg = "" - if locked: - self._root_locked = True - if self._check_cache_expired('system'): - self.reset_cache() - else: - logger.critical("can't get root backend lock") - if msg == 'not-authorized': # user canceled the polkit dialog - errmsg = _( - 'DNF root backend was not authorized.\n' - 'Yum Extender will exit') - # DNF is locked by another process - elif msg == 'locked-by-other': - errmsg = _( - 'DNF is locked by another process.\n\n' - 'Yum Extender will exit') - self.error_dialog.show(errmsg) - sys.exit(1) - return self._root_backend - - @misc.ExceptionHandler - def release_root_backend(self, quit_dnfdaemon=False): - """Release the current root backend, if it is setup and locked.""" - if self._root_backend is None: - return - if self._root_locked is True: - logger.debug('Unlock the DNF root daemon') - self._root_backend.Unlock() - self._root_locked = False - if quit_dnfdaemon: - logger.debug('Exit the DNF root daemon') - self._root_backend.Exit() - - def exception_handler(self, e): - """Called if exception occours in methods with the - @ExceptionHandler decorator. - """ - close = True - msg = str(e) - logger.error('BASE EXCEPTION : %s ' % msg) - err, errmsg = self._parse_error(msg) - logger.debug('BASE err: [%s] - msg: %s' % (err, errmsg)) - if err == 'LockedError': - errmsg = 'DNF is locked by another process.\n' \ - '\nYum Extender will exit' - close = False - elif err == 'NoReply': - errmsg = 'DNF D-Bus backend is not responding.\n' \ - '\nYum Extender will exit' - close = False - if errmsg == '': - errmsg = msg - self.error_dialog.show(errmsg) - - # try to exit the backends, ignore errors - if close: - try: - self.release_root_backend(quit_dnfdaemon=True) - except: - pass - sys.exit(1) - - def _parse_error(self, value): - """Parse values from a DBus releated exception.""" - res = const.DBUS_ERR_RE.match(str(value)) - if res: - err = res.groups()[0] - err = err.split('.')[-1] - msg = res.groups()[1] - return err, msg - return '', '' - - -class BaseWindow(Gtk.ApplicationWindow, BaseYumex): - - def __init__(self, app): - Gtk.ApplicationWindow.__init__(self, - title='Yum Extender - Powered by DNF', - application=app) - BaseYumex.__init__(self) - self.get_style_context().add_class("yumex-dnf-window") - self.app = app - self.connect('delete_event', self.on_delete_event) - icon = Gtk.IconTheme.get_default().load_icon('yumex-dnf', 128, 0) - self.set_icon(icon) - self.ui = Gtk.Builder() - self.ui.set_translation_domain('yumex-dnf') - try: - self.ui.add_from_file(const.DATA_DIR + "/yumex.ui") - except: - raise - # noinspection PyUnreachableCode - dialogs.show_information( - self, 'GtkBuilder ui file not found : ' + - const.DATA_DIR + '/yumex.ui') - sys.exit() - # transaction result dialog - self.transaction_result = dialogs.TransactionResult(self) - self.error_dialog = dialogs.ErrorDialog(self) - - def get_ui(self, widget_name): - return self.ui.get_object(widget_name) - - def can_close(self): - """ Check if yumex is idle and can be closed""" - if self.is_working: - return False - else: - return True - - # noinspection PyUnusedLocal - def on_delete_event(self, *args): - if self.is_working: - self.iconify() - return True - else: - self.app.quit() - - def apply_css(self, css_fn): - """apply a css for custom styling""" - if css_fn: - screen = Gdk.Screen.get_default() - css_provider = Gtk.CssProvider() - try: - css_provider.load_from_path(css_fn) - except GLib.Error as e: - logger.error(f"Error in theme: {e} ") - context = Gtk.StyleContext() - context.add_provider_for_screen(screen, css_provider, - Gtk.STYLE_PROVIDER_PRIORITY_USER) - logger.debug('loading custom styling : %s', css_fn) - - def load_colors(self, theme_fn): - color_table = {} - colors = 'color_install', 'color_update', 'color_downgrade', 'color_normal', 'color_obsolete' - regex = re.compile(r'@define-color\s(\w*)\s*(#\w{6}|@\w*)\s*;') - if misc.check_dark_theme(): - backup_color = '#ffffff' - else: - backup_color = '#000000' - with open(theme_fn, 'r') as reader: - lines = reader.readlines() - for line in lines: - if line.startswith("@define-color"): - match = regex.search(line) - if len(match.groups()) == 2: - color_table[match.group(1)] = match.group(2) - logger.debug( - f' --> Color: {match.group(1)} = {match.group(2)}') - logger.debug(f'loaded {len(color_table)} colors from {theme_fn}') - for color in colors: - if color in color_table: - color_value = color_table[color] - if color_value.startswith('@'): # lookup macro color - key = color_value[1:] # dump the @ - if key in color_table: - color_value = color_table[key] - else: - logger.info( - f'Unknown Color alias : {color_value} default to {backup_color}') - color_value = backup_color - setattr(CONFIG.session, color, color_value) - logger.debug( - f' --> updated color : {color} to: {color_value}') - - def load_theme(self): - theme_fn = os.path.join(const.THEME_DIR, CONFIG.conf.theme) - logger.debug('looking for %s', theme_fn) - if os.path.exists(theme_fn): - self.apply_css(theme_fn) - self.load_colors(theme_fn) - - def load_custom_styling(self): - """Load custom .css styling from current theme.""" - # Use Dark Theme - gtk_settings = Gtk.Settings.get_default() - gtk_settings.set_property( - "gtk-application-prefer-dark-theme", CONFIG.conf.use_dark) - css_fn = None - theme = gtk_settings.props.gtk_theme_name - logger.debug(f'current theme : {theme}') - css_postfix = '%s/apps/yumex.css' % theme - for css_prefix in [os.path.expanduser('~/.themes'), - '/usr/share/themes']: - fn = os.path.join(css_prefix, css_postfix) - logger.debug('looking for %s', fn) - if os.path.exists(fn): - css_fn = fn - break - if css_fn: - self.apply_css(css_fn) - else: - self.load_theme() - - # noinspection PyUnusedLocal - def on_window_state(self, widget, event): - # save window current maximized state - self.cur_maximized = event.new_window_state & \ - Gdk.WindowState.MAXIMIZED != 0 - - def on_window_changed(self, widget, data): - size = widget.get_size() - if isinstance(size, tuple): - self.cur_height = size[1] - self.cur_width = size[0] - else: - self.cur_height = size.height - self.cur_width = size.width - - def exception_handler(self, e): - """Called if exception occours in methods with the - @ExceptionHandler decorator. - """ - close = True - msg = str(e) - logger.error('EXCEPTION : %s ' % msg) - err, errmsg = self._parse_error(msg) - logger.debug('err: [%s] - msg: %s' % (err, errmsg)) - if err == 'LockedError': - errmsg = 'dnf is locked by another process \n' \ - '\nYum Extender will exit' - close = False - elif err == 'AccessDeniedError': - errmsg = "Root backend was not authorized and can't continue" - close = True - elif err == 'FatalError': - errmsg = 'Fatal error in yumex backend' - close = False - elif err == 'NoReply': - errmsg = 'DNF Dbus backend is not responding \n'\ - '\nYum Extender will exit' - close = False - if errmsg == '': - errmsg = msg - self.error_dialog.show(errmsg) - # try to exit the backends, ignore errors - if close: - try: - self.release_root_backend(quit_dnfdaemon=True) - except: - pass - Gtk.main_quit() - sys.exit(1) - - def set_working(self, state, insensitive=True): - """Set the working state. - - - show/hide the progress spinner - - show busy/normal mousepointer - - make gui insensitive/sensitive - - set/unset the woring state in the status icon - based on the state. - """ - self.is_working = state - if state: - self._set_busy_cursor(insensitive) - if insensitive: - self._disable_buttons(False) - else: - self.infobar.hide() - self._set_normal_cursor() - if insensitive: - self._disable_buttons(True) - - def _disable_buttons(self, state): - WIDGETS_INSENSITIVE = ['left_header', 'right_header', - 'package_sidebar'] - for widget in WIDGETS_INSENSITIVE: - self.ui.get_object(widget).set_sensitive(state) - - def _set_busy_cursor(self, insensitive=False): - """Set busy cursor in main window.""" - win = self.get_window() - if win is not None: - win.set_cursor(Gdk.Cursor(Gdk.CursorType.WATCH)) - misc.doGtkEvents() - - def _set_normal_cursor(self): - """Set Normal cursor in main window.""" - win = self.get_window() - if win is not None: - win.set_cursor(None) - misc.doGtkEvents() - - -class Window(BaseWindow): - - def __init__(self, app, use_headerbar=True, install_mode=False): - super(Window, self).__init__(app) - self.use_headerbar = use_headerbar - self.install_mode = install_mode - # load custom styling from current theme - self.load_custom_styling() - - # legacy cleanup from 4.1.x - self.legacy_cleanup() - - # init vars - self.cur_height = 0 # current window height - self.cur_width = 0 # current windows width - self.cur_maximized = False - self.last_search = None - self.current_filter = None - self._root_backend = None - self._root_locked = False - self.search_type = 'prefix' - self.last_search_pkgs = [] - if CONFIG.conf.archs: - self.active_archs = CONFIG.conf.archs - else: - self.active_archs = list(const.PLATFORM_ARCH) - self._grps = None # Group and Category cache - self.active_page = 'packages' # Active content page - self.search_fields = CONFIG.conf.search_fields - - if self.install_mode: - self._setup_gui_installmode() - self._run_actions_installmode(self.app.args, quit_app=True) - else: - self._setup_gui() - self.show_all() - self._setup_arch() - # setup default selections - self.pkg_filter.set_active('updates') - - def legacy_cleanup(self): - """ Cleanup yumex-dnf 4.1.X leftovers""" - # autostart file was renamed from yumex-dnf.desktop to - # yumex-dnf-updater.desktop in 4.2.x - # so we need to remove the old one. - # and create a new one - if os.path.exists(const.LEGACY_DESKTOP_FILE): - logger.debug('removing legacy autostart: %s', - const.LEGACY_DESKTOP_FILE) - os.unlink(const.LEGACY_DESKTOP_FILE) - if CONFIG.conf.autostart: - if not os.path.exists(const.USER_DESKTOP_FILE): - logger.debug('create autostart: %s', - const.USER_DESKTOP_FILE) - shutil.copy(const.SYS_DESKTOP_FILE, const.USER_DESKTOP_FILE) - # key is renamed to keyword - if CONFIG.conf.search_default == 'key': - CONFIG.conf.search_default = 'keyword' - -############################################################################### -# Gui Setup -############################################################################### - - def rerun_installmode(self, args): - """call when yumex gui is already running and is idle - and second instance is excuted in installmode - """ - self.get_ui('content_box').hide() - WIDGETS_HIDE = ['left_buttons', 'right_buttons'] - for widget in WIDGETS_HIDE: - self.ui.get_object(widget).hide() - self.resize(50, 50) - self._run_actions_installmode(args, quit_app=False) - self.infobar.hide() - self.get_ui('content_box').show() - WIDGETS_HIDE = ['left_buttons', 'right_buttons'] - for widget in WIDGETS_HIDE: - self.ui.get_object(widget).show() - width = CONFIG.conf.win_width - height = CONFIG.conf.win_height - self.resize(width, height) - self._reset() - - def _setup_gui_installmode(self): - """setup minimal gui for doing actions from the cmd line.""" - self.set_default_size(50, 50) - box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) - self.add(box) - box.pack_start(self.get_ui('main_box'), False, True, 0) - self.infobar = widgets.InfoProgressBar(self.ui) - self.show_all() - - def _setup_gui(self): - # Restore windows size - width = CONFIG.conf.win_width - height = CONFIG.conf.win_height - self.set_default_size(width, height) - if CONFIG.conf.win_maximized: - self.maximize() - self.connect('configure-event', self.on_window_changed) - self.connect('window-state-event', self.on_window_state) - self.connect('key_press_event', self.on_key_press) - box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) - self.add(box) - self._headerbar = self.get_ui('headerbar') - if self.use_headerbar: # Gnome, headerbar in titlebar - hb = self.get_ui('headerbar') - rb = self.get_ui('right_header') - lb = self.get_ui('left_header') - hb.set_custom_title(lb) - hb.pack_end(rb) - self.set_titlebar(hb) - self._headerbar.set_show_close_button(True) - else: - hb = self.get_ui('headerbox') - rb = self.get_ui('right_header') - rb.set_margin_top(3) - rb.set_margin_bottom(3) - rb.set_margin_start(3) - rb.set_margin_end(3) - lb = self.get_ui('left_header') - lb.set_margin_top(3) - lb.set_margin_bottom(3) - lb.set_margin_start(3) - lb.set_margin_end(3) - hb.set_center_widget(lb) - hb.pack_end(rb, False, True, 0) - box.pack_start(hb, False, True, 0) - box.pack_start(self.get_ui('main_box'), False, True, 0) - # Setup search - self.search_bar = widgets.SearchBar(self) - self.search_bar.connect('search', self.on_search) - # Setup package filters - self.pkg_filter = widgets.Filters(self) - self.pkg_filter.connect('filter-changed', self.on_filter_changed) - # Setup Content - self.content = widgets.Content(self) - self.content.connect('page-changed', self.on_page_changed) - self._search_toggle = self.get_ui('sch_togglebutton') - # Setup Options - CONFIG.session.clean_instonly = CONFIG.conf.clean_instonly - CONFIG.session.newest_only = CONFIG.conf.newest_only - CONFIG.session.clean_unused = CONFIG.conf.clean_unused - if CONFIG.conf.repo_saved: - CONFIG.session.enabled_repos = CONFIG.conf.repo_enabled - # setup the package/queue/history views - self._setup_action_page() - self._setup_package_page() - self._setup_group_page() - self._setup_history_page() - - # Setup info - self.main_paned = self.get_ui('main_paned') - self.main_paned.set_position(CONFIG.conf.info_paned) - self.main_paned.set_wide_handle(True) # use wide separator bar (off) - - # infobar - self.infobar = widgets.InfoProgressBar(self.ui) - self.infobar.hide() - - # preferences dialog - self.preferences = dialogs.Preferences(self) - # main menu setup - self.main_menu = widgets.MainMenu(self) - self.main_menu.connect('menu-changed', self.on_mainmenu) - self.apply_button = self.get_ui('button_run') - self.apply_button.connect('clicked', self.on_apply_changes) - self.apply_button.set_sensitive(False) +import gi # noqa: F401 +from gi.repository import Gio, Gtk # isort:skip - # shortcuts - self.app.set_accels_for_action('win.quit', ['Q']) - self.app.set_accels_for_action('win.docs', ['F1']) - self.app.set_accels_for_action('win.pref', ['Return']) +from yumex.common import CONFIG, dbus_dnfsystem, logger_setup +from yumex.gui.window import Window - def _setup_arch(self): - self.infobar.message(_('Downloading Repository Metadata')) - # setup the arch filter - self.arch_filter = self.backend.get_filter('arch') - self.arch_filter.set_active(True) - self.arch_filter.change(self.active_archs) - - def _setup_action_page(self): - """Setup Pending Action page.""" - queue_menu = self.get_ui('queue_menu') - self.queue_view = views.QueueView(queue_menu) - self.queue_view.connect('queue-refresh', self.on_queue_refresh) - # Queue Page - sw = self.get_ui('queue_sw') - sw.add(self.queue_view) - - def _setup_package_page(self): - """Setup the package page.""" - self.package_view = views.PackageView(self.queue_view) - self.package_view.connect( - 'pkg_changed', self.on_pkg_view_selection_changed) - sw = self.get_ui('package_sw') - sw.add(self.package_view) - # setup info view - self.info = widgets.PackageInfo(self, self) - self.extra_filters = widgets.ExtraFilters(self) - self.extra_filters.connect('changed', self.on_extra_filters) - - def _setup_group_page(self): - """Setup the group page.""" - # Groups - sw = self.get_ui('groups_sw') - hb = Gtk.Box() - hb.set_direction(Gtk.Orientation.HORIZONTAL) - self.groups = views.GroupView(self.queue_view, self) - self.groups.connect('group-changed', self.on_group_changed) - # sw.add(hb) - sw.add(self.groups) - sw = self.get_ui('group_pkg_sw') - self.group_package_view = views.PackageView( - self.queue_view, group_mode=True) - self.group_package_view.connect( - 'pkg_changed', self.on_group_pkg_view_selection_changed) - sw.add(self.group_package_view) - - def _setup_history_page(self): - """Setup the history page.""" - right_sw = self.get_ui('history_right_sw') - left_sw = self.get_ui('history_left_sw') - self.history_view = views.HistoryView(self) - left_sw.add(self.history_view) - right_sw.add(self.history_view.pkg_view) - # setup history buttons - undo = self.get_ui('history_undo') - # FIXME: History undo is broken in dnfdaemon, because of changes in private API - # so disable the botton - undo.set_sensitive(False) - undo.connect('clicked', self.on_history_undo) - -############################################################################### -# Helpers -############################################################################### - - def _open_url(self, url): - """Open URL in default browser.""" - if misc.is_url(url): # just to be sure and prevent shell injection - rc = subprocess.call('xdg-open %s' % url, shell=True) - # failover to gtk.show_uri, if xdg-open fails or is not installed - if rc != 0: - Gtk.show_uri(None, url, Gdk.CURRENT_TIME) - else: - dialogs.show_information('%s is not an url' % url) - - def _search_name(self, data, search_flt): - """Search package name for keyword with wildcards.""" - # only search for word larger than 3 chars - self.last_search = data - self.set_working(True) - newest_only = CONFIG.session.newest_only - self.last_search_pkgs = self.backend.get_packages_by_name( - search_flt % data, newest_only) - logger.debug('Packages found : %d' % len(self.last_search_pkgs)) - self.info.set_package(None) - self.set_working(False) - self.pkg_filter.set_active('all') - - def _search_keys(self, fields, data): - """Search given package attributes for given keywords.""" - self.last_search = data - self.set_working(True, True) - newest_only = CONFIG.session.newest_only - self.last_search_pkgs = self.backend.search( - fields, data.split(' '), True, newest_only, True) - self.info.set_package(None) - self.set_working(False) - self.pkg_filter.set_active('all') - - def _filter_search_pkgs(self, flt): - """Get filtered search results.""" - if flt == 'updates': # get update only - pkgs = [ - po for po in self.last_search_pkgs if po.action in ('u', 'o')] - return pkgs - elif flt == 'installed': # get installed only - pkgs = [po for po in self.last_search_pkgs if po.installed] - return pkgs - elif flt == 'available': - pkgs = [po for po in self.last_search_pkgs if po.action == 'i'] - return pkgs - else: # get all - return self.last_search_pkgs - - def _reset_on_cancel(self): - """Reset gui on user cancel""" - self.set_working(True) - self.infobar.hide() - self.set_working(False) - - def _reset_on_error(self): - """Reset gui on transaction errors.""" - self.set_working(True) - self.infobar.hide() - self.release_root_backend() - self.backend.reload() - self.set_working(False) - - @misc.ExceptionHandler - def _reset(self): - """Reset the gui on transaction completion.""" - self.set_working(True) - self.infobar.message(_("Reloading package information...")) - self.release_root_backend() - self.backend.reload() - # clear the package queue - self.queue_view.queue.clear() - self.queue_view.refresh() - # clear search entry - self.last_search = None - self.search_bar.reset() - # reset groups - self._grps = self.backend.get_groups() - self.groups.populate(self._grps) - self.group_package_view.populate([]) - self.set_working(False) - # show updates - self.content.select_page('packages') - self.pkg_filter.set_active('updates') - - def _load_groups(self): - """Load groups into group cache and populate group view.""" - if not self._grps: - logger.debug('getting group and categories') - self._grps = self.backend.get_groups() - self.groups.populate(self._grps) - - def _load_history(self): - """Load history and populate view.""" - if not self.history_view.is_populated: - result = self.backend.GetHistoryByDays( - 0, CONFIG.conf.history_days) - self.history_view.populate(result) - - def _refresh(self): - """Refresh package view, when arch filter is changed""" - if self.last_search: - self.last_search = None - self.search_bar.signal() - else: - self.pkg_filter.set_active(self.pkg_filter.current) - - def _switch_to(self, page): - if not self.active_page == page: - self.content.select_page(page) - -############################################################################### -# Transaction Processing -############################################################################### - - def _run_actions_installmode(self, args, quit_app): - action = None - package = None - if args.install: - action = 'install' - package = args.install - elif args.remove: - action = 'remove' - package = args.remove - elif args.updateall: - action = 'update' - package = '*' - if action: - self._process_actions_installmode(action, package, - args.yes, quit_app) - - def _populate_transaction(self): - self.backend.ClearTransaction() - errors = 0 - error_msgs = set() - for action in const.QUEUE_PACKAGE_TYPES: - pkgs = self.queue_view.queue.get(action) - for pkg in pkgs: - if action == 'do': - logger.debug('adding: %s %s' % - (const.QUEUE_PACKAGE_TYPES[action], - pkg.pkg_id)) - rc, trans = self.backend.AddTransaction( - pkg.pkg_id, - const.QUEUE_PACKAGE_TYPES[action]) - if not rc: - logger.debug('result : %s: %s' % (rc, pkg)) - errors += 1 - error_msgs.add('%s : %s' % - (const.QUEUE_PACKAGE_TYPES[action], pkg)) - else: - logger.debug('adding: %s %s' % - (const.QUEUE_PACKAGE_TYPES[action], - pkg.pkg_id)) - rc, trans = self.backend.AddTransaction( - pkg.pkg_id, const.QUEUE_PACKAGE_TYPES[action]) - if not rc: - logger.debug('result: %s: %s' % (rc, pkg)) - errors += 1 - error_msgs.add('%s : %s' % - (const.QUEUE_PACKAGE_TYPES[action], pkg)) - for grp_id, action in self.queue_view.queue.get_groups(): - if action == 'i': - rc, trans = self.backend.GroupInstall(grp_id) - else: - rc, trans = self.backend.GroupRemove(grp_id) - if not rc: - errors += 1 - error_msgs.add('group : %s : %s ' % (action, grp_id)) - logger.debug(' add transaction errors : %d', errors) - if errors > 0: - raise misc.TransactionBuildError(error_msgs) - - def _check_protected(self, trans): - """Check for deletion protected packages in transaction""" - protected = [] - for action, pkgs in trans: - if action == 'remove': - for pkgid, size, replaces in pkgs: - (n, e, v, r, a, repo_id) = str(pkgid).split(',') - if n in CONFIG.conf.protected: - protected.append(n) - return protected - - def _build_from_queue(self): - """Populate transaction from queue and resolve deps.""" - # switch to queue view - if self.queue_view.queue.total() == 0: - raise misc.QueueEmptyError - self.content.select_page('actions') - self._populate_transaction() - self.infobar.message(_('Searching for dependencies')) - rc, result = self.backend.BuildTransaction() - self.infobar.message(_('Dependencies resolved')) - if not rc: - raise misc.TransactionSolveError(result) - return result - - def _get_transaction(self): - """Get current transaction.""" - rc, result = self.backend.GetTransaction() - if not rc: - raise misc.TransactionSolveError(result) - return result - - def _run_transaction(self): - """Run the current transaction.""" - self.infobar.message(_('Applying changes to the system')) - self.set_working(True, True) - rc, result = self.backend.RunTransaction() - # This can happen more than once (more gpg keys to be - # imported) - while rc == 1: - # get info about gpgkey to be comfirmed - values = self.backend._gpg_confirm - if values: # There is a gpgkey to be verified - (pkg_id, userid, hexkeyid, keyurl, timestamp) = values - logger.debug('GPGKey : %s' % repr(values)) - ok = dialogs.ask_for_gpg_import(self, values) - if ok: - # tell the backend that the gpg key is confirmed - self.backend.ConfirmGPGImport(hexkeyid, True) - # rerun the transaction - # FIXME: It should not be needed to populate - # the transaction again - self._populate_transaction() - rc, result = self.backend.BuildTransaction() - rc, result = self.backend.RunTransaction() - else: - break - else: # error in signature verification - dialogs.show_information( - self, _('Error checking package signatures\n'), - '\n'.join(result)) - break - - if rc == 4: # Download errors - dialogs.show_information( - self, - ngettext('Downloading error\n', - 'Downloading errors\n', len(result)), - '\n'.join(result)) - self._reset_on_cancel() - return - elif rc != 0: # other transaction errors - dialogs.show_information( - self, - ngettext('Error in transaction\n', - 'Errors in transaction\n', len(result)), - '\n'.join(result)) - self._reset() - return - - @misc.ExceptionHandler - def _process_actions_installmode(self, action, package, always_yes, - app_quit): - """Process the pending actions from the command line. - - :param action: action to perform (install/remove) - :param package: package to work on - :param always_yes: ask the user or default to yes/ok to all questions - """ - exit_msg = "" - if action == 'install': - self.infobar.message(_('Installing package: %s') % package) - exit_msg = _('%s was installed successfully') % package - self.infobar.message_sub(package) - txmbrs = self.backend.Install(package) - logger.debug('txmbrs: %s' % str(txmbrs)) - elif action == 'remove': - self.infobar.message(_('Removing package: %s') % package) - exit_msg = _('%s was removed successfully') % package - self.infobar.message_sub(package) - txmbrs = self.backend.Remove(package) - logger.debug('txmbrs: %s' % str(txmbrs)) - elif action == 'update': - self.infobar.message(_('Updating all available updates')) - exit_msg = _('Available updates was applied successfully') - txmbrs = self.backend.Update('*') - self.infobar.message(_('Searching for dependencies')) - rc, result = self.backend.BuildTransaction() - self.infobar.message(_('Dependencies resolved')) - if rc: - self.transaction_result.populate(result, '') - if not always_yes: - ok = self.transaction_result.run() - else: - ok = True - if ok: # Ok pressed - self.infobar.message(_('Applying changes to the system')) - self.backend.RunTransaction() - self.release_root_backend() - self.hide() - misc.notify('Yum Extender', exit_msg) - else: - dialogs.show_information( - self, - ngettext('Error in search for dependencies', - 'Errors in search for dependencies', len(result)), - '\n'.join(result)) - if app_quit: - self.release_root_backend(quit_dnfdaemon=True) - self.app.quit() - - @misc.ExceptionHandler - def _process_actions(self, from_queue=True): - """Process the current actions in the queue. - - - setup the Dnf transaction - - resolve dependencies - - ask user for confirmation on result of depsolve - - run the transaction - """ - self.set_working(True, True) - self.infobar.message(_('Preparing system for applying changes')) - try: - if from_queue: - result = self._build_from_queue() - else: - result = self._get_transaction() - self.set_working(False) - # check for protected packages - check = self._check_protected(result) - if check: - self.error_dialog.show( - ngettext("Can't remove protected package:", - "Can't remove protected packages:", len(check)) + - misc.list_to_string(check, "\n ", ",\n ")) - self._reset_on_cancel() - return - # transaction confirmation dialog - self.transaction_result.populate(result, '') - ok = self.transaction_result.run() - if ok: # Ok pressed - self._run_transaction() - else: # user cancelled transaction - self._reset_on_cancel() - return - except misc.QueueEmptyError: # Queue is empty - self.set_working(False) - dialogs.show_information(self, _('No pending actions in queue')) - self._reset_on_cancel() - except misc.TransactionBuildError as e: - # Error in building transaction - self.error_dialog.show( - ngettext('Error in building transaction', - 'Errors in building transaction', len(e.msgs)) + - '\n'.join(e.msgs)) - self._reset_on_cancel() - except misc.TransactionSolveError as e: - self.error_dialog.show( - ngettext('Error in search for dependencies', - 'Errors in search for dependencies', len(e.msgs)) + - '\n'.join(e.msgs)) - self._reset_on_error() - -############################################################################### -# Callback handlers -############################################################################### - def on_key_press(self, widget, event): - modifiers = Gtk.accelerator_get_default_mod_mask() - event_and_modifiers = (event.state & modifiers) - - if event_and_modifiers != 0: - # Open search bar on Ctrl + S - if (event.keyval == Gdk.KEY_f and - event_and_modifiers == Gdk.ModifierType.CONTROL_MASK): - if self.active_page == 'packages': - self.search_bar.toggle() - # Switch to packages page on Alt + 1 - if (event.keyval == Gdk.KEY_1 and - event_and_modifiers == Gdk.ModifierType.MOD1_MASK): - self._switch_to('packages') - # Switch to groups page on Alt + 2 - if (event.keyval == Gdk.KEY_2 and - event_and_modifiers == Gdk.ModifierType.MOD1_MASK): - self._switch_to('groups') - # Switch to history page on Alt + 3 - if (event.keyval == Gdk.KEY_3 and - event_and_modifiers == Gdk.ModifierType.MOD1_MASK): - self._switch_to('history') - # Switch to queue page on Alt + 4 - if (event.keyval == Gdk.KEY_4 and - event_and_modifiers == Gdk.ModifierType.MOD1_MASK): - self._switch_to('actions') - # Apply pending actiond on Alt + A - if (event.keyval == Gdk.KEY_a and - event_and_modifiers == Gdk.ModifierType.MOD1_MASK): - self._process_actions() - # Apply pending actiond on Alt + X - if (event.keyval == Gdk.KEY_x and - event_and_modifiers == Gdk.ModifierType.MOD1_MASK): - self.extra_filters.popup() - # Filter = 'updates' on Ctrl + 1 - if (event.keyval == Gdk.KEY_1 and - event_and_modifiers == Gdk.ModifierType.CONTROL_MASK): - if self.active_page == 'packages': - self.pkg_filter.set_active('updates') - # Filter = 'installed' on Ctrl + 2 - if (event.keyval == Gdk.KEY_2 and - event_and_modifiers == Gdk.ModifierType.CONTROL_MASK): - if self.active_page == 'packages': - self.pkg_filter.set_active('installed') - # Filter = 'available' on Ctrl + 3 - if (event.keyval == Gdk.KEY_3 and - event_and_modifiers == Gdk.ModifierType.CONTROL_MASK): - if self.active_page == 'packages': - self.pkg_filter.set_active('available') - # Filter = 'all' on Ctrl + 4 - if (event.keyval == Gdk.KEY_4 and - event_and_modifiers == Gdk.ModifierType.CONTROL_MASK): - if self.active_page == 'packages': - self.pkg_filter.set_active('all') - - def on_mainmenu(self, widget, action, data): - """Handle mainmenu actions""" - if action == 'pref': - need_reset = self.preferences.run() - if need_reset: - self._reset() - elif action == 'quit': - if self.can_close(): - self.app.quit() - elif action == 'about': - dialog = dialogs.AboutDialog(self) - dialog.run() - dialog.destroy() - elif action == 'docs': - self._open_url('http://yumex-dnf.readthedocs.org/en/latest/') - elif action == 'reload': - self.reset_cache() - - def on_extra_filters(self, widget, data, para): - """Handle the Extra Filters""" - if data == 'arch': - self.active_archs = para - self.arch_filter.change(self.active_archs) - logger.debug('arch changed : %s' % self.active_archs) - self._refresh() - elif data == 'newest_only': - CONFIG.session.newest_only = para - logger.debug('newest_only changed : %s' % para) - self._refresh() - - def on_apply_changes(self, widget): - """Apply Changes button callback.""" - self._process_actions() - - def on_page_changed(self, widget, page): - """Handle content page is changed.""" - if page == 'packages': - self._search_toggle.set_sensitive(True) - self.search_bar.show() - self.info.show() - else: - self._search_toggle.set_sensitive(False) - self.search_bar.hide() - self.info.show(False) - if page == 'groups': - self._load_groups() - self.info.show() - elif page == 'history': - self._load_history() - self.active_page = page - - def on_search(self, widget, key, sch_type, fields): - """Handle search.""" - self.search_bar.show_spinner(True) - if key == '': # revert to the current selected filter - self.last_search = None - self.last_search_pkgs = [] - self.pkg_filter.set_active(self.current_filter) - else: - if sch_type == 'keyword': - flt = '*%s*' - self._search_name(key, flt) - elif sch_type == 'prefix': - flt = '%s*' - self._search_name(key, flt) - elif sch_type == 'fields': - self._search_keys(fields, key) - self.search_bar.show_spinner(False) - - def on_filter_changed(self, widget, data): - """Handle changes in package filter.""" - self.infobar.message(const.PACKAGE_LOAD_MSG[data]) - self.set_working(True, True) - if self.last_search: # we are searching - pkgs = self._filter_search_pkgs(data) - else: # normal package filter - self.current_filter = self.pkg_filter.current - pkgs = self.backend.get_packages(data) - if data == 'updates': - if CONFIG.session.newest_only: - pkgs = self.backend.get_packages(data) - else: - pkgs = self.backend.get_packages('updates_all') - obs_pkgs = self.backend.get_packages('obsoletes') - pkgs.extend(obs_pkgs) - else: - pkgs = self.backend.get_packages(data) - # self.status.SetUpdateCount(len(pkgs)) - self.info.set_package(None) - self.infobar.message(_('Adding packages to view')) - self.package_view.populate(pkgs) - self.set_working(False) - self.infobar.hide() - if data == 'updates': - self.package_view.set_header_click(True) - else: - self.package_view.set_header_click(False) - - def on_queue_refresh(self, widget, total): - """Handle content of the queue is changed.""" - if total > 0: - self.apply_button.set_sensitive(True) - else: - self.apply_button.set_sensitive(False) - - def on_pkg_view_selection_changed(self, widget, pkg): - """Handle package selection on package page.""" - self.info.set_package(pkg) - - def on_group_pkg_view_selection_changed(self, widget, pkg): - """Handle package selection on group page.""" - self.info.set_package(pkg) - - def on_group_changed(self, widget, grp_id): - """Handle group selection on group page.""" - logger.debug('on_group_changed : %s ' % grp_id) - self.set_working(True, True) - pkgs = self.backend.get_group_packages(grp_id, 'all') - self.group_package_view.populate(pkgs) - self.set_working(False) - - def on_history_undo(self, widget): - """Handle the undo button on history page.""" - tid = self.history_view.get_selected() - logger.debug('History Undo : %s', tid) - rc, messages = self.backend.HistoryUndo(tid) - if rc: - self._process_actions(from_queue=False) - else: - msg = "Can't undo history transaction :\n%s" % \ - ("\n".join(messages)) - logger.debug(msg) - dialogs.show_information( - self, _('Error in undo history transaction'), - "\n".join(messages)) +logger = logging.getLogger("yumex") class YumexApplication(Gtk.Application): @@ -1189,7 +37,8 @@ def __init__(self): Gtk.Application.__init__( self, application_id="dk.yumex.yumex-ui", - flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE) + flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE, + ) self.connect("activate", self.on_activate) self.connect("command-line", self.on_command_line) @@ -1199,11 +48,15 @@ def __init__(self): self.dont_close = False self.window = None self.install_mode = False + self.current_args = None def on_activate(self, app): if not self.running: - self.window = Window(self, use_headerbar=CONFIG.conf.headerbar, - install_mode=self.install_mode) + self.window = Window( + self, + use_headerbar=CONFIG.conf.headerbar, + install_mode=self.install_mode, + ) app.add_window(self.window) self.running = True self.window.show() @@ -1213,49 +66,52 @@ def on_activate(self, app): self.window.rerun_installmode(self.current_args) def on_command_line(self, app, args): - parser = argparse.ArgumentParser(prog='app') - parser.add_argument('-d', '--debug', action='store_true') + parser = argparse.ArgumentParser(prog="app") + parser.add_argument("-d", "--debug", action="store_true") parser.add_argument( - '-y', '--yes', action='store_true', - help='Answer yes/ok to all questions') + "-y", "--yes", action="store_true", help="Answer yes/ok to all questions" + ) parser.add_argument( - '--exit', - action='store_true', - help='tell dnfdaemon dbus services used by yumex to exit') + "--exit", + action="store_true", + help="tell dnfdaemon dbus services used by yumex to exit", + ) parser.add_argument( - '-I', '--install', type=str, metavar='PACKAGE', - help='Install Package') + "-I", "--install", type=str, metavar="PACKAGE", help="Install Package" + ) parser.add_argument( - '-R', '--remove', type=str, metavar='PACKAGE', - help='Remove Package') + "-R", "--remove", type=str, metavar="PACKAGE", help="Remove Package" + ) parser.add_argument( - '--updateall', action='store_true', - help='apply all available updates') + "--updateall", action="store_true", help="apply all available updates" + ) if not self.running: # First run self.args = parser.parse_args(args.get_arguments()[1:]) if self.args.exit: # kill dnf daemon and quit - misc.dbus_dnfsystem('Exit') + dbus_dnfsystem("Exit") sys.exit(0) if self.args.debug: - misc.logger_setup(loglvl=logging.DEBUG) + logger_setup(loglvl=logging.DEBUG) else: - misc.logger_setup() + logger_setup() if self.args.install or self.args.remove or self.args.updateall: self.install_mode = True else: # Second Run # parse cmdline in a non quitting way - self.current_args = \ - parser.parse_known_args(args.get_arguments()[1:])[0] + self.current_args = parser.parse_known_args(args.get_arguments()[1:])[0] if self.current_args.exit: if self.window.can_close(): self.quit() else: logger.info("Application is busy") - if self.current_args.install or self.current_args.remove or \ - self.current_args.updateall: + if ( + self.current_args.install + or self.current_args.remove + or self.current_args.updateall + ): self.install_mode = True self.activate() return 0 @@ -1270,6 +126,6 @@ def on_shutdown(self, app): CONFIG.conf.win_height = self.window.cur_height CONFIG.conf.win_maximized = False self.window.release_root_backend(quit_dnfdaemon=True) - logger.info('Saving config on exit') + logger.info("Saving config on exit") CONFIG.write() return 0 diff --git a/src/yumex/backend.py b/src/yumex/backend/__init__.py similarity index 90% rename from src/yumex/backend.py rename to src/yumex/backend/__init__.py index c39da39..139285a 100644 --- a/src/yumex/backend.py +++ b/src/yumex/backend/__init__.py @@ -16,12 +16,11 @@ # the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - import logging -import yumex.const as const +import yumex.common.const as const -logger = logging.getLogger('yumex.backend') +logger = logging.getLogger("yumex.backend") class Backend: @@ -47,17 +46,17 @@ def get_filter(self, name): else: return None - def exception_handler(self, e): + def exception_handler(self, exc): """ send exceptions to the frontend """ - self.frontend.exception_handler(e) + self.frontend.exception_handler(exc) - def get_packages(self, pkg_filter): - """ Get a list of Package objects based on a filter + def get_packages(self, flt): + """Get a list of Package objects based on a filter ('installed', 'available'...) """ - pkgs = self.cache._get_packages(pkg_filter) + pkgs = self.cache._get_packages(flt) # pylint: disable=protected-access return pkgs @@ -88,7 +87,7 @@ class ArchFilter(BaseFilter): def __init__(self, name, active=False): BaseFilter.__init__(self, name, active) - self.archs = ['noarch', 'i686', 'x86_64'] + self.archs = ["noarch", "i686", "x86_64"] def run(self, pkgs): BaseFilter.run(self, pkgs) @@ -117,8 +116,8 @@ def delete(self, name): def run(self, pkgs): flt_pkgs = pkgs - for name in self._filters: - flt_pkgs = self._filters[name].run(flt_pkgs) + for flt in self._filters.values(): + flt_pkgs = flt.run(flt_pkgs) return flt_pkgs def get(self, name): @@ -164,8 +163,6 @@ def is_populated(self, pkg_filter): return str(pkg_filter) in self._populated def populate(self, pkg_filter, pkgs): - """ - """ self.find_packages(pkgs) self._populated.append(str(pkg_filter)) @@ -192,7 +189,7 @@ def find_packages(self, packages): class PackageCacheWithFilters(PackageCache): - """ Package cache to contain packages from backend, + """Package cache to contain packages from backend, so we dont have get them more than once. This version has filtering, so we can filter packages by fx. arch """ @@ -203,7 +200,7 @@ def __init__(self): """ PackageCache.__init__(self) self.filters = Filters() - arch_flt = ArchFilter('arch') + arch_flt = ArchFilter("arch") self.filters.add(arch_flt) def _get_packages(self, pkg_filter): diff --git a/src/yumex/dnf_backend.py b/src/yumex/backend/dnf.py similarity index 65% rename from src/yumex/dnf_backend.py rename to src/yumex/backend/dnf.py index ab5c276..d4b32a5 100644 --- a/src/yumex/dnf_backend.py +++ b/src/yumex/backend/dnf.py @@ -17,19 +17,25 @@ # the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - import logging -from gi.repository import Gdk - import dnfdaemon.client +from gi.repository import Gdk -import yumex.backend -import yumex.misc -import yumex.const as const -from yumex.misc import ExceptionHandler, TimeFunction, _, ngettext, CONFIG +import yumex.common.const as const +from yumex.backend import Backend +from yumex.common import ( + CONFIG, + exception_handler, + timer, + _, + format_number, + ngettext, + pkg_id_to_full_name, + to_pkg_tuple, +) -logger = logging.getLogger('yumex.yum_backend') +logger = logging.getLogger("yumex.yum_backend") class DnfPackage: @@ -40,7 +46,7 @@ def __init__(self, po_tuple, action, backend): (pkg_id, summary, size) = po_tuple self.pkg_id = pkg_id self.action = action - (n, e, v, r, a, repo_id) = yumex.misc.to_pkg_tuple(self.pkg_id) + (n, e, v, r, a, repo_id) = to_pkg_tuple(self.pkg_id) self.name = n self.epoch = e self.version = v @@ -52,7 +58,7 @@ def __init__(self, po_tuple, action, backend): self.downgrade_po = None self.summary = summary self.size = size - self.sizeM = yumex.misc.format_number(size) + self.sizeM = format_number(size) # pylint: disable=invalid-name # cache self._description = None self.action = action @@ -66,9 +72,9 @@ def __str__(self): @property def fullname(self): - return yumex.misc.pkg_id_to_full_name(self.pkg_id) + return pkg_id_to_full_name(self.pkg_id) - @ExceptionHandler + @exception_handler def get_attribute(self, attr): """Get a given attribute for a package.""" return self.backend.GetAttribute(self.pkg_id, attr) @@ -77,24 +83,23 @@ def get_attribute(self, attr): def filename(self): """RPM filename of a package.""" # the full path for at localinstall is stored in repoid - if self.action == 'li': + if self.action == "li": return self.repository else: - return "%s-%s.%s.%s.rpm" % (self.name, self.version, - self.release, self.arch) + return f"{self.name}-{self.version}.{self.release}.{self.arch}.rpm" @property def fullver(self): """Package full version-release.""" - return "%s-%s" % (self.version, self.release) + return f"{self.version}-{self.release}" @property def installed(self): - return self.repository[0] == '@' + return self.repository[0] == "@" @property - def URL(self): - return self.get_attribute('url') + def url(self): + return self.get_attribute("url") def set_select(self, state): """Package is selected in package view.""" @@ -106,55 +111,55 @@ def set_visible(self, state): @property def description(self): - return self.get_attribute('description') + return self.get_attribute("description") @property def changelog(self): - return self.get_attribute('changelog') + return self.get_attribute("changelog") @property def filelist(self): - return self.get_attribute('filelist') + return self.get_attribute("filelist") @property def pkgtags(self): - return self.get_attribute('pkgtags') + return self.get_attribute("pkgtags") @property def color(self): """Package color to show in package view.""" color = CONFIG.session.color_normal - if self.action == 'u': + if self.action == "u": color = CONFIG.session.color_update - elif self.action == 'o': + elif self.action == "o": color = CONFIG.session.color_obsolete - elif self.action == 'do': + elif self.action == "do": color = CONFIG.session.color_downgrade - elif self.action == 'r': + elif self.action == "r": color = CONFIG.session.color_install rgba = Gdk.RGBA() rgba.parse(color) return rgba @property - @ExceptionHandler + @exception_handler def downgrades(self): return self.backend.get_downgrades(self.pkg_id) @property - @ExceptionHandler + @exception_handler def updateinfo(self): - return self.get_attribute('updateinfo') + return self.get_attribute("updateinfo") @property - @ExceptionHandler + @exception_handler def requirements(self): - return self.get_attribute('requires') + return self.get_attribute("requires") @property def is_update(self): """Package is an update/replacement to another package.""" - return self.action == 'o' or self.action == 'u' + return self.action == "o" or self.action == "u" def exception_handler(self, e): """ @@ -162,62 +167,66 @@ def exception_handler(self, e): """ self.backend.frontend.exception_handler(e) -class DnfRootBackend(yumex.backend.Backend, dnfdaemon.client.Client): - """Backend to do all the dnf related actions """ + +class DnfRootBackend(Backend, dnfdaemon.client.Client): + """Backend to do all the dnf related actions""" def __init__(self, frontend): - yumex.backend.Backend.__init__(self, frontend, filters=True) + Backend.__init__(self, frontend, filters=True) dnfdaemon.client.Client.__init__(self) - self._gpg_confirm = None + self.gpg_confirm = None self.dnl_progress = None self._files_to_download = 0 self._files_downloaded = 0 + self._current_download = None + self._dnl_packages = None if self.running_api_version == const.NEEDED_DAEMON_API: - logger.debug('dnfdaemon api version (%d)', - self.running_api_version) + logger.debug(f"dnfdaemon api version ({self.running_api_version})") else: raise dnfdaemon.client.APIVersionError( - _('dnfdaemon api version : %d' - "\ndon't match" - '\nneeded api version : %d') % - (self.running_api_version, - const.NEEDED_DAEMON_API)) + _( + f"dnfdaemon api version : {self.running_api_version}" + "\ndon't match" + "\nneeded api version : {const.NEEDED_DAEMON_API}" + ) + ) def on_TransactionEvent(self, event, data): - if event == 'start-run': + if event == "start-run": pass - elif event == 'download': - self.frontend.infobar.message(_('Downloading packages')) - elif event == 'pkg-to-download': + elif event == "download": + self.frontend.infobar.message(_("Downloading packages")) + elif event == "pkg-to-download": self._dnl_packages = data - elif event == 'signature-check': + elif event == "signature-check": self.frontend.infobar.set_progress(0.0) - self.frontend.infobar.message(_('Checking package signatures')) + self.frontend.infobar.message(_("Checking package signatures")) self.frontend.infobar.set_progress(1.0) - self.frontend.infobar.message_sub('') - elif event == 'run-test-transaction': + self.frontend.infobar.message_sub("") + elif event == "run-test-transaction": # self.frontend.infobar.message(_('Testing Package Transactions')) # # User don't care pass - elif event == 'run-transaction': - self.frontend.infobar.message(_('Applying changes to the system')) - self.frontend.infobar.message_sub('') - elif event == 'verify': - self.frontend.infobar.message(_('Verify changes on the system')) - self.frontend.infobar.message_sub('') + elif event == "run-transaction": + self.frontend.infobar.message(_("Applying changes to the system")) + self.frontend.infobar.message_sub("") + elif event == "verify": + self.frontend.infobar.message(_("Verify changes on the system")) + self.frontend.infobar.message_sub("") # elif event == '': - elif event == 'fail': + elif event == "fail": self.frontend.infobar.hide() - elif event == 'end-run': + elif event == "end-run": self.frontend.infobar.hide() else: - logger.debug('TransactionEvent : %s', event) - - def on_RPMProgress(self, package, action, te_current, - te_total, ts_current, ts_total): - num = ' ( %i/%i )' % (ts_current, ts_total) - if ',' in package: # this is a pkg_id - name = yumex.misc.pkg_id_to_full_name(package) + logger.debug(f"TransactionEvent : {event}") + + def on_RPMProgress( + self, package, action, te_current, te_total, ts_current, ts_total + ): + num = f" ( {ts_current}/{ts_total} )" + if "," in package: # this is a pkg_id + name = pkg_id_to_full_name(package) else: # this is just a pkg name (cleanup) name = package # logger.debug('on_RPMProgress : [%s]', package) @@ -225,15 +234,15 @@ def on_RPMProgress(self, package, action, te_current, if action_msg: self.frontend.infobar.message_sub(action_msg % name) else: - logger.info("RPM Progress: Undefinded action {}".format(action)) + logger.info(f"RPM Progress: Undefinded action {action}") if 0 < ts_current <= ts_total: frac = float(ts_current) / float(ts_total) self.frontend.infobar.set_progress(frac, label=num) def on_GPGImport(self, pkg_id, userid, hexkeyid, keyurl, timestamp): values = (pkg_id, userid, hexkeyid, keyurl, timestamp) - self._gpg_confirm = values - logger.debug('received signal : GPGImport %s', repr(values)) + self.gpg_confirm = values + logger.debug(f"received signal : GPGImport {repr(values)}") def on_DownloadStart(self, num_files, num_bytes): """Starting a new parallel download batch.""" @@ -245,28 +254,34 @@ def on_DownloadStart(self, num_files, num_bytes): # to download; %s will be replaced with the preformatted # number of bytes to download + the prefix (k, M, etc.) # Note that 'B' for 'bytes' is already here, it must be preserved. - ngettext('Downloading %d file (%sB)...', - 'Downloading %d files (%sB)...', num_files) % - (num_files, yumex.misc.format_number(num_bytes))) + ngettext( + "Downloading %d file (%sB)...", + "Downloading %d files (%sB)...", + num_files, + ) + % (num_files, format_number(num_bytes)) + ) def on_DownloadProgress(self, name, frac, total_frac, total_files): """Progress for a single element in the batch.""" - num = '( %d/%d )' % (self._files_downloaded, self._files_to_download) + num = f"( {self._files_downloaded}/{self._files_to_download} )" self.frontend.infobar.set_progress(total_frac, label=num) def on_DownloadEnd(self, name, status, msg): """Download of af single element ended.""" if status == -1 or status == 2: # download OK or already exists - logger.debug('Downloaded : %s', name) + logger.debug(f"Downloaded : {name}") self._files_downloaded += 1 + self.frontend.infobar.message_sub( + f"{name} - ({self._files_downloaded}/{self._files_to_download})" + ) else: - logger.debug('Download Error : %s - %s (status : %d )', - name, msg, status) + logger.debug(f"Download Error : {name} - {msg} (status : {status} )") def on_RepoMetaDataProgress(self, name, frac): """Repository Metadata Download progress.""" values = (name, frac) - logger.debug('on_RepoMetaDataProgress (root): %s', repr(values)) + logger.debug(f"on_RepoMetaDataProgress (root): {repr(values)}") if frac == 0.0: self.frontend.infobar.message_sub(name) else: @@ -278,19 +293,19 @@ def setup(self): self.Lock() self.SetWatchdogState(False) self._update_config_options() - return True, '' + return True, "" except dnfdaemon.client.AccessDeniedError: - return False, 'not-authorized' + return False, "not-authorized" except dnfdaemon.client.LockedError: - return False, 'locked-by-other' + return False, "locked-by-other" - @ExceptionHandler + @exception_handler def quit(self): """Quit the dnf backend daemon.""" self.Unlock() self.Exit() - @ExceptionHandler + @exception_handler def reload(self): """Reload the dnf backend daemon.""" self.Unlock() # Release the lock @@ -302,26 +317,17 @@ def reload(self): def _update_config_options(self): if CONFIG.session.clean_instonly: - self.SetConfig('installonly_limit', CONFIG.conf.installonly_limit) - logger.debug('installonly_limit = %d', - CONFIG.conf.installonly_limit) + self.SetConfig("installonly_limit", CONFIG.conf.installonly_limit) + logger.debug(f"installonly_limit = {CONFIG.conf.installonly_limit}") else: - self.SetConfig('installonly_limit', "") - logger.debug('installonly_limit = %s', "") - self.SetConfig('clean_requirements_on_remove', - CONFIG.session.clean_unused) - logger.debug('clean_requirements_on_remove = %s', - CONFIG.session.clean_unused) + self.SetConfig("installonly_limit", "") + logger.debug("installonly_limit = ") + self.SetConfig("clean_requirements_on_remove", CONFIG.session.clean_unused) + logger.debug(f"clean_requirements_on_remove = {CONFIG.session.clean_unused}") if CONFIG.session.enabled_repos: - logger.debug('root: Setting repos : %s', - CONFIG.session.enabled_repos) + logger.debug(f"root: Setting repos : {CONFIG.session.enabled_repos}") self.SetEnabledRepos(CONFIG.session.enabled_repos) - def to_pkg_tuple(self, pkg_id): - """Get package nevra & repoid from an package pkg_id""" - (n, e, v, r, a, repo_id) = str(pkg_id).split(',') - return n, e, v, r, a, repo_id - def _make_pkg_object(self, pkgs, flt): """Get a list Package objects from a list of pkg_ids & attrs. @@ -339,7 +345,7 @@ def _make_pkg_object(self, pkgs, flt): po_list.append(DnfPackage(pkg_values, action, self)) return self.cache.find_packages(po_list) - @TimeFunction + @timer def _make_pkg_object_with_attr(self, pkgs): """Make list of Packages from a list of pkg_ids & attrs. @@ -352,8 +358,7 @@ def _make_pkg_object_with_attr(self, pkgs): for elem in pkgs: (pkg_id, summary, size, action) = elem po_tuple = (pkg_id, summary, size) - po_list.append( - DnfPackage(po_tuple, const.BACKEND_ACTIONS[action], self)) + po_list.append(DnfPackage(po_tuple, const.BACKEND_ACTIONS[action], self)) return self.cache.find_packages(po_list) def _build_package_list(self, pkg_ids): @@ -369,72 +374,73 @@ def _build_package_list(self, pkg_ids): # No need for 3 almost indentical way to make a list of package objects po_list = [] for pkg_id in pkg_ids: - summary = self.GetAttribute(pkg_id, 'summary') - size = self.GetAttribute(pkg_id, 'size') + summary = self.GetAttribute(pkg_id, "summary") + size = self.GetAttribute(pkg_id, "size") pkg_values = (pkg_id, summary, size) - action = const.BACKEND_ACTIONS[self.GetAttribute(pkg_id, 'action')] + action = const.BACKEND_ACTIONS[self.GetAttribute(pkg_id, "action")] po_list.append(DnfPackage(pkg_values, action, self)) return self.cache.find_packages(po_list) - @ExceptionHandler - @TimeFunction + @exception_handler + @timer def get_packages(self, flt): """Get packages for a given pkg filter.""" - logger.debug('get-packages : %s ', flt) - if flt == 'all': - filters = ['installed', 'updates', 'available'] + logger.debug(f"get-packages : {flt} ") + if flt == "all": + filters = ["installed", "updates", "available"] else: filters = [flt] result = [] for pkg_flt in filters: # is this type of packages is already cached ? if not self.cache.is_populated(pkg_flt): - fields = ['summary', 'size'] # fields to get + fields = ["summary", "size"] # fields to get po_list = self.GetPackages(pkg_flt, fields) - if pkg_flt == 'updates_all': - pkg_flt = 'updates' + if pkg_flt == "updates_all": + pkg_flt = "updates" pkgs = self._make_pkg_object(po_list, pkg_flt) self.cache.populate(pkg_flt, pkgs) - result.extend(yumex.backend.Backend.get_packages(self, pkg_flt)) + result.extend(Backend.get_packages(self, pkg_flt)) + logger.debug(f" number of packages = {len(result)}") return result - @ExceptionHandler + @exception_handler def get_downgrades(self, pkg_id): """Get downgrades for a given pkg_id""" - pkgs = self.GetAttribute(pkg_id, 'downgrades') + pkgs = self.GetAttribute(pkg_id, "downgrades") return self._build_package_list(pkgs) - @ExceptionHandler + @exception_handler def get_repo_ids(self, flt): """Get repository ids""" repos = self.GetRepositories(flt) return repos - @ExceptionHandler - def get_repositories(self, flt='*'): + @exception_handler + def get_repositories(self, flt="*"): """Get a list of repo attributes to populate repo view.""" repo_list = [] repos = self.GetRepositories(flt) for repo_id in repos: - if repo_id.endswith('-source') or repo_id.endswith('-debuginfo'): + if repo_id.endswith("-source") or repo_id.endswith("-debuginfo"): continue repo = self.GetRepo(repo_id) - repo_list.append([repo['enabled'], repo_id, repo['name'], False]) + repo_list.append([repo["enabled"], repo_id, repo["name"], False]) return sorted(repo_list, key=lambda elem: elem[1]) - @TimeFunction - @ExceptionHandler + @timer + @exception_handler def get_packages_by_name(self, name_key, newest_only): """Get packages by a given name wildcard. :param name_key: package wildcard :param newest_only: get lastest version only """ - attrs = ['summary', 'size', 'action'] + attrs = ["summary", "size", "action"] pkgs = self.GetPackagesByName(name_key, attrs, newest_only) return self._make_pkg_object_with_attr(pkgs) - @ExceptionHandler + @exception_handler def search(self, search_attrs, keys, match_all, newest_only, tags): """Search given pkg attributes for given keys. @@ -444,24 +450,23 @@ def search(self, search_attrs, keys, match_all, newest_only, tags): :param newest_only: :param tags: """ - attrs = ['summary', 'size', 'action'] - pkgs = self.Search(search_attrs, keys, attrs, match_all, - newest_only, tags) + attrs = ["summary", "size", "action"] + pkgs = self.Search(search_attrs, keys, attrs, match_all, newest_only, tags) return self._make_pkg_object_with_attr(pkgs) - @ExceptionHandler + @exception_handler def get_groups(self): """Get groups/categories from dnf daemon backend""" result = self.GetGroups() return result - @TimeFunction + @timer def get_group_packages(self, grp_id, grp_flt): """Get a list of packages from a grp_id and a group filter. :param grp_id: :param grp_flt: """ - attrs = ['summary', 'size', 'action'] + attrs = ["summary", "size", "action"] pkgs = self.GetGroupPackages(grp_id, grp_flt, attrs) return self._make_pkg_object_with_attr(pkgs) diff --git a/src/yumex/base/__init__.py b/src/yumex/base/__init__.py new file mode 100644 index 0000000..f6528f4 --- /dev/null +++ b/src/yumex/base/__init__.py @@ -0,0 +1,177 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# 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 +# pylint: disable=no-member +import datetime +import logging +import sys + +import yumex.common.const as const +import yumex.common as common + +from yumex.common import CONFIG, _ + +from yumex.backend.dnf import DnfRootBackend +from yumex.gui.dialogs import show_information + +logger = logging.getLogger("yumex.base") + + +class BaseYumex: + def __init__(self): + self._root_backend = None + self._root_locked = False + self.is_working = False + self.infobar = None + + def set_working(self, state, insensitive=True, splash=False): + """Set the working state. (implement in subclass)""" + raise NotImplementedError + + def _check_cache_expired(self, cache_type): + time_fmt = "%Y-%m-%d %H:%M" + now = datetime.datetime.now() + refresh_period = datetime.timedelta(hours=CONFIG.conf.refresh_interval) + # check if cache management is disabled + if CONFIG.conf.refresh_interval == 0: + return False + if cache_type == "session": + last_refresh = datetime.datetime.strptime( + CONFIG.conf.session_refresh, time_fmt + ) + period = now - last_refresh + logger.debug(f"time since last cache refresh : {period}") + return period > refresh_period + elif cache_type == "system": + last_refresh = datetime.datetime.strptime( + CONFIG.conf.system_refresh, time_fmt + ) + period = now - last_refresh + logger.debug(f"time since last cache refresh : {period}") + return period > refresh_period + + def _set_cache_refreshed(self, cache_type): + time_fmt = "%Y-%m-%d %H:%M" + now = datetime.datetime.now() + now_str = now.strftime(time_fmt) + if cache_type == "session": + CONFIG.conf.session_refresh = now_str + CONFIG.write() + elif cache_type == "system": + CONFIG.conf.system_refresh = now_str + CONFIG.write() + + @property + def backend(self): + return self.get_root_backend() + + @common.exception_handler + def reset_cache(self): + logger.debug("Refresh system cache") + self.set_working(True, True, splash=True) + self.infobar.message(_("Refreshing Repository Metadata")) + rc = self._root_backend.ExpireCache() + self.set_working(False, splash=True) + if rc: + self._set_cache_refreshed("system") + else: + show_information(self, _("Could not refresh the DNF cache (root)")) + + @common.exception_handler + def get_root_backend(self): + """Get the current root backend. + + if it is not setup yet, the create it + if it is not locked, then lock it + """ + if self._root_backend is None: + self._root_backend = DnfRootBackend(self) + if self._root_locked is False: + logger.debug("Lock the DNF root daemon") + locked, msg = self._root_backend.setup() + errmsg = "" + if locked: + self._root_locked = True + if self._check_cache_expired("system"): + logger.debug("cache is expired, reloading") + self.reset_cache() + else: + logger.critical("can't get root backend lock") + if msg == "not-authorized": # user canceled the polkit dialog + errmsg = _( + "DNF root backend was not authorized.\n" + "Yum Extender will exit" + ) + # DNF is locked by another process + elif msg == "locked-by-other": + errmsg = _( + "DNF is locked by another process.\n\n" "Yum Extender will exit" + ) + self.error_dialog.show(errmsg) + sys.exit(1) + return self._root_backend + + @common.exception_handler + def release_root_backend(self, quit_dnfdaemon=False): + """Release the current root backend, if it is setup and locked.""" + if self._root_backend is None: + return + if self._root_locked is True: + logger.debug("Unlock the DNF root daemon") + self._root_backend.Unlock() + self._root_locked = False + if quit_dnfdaemon: + logger.debug("Exit the DNF root daemon") + self._root_backend.Exit() + + def exception_handler(self, e): + """Called if exception occours in methods with the + @ExceptionHandler decorator. + """ + close = True + msg = str(e) + logger.error(f"BASE EXCEPTION : {msg}") + err, errmsg = self._parse_error(msg) + logger.debug(f"BASE err: [{err}] - msg: {errmsg}") + if err == "LockedError": + errmsg = "DNF is locked by another process.\n" "\nYum Extender will exit" + close = False + elif err == "NoReply": + errmsg = "DNF D-Bus backend is not responding.\n" "\nYum Extender will exit" + close = False + if errmsg == "": + errmsg = msg + self.error_dialog.show(errmsg) + + # try to exit the backends, ignore errors + if close: + try: + self.release_root_backend(quit_dnfdaemon=True) + except Exception: # pylint: disable=broad-except + pass + sys.exit(1) + + def _parse_error(self, value): + """Parse values from a DBus releated exception.""" + res = const.DBUS_ERR_RE.match(str(value)) + if res: + err = res.groups()[0] + err = err.split(".")[-1] + msg = res.groups()[1] + return err, msg + return "", "" diff --git a/src/yumex/misc.py b/src/yumex/common/__init__.py similarity index 59% rename from src/yumex/misc.py rename to src/yumex/common/__init__.py index 6246ee0..338c100 100644 --- a/src/yumex/misc.py +++ b/src/yumex/common/__init__.py @@ -17,11 +17,6 @@ # the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -import yumex.config as config -import dnfdaemon.client -from gi.repository import Gtk, Gdk, Notify -import time import configparser import gettext import locale @@ -30,49 +25,57 @@ import re import subprocess import sys +import time + +import dnfdaemon.client +import yumex.common.config as config +from gi.repository import Gdk, Gtk, Notify -LOCALE_DIR = os.path.join(sys.prefix, 'share', 'locale') -locale.setlocale(locale.LC_ALL, '') -locale.bindtextdomain('yumex-dnf', LOCALE_DIR) -gettext.bindtextdomain('yumex-dnf', LOCALE_DIR) -gettext.textdomain('yumex-dnf') +LOCALE_DIR = os.path.join(sys.prefix, "share", "locale") +locale.setlocale(locale.LC_ALL, "") +locale.bindtextdomain("yumex-dnf", LOCALE_DIR) +gettext.bindtextdomain("yumex-dnf", LOCALE_DIR) +gettext.textdomain("yumex-dnf") _ = gettext.gettext ngettext = gettext.ngettext -logger = logging.getLogger('yumex.misc') +logger = logging.getLogger("yumex.common") -class QueueEmptyError(Exception): - def __init__(self): - super(QueueEmptyError, self).__init__() +class QueueEmptyError(Exception): + pass class TransactionBuildError(Exception): - def __init__(self, msgs): - super(TransactionBuildError, self).__init__() + super().__init__() self.msgs = msgs class TransactionSolveError(Exception): - def __init__(self, msgs): - super(TransactionSolveError, self).__init__() + super().__init__() self.msgs = msgs def dbus_dnfsystem(cmd): - subprocess.call( - '/usr/bin/dbus-send --system --print-reply ' - '--dest=org.baseurl.DnfSystem / org.baseurl.DnfSystem.%s' % cmd, - shell=True) + args = [ + "/usr/bin/dbus-send", + "--system", + "--print-reply=literal", + "--dest=org.baseurl.DnfSystem", + "/", + f"org.baseurl.DnfSystem.{cmd}", + ] + rc = subprocess.run(args, check=False) + print(f' Executed : {" ".join(rc.args)}') def to_pkg_tuple(pkg_id): """Find the real package nevre & repoid from an package pkg_id""" - (n, e, v, r, a, repo_id) = str(pkg_id).split(',') + (n, e, v, r, a, repo_id) = str(pkg_id).split(",") return n, e, v, r, a, repo_id @@ -85,11 +88,11 @@ def list_to_string(pkg_list, first_delimitier, delimiter): def pkg_id_to_full_name(pkg_id): - (n, e, v, r, a, repo_id) = to_pkg_tuple(pkg_id) - if e and e != '0': - return "%s-%s:%s-%s.%s" % (n, e, v, r, a) + (n, e, v, r, a, _) = to_pkg_tuple(pkg_id) + if e and e != "0": + return f"{n}-{e}:{v}-{r}.{a}" else: - return "%s-%s-%s.%s" % (n, v, r, a) + return f"{n}-{v}-{r}.{a}" def color_floats(spec): @@ -104,12 +107,12 @@ def get_color(spec): return rgba -def rgb_to_hex(r, g, b): - if isinstance(r, float): - r *= 255 - g *= 255 - b *= 255 - return "#{0:02X}{1:02X}{2:02X}".format(int(r), int(g), int(b)) +def rgb_to_hex(red, green, blue): + if isinstance(red, float): + red *= 255 + green *= 255 + blue *= 255 + return f"#{int(red):#02X}{int(green):#02X}{int(blue):#02X}" def color_to_hex(color): @@ -118,18 +121,20 @@ def color_to_hex(color): def is_url(url): urls = re.findall( - r'^http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+~]|' - r'[!*(),]|%[0-9a-fA-F][0-9a-fA-F])+', url) + r"^http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+~]|" + r"[!*(),]|%[0-9a-fA-F][0-9a-fA-F])+", + url, + ) return urls def format_block(block, indent): - """ Format a block of text so they get the same indentation""" + """Format a block of text so they get the same indentation""" spaces = " " * indent - lines = str(block).split('\n') + lines = str(block).split("\n") result = lines[0] + "\n" for line in lines[1:]: - result += spaces + line + '\n' + result += spaces + line + "\n" return result @@ -143,60 +148,62 @@ def get_style_color(widget): return color -def doGtkEvents(): - """ - - """ - while Gtk.events_pending(): # process Gtk events +def do_gtk_events(): + while Gtk.events_pending(): # process Gtk events Gtk.main_iteration() -def ExceptionHandler(func): +def exception_handler(func): """ This decorator catch yum backed exceptions """ - def newFunc(*args, **kwargs): + + def new_func(*args, **kwargs): try: rc = func(*args, **kwargs) return rc except dnfdaemon.client.DaemonError as e: base = args[0] # get current class base.exception_handler(e) - newFunc.__name__ = func.__name__ - newFunc.__doc__ = func.__doc__ - newFunc.__dict__.update(func.__dict__) - return newFunc + new_func.__name__ = func.__name__ + new_func.__doc__ = func.__doc__ + new_func.__dict__.update(func.__dict__) + return new_func -def TimeFunction(func): + +def timer(func): """ - This decorator catch yum exceptions and send fatal signal to frontend + This decorator show the execution time of a function in the debug log """ - def newFunc(*args, **kwargs): - t_start = time.time() + + def new_func(*args, **kwargs): + t_start = time.perf_counter() rc = func(*args, **kwargs) - t_end = time.time() + t_end = time.perf_counter() name = func.__name__ - logger.debug("%s took %.2f sec", name, t_end - t_start) + logger.debug(f"{name} took {t_end - t_start:.4f} sec") return rc - newFunc.__name__ = func.__name__ - newFunc.__doc__ = func.__doc__ - newFunc.__dict__.update(func.__dict__) - return newFunc + new_func.__name__ = func.__name__ + new_func.__doc__ = func.__doc__ + new_func.__dict__.update(func.__dict__) + return new_func -def format_number(number, SI=0, space=' '): +def format_number(number, SI=0, space=" "): """Turn numbers into human-readable metric-like numbers""" - symbols = ['', # (none) - 'k', # kilo - 'M', # mega - 'G', # giga - 'T', # tera - 'P', # peta - 'E', # exa - 'Z', # zetta - 'Y'] # yotta + symbols = [ + "", # (none) + "k", # kilo + "M", # mega + "G", # giga + "T", # tera + "P", # peta + "E", # exa + "Z", # zetta + "Y", + ] # yotta if SI: step = 1000.0 @@ -217,19 +224,19 @@ def format_number(number, SI=0, space=' '): if isinstance(number, int): # it's an int or a long, which means it didn't get divided, # which means it's already short enough - fmt = '%i%s%s' + fmt = "%i%s%s" elif number < 9.95: # must use 9.95 for proper sizing. For example, 9.99 will be # rounded to 10.0 with the .1f fmt string (which is too long) - fmt = '%.1f%s%s' + fmt = "%.1f%s%s" else: - fmt = '%.0f%s%s' + fmt = "%.0f%s%s" return fmt % (float(number or 0), space, symbols[depth]) def notify(summary, body): - Notify.init('Yum Extender') + Notify.init("Yum Extender") icon = "yumex-dnf" notification = Notify.Notification.new(summary, body, icon) notification.set_timeout(5000) # timeout 5s @@ -242,17 +249,17 @@ def check_dark_theme(): return gtk_settings.get_property("gtk-application-prefer-dark-theme") -def logger_setup(logroot='yumex', - logfmt='%(asctime)s: %(message)s', - loglvl=logging.INFO): +def logger_setup( + logroot="yumex", logfmt="%(asctime)s: %(message)s", loglvl=logging.INFO +): """Setup Python logging.""" - logger = logging.getLogger(logroot) - logger.setLevel(loglvl) - formatter = logging.Formatter(logfmt, '%H:%M:%S') + log = logging.getLogger(logroot) + log.setLevel(loglvl) + formatter = logging.Formatter(logfmt, "%H:%M:%S") handler = logging.StreamHandler() handler.setFormatter(formatter) handler.propagate = False - logger.addHandler(handler) + log.addHandler(handler) def is_gnome(): @@ -261,32 +268,34 @@ def is_gnome(): class YumexConf(config.BaseConfig): - """ Yum Extender Config Setting""" + """Yum Extender Config Setting""" + debug = config.BoolOption(False) autostart = config.BoolOption(False) theme = config.Option("System-Dark.theme") use_dark = config.BoolOption(False) + show_splash = config.BoolOption(True) - color_install = config.Option('#8BE8FD') - color_update = config.Option('#FF79C6') - color_downgrade = config.Option('#50FA7B') - color_normal = config.Option('#D3DAE3') - color_obsolete = config.Option('#FFB86C') + color_install = config.Option("#8BE8FD") + color_update = config.Option("#FF79C6") + color_downgrade = config.Option("#50FA7B") + color_normal = config.Option("#D3DAE3") + color_obsolete = config.Option("#FFB86C") history_days = config.IntOption(180) newest_only = config.BoolOption(True) clean_unused = config.BoolOption(False) update_interval = config.IntOption(60) autocheck_updates = config.BoolOption(False) - system_refresh = config.Option('2000-01-01 00:01') + system_refresh = config.Option("2000-01-01 00:01") refresh_interval = config.IntOption(12) # headerbar is default if running gnome hb_default = is_gnome() headerbar = config.BoolOption(hb_default) search_default = config.CaselessSelectionOption( - default='prefix', - allowed=('prefix', 'keyword', 'fields', 'key')) - search_fields = config.KeyListOption(['name', 'summary']) + default="prefix", allowed=("prefix", "keyword", "fields", "key") + ) + search_fields = config.KeyListOption(["name", "summary"]) win_height = config.IntOption(700) win_width = config.IntOption(1150) info_paned = config.IntOption(450) @@ -295,14 +304,17 @@ class YumexConf(config.BaseConfig): repo_saved = config.BoolOption(False) repo_enabled = config.KeyListOption([]) archs = config.KeyListOption([]) - protected = config.KeyListOption(['yumex-dnf', 'python3-dnfdaemon']) + protected = config.KeyListOption(["yumex-dnf", "python3-dnfdaemon"]) clean_instonly = config.BoolOption(True) - installonly_limit = config.PositiveIntOption(3, range_min=2, - names_of_0=["0", ""]) + search_visible = config.BoolOption(False) + installonly_limit = config.PositiveIntOption( + 3, range_min=2, names_of_0=["0", ""] + ) class SessionConf(config.BaseConfig): - """ Yum Extender current session Setting""" + """Yum Extender current session Setting""" + # show newest package version only for current session newest_only = config.BoolOption(True) # Clean orphan dependencies for this session @@ -310,26 +322,32 @@ class SessionConf(config.BaseConfig): # enabled repositories for this session enabled_repos = config.ListOption([]) clean_instonly = config.BoolOption(False) - color_install = config.Option('#ffffff') - color_update = config.Option('#ffffff') - color_downgrade = config.Option('#ffffff') - color_normal = config.Option('#ffffff') - color_obsolete = config.Option('#ffffff') + color_install = config.Option("#ffffff") + color_update = config.Option("#ffffff") + color_downgrade = config.Option("#ffffff") + color_normal = config.Option("#ffffff") + color_obsolete = config.Option("#ffffff") class Config(object): """ Yum Extender Configuration class """ - WRITE_ALWAYS = ['autostart', 'update_interval', - 'update_startup_delay', 'autocheck_updates', - 'update_notify', 'update_showicon'] + + WRITE_ALWAYS = [ + "autostart", + "update_interval", + "update_startup_delay", + "autocheck_updates", + "update_notify", + "update_showicon", + ] def __init__(self): object.__init__(self) - self.conf_dir = os.environ['HOME'] + "/.config/yumex-dnf" + self.conf_dir = os.environ["HOME"] + "/.config/yumex-dnf" if not os.path.isdir(self.conf_dir): - logger.info("creating config directory : %s", self.conf_dir) + logger.info(f"creating config directory : {self.conf_dir}") os.makedirs(self.conf_dir, 0o700) self.conf_file = self.conf_dir + "/yumex.conf" self.parser = configparser.ConfigParser() @@ -340,21 +358,21 @@ def __init__(self): def read(self): first_read = False if not os.path.exists(self.conf_file): - logger.info("creating default config file : %s", self.conf_file) + logger.info(f"creating default config file : {self.conf_file}") first_read = True else: - self.parser.read_file(open(self.conf_file, "r")) - if not self.parser.has_section('yumex'): - self.parser.add_section('yumex') - self.conf.populate(self.parser, 'yumex') - self.session.populate(self.parser, 'yumex') + self.parser.read_file(open(self.conf_file, "r", encoding="UTF-8")) + if not self.parser.has_section("yumex"): + self.parser.add_section("yumex") + self.conf.populate(self.parser, "yumex") + self.session.populate(self.parser, "yumex") if first_read: self.write() def write(self): - fp = open(self.conf_file, "w") - self.conf.write(fp, "yumex", Config.WRITE_ALWAYS) - fp.close() + out_file = open(self.conf_file, "w", encoding="UTF-8") + self.conf.write(out_file, "yumex", Config.WRITE_ALWAYS) + out_file.close() CONFIG = Config() diff --git a/src/yumex/config.py b/src/yumex/common/config.py similarity index 90% rename from src/yumex/config.py rename to src/yumex/common/config.py index 09cf5a1..443b00c 100644 --- a/src/yumex/config.py +++ b/src/yumex/common/config.py @@ -12,38 +12,39 @@ # along with this program; if not, write to # the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - """ The Option/BaseConfig classes is taken from config.py from the yum project (http://yum.baseurl.org ) It is modified to work in Python 3 """ +# pylint: skip-file +# FIXME: lot of pylint issues, so we disable it for now, +# the whole config option has to be redesigned -from urllib.parse import urlparse import copy import glob import re +from urllib.parse import urlparse def read_in_items_from_dot_dir(thisglob, line_as_list=True): """takes a glob of a dir (like /etc/foo.d/*.foo) - returns a list of all the lines in all the files matching - that glob, ignores comments and blank lines, - optional paramater 'line_as_list tells whether to - treat each line as a space or comma-separated list, defaults to True""" + returns a list of all the lines in all the files matching + that glob, ignores comments and blank lines, + optional paramater 'line_as_list tells whether to + treat each line as a space or comma-separated list, defaults to True""" results = [] for fname in glob.glob(thisglob): for line in open(fname): - if re.match(r'\s*(#|$)', line): + if re.match(r"\s*(#|$)", line): continue line = line.rstrip() # no more trailing \n's line = line.lstrip() # be nice if not line: continue if line_as_list: - line = line.replace('\n', ' ') - line = line.replace(',', ' ') + line = line.replace("\n", " ") + line = line.replace(",", " ") results.extend(line.split()) continue results.append(line) @@ -69,7 +70,7 @@ def _setattrname(self): """Calculate the internal attribute name used to store option state in configuration instances. """ - self._attrname = '__opt%d' % id(self) + self._attrname = "__opt%d" % id(self) def __get__(self, obj, objtype): """Called when the option is read (via the descriptor protocol). @@ -98,8 +99,8 @@ def __set__(self, obj, value): except ValueError as e: # Add the field name onto the error raise ValueError( - 'Error parsing "%s = %r": %s' % (self._optname, - value, str(e))) + 'Error parsing "%s = %r": %s' % (self._optname, value, str(e)) + ) setattr(obj, self._attrname, value) def setup(self, obj, name): @@ -175,12 +176,12 @@ def parse(self, s): """ # we need to allow for the '\n[whitespace]' continuation - easier # to sub the \n with a space and then read the lines - s = s.replace('\n', ' ') - s = s.replace(',', ' ') + s = s.replace("\n", " ") + s = s.replace(",", " ") results = [] for item in s.split(): - if item.startswith('glob:'): - thisglob = item.replace('glob:', '') + if item.startswith("glob:"): + thisglob = item.replace("glob:", "") results.extend(read_in_items_from_dot_dir(thisglob)) continue results.append(item) @@ -194,7 +195,7 @@ def tostring(self, value): :param value: a list of values :return: string representation of input """ - return '\n '.join(value) + return "\n ".join(value) class KeyListOption(Option): @@ -213,7 +214,7 @@ def parse(self, s): whitespace are used as separators for the list :return: *s* converted to a list """ - results = s.split(',') + results = s.split(",") return results def tostring(self, value): @@ -223,7 +224,7 @@ def tostring(self, value): :param value: a list of values :return: string representation of input """ - return ','.join(value) + return ",".join(value) class UrlOption(Option): @@ -231,8 +232,9 @@ class UrlOption(Option): scheme. """ - def __init__(self, default=None, schemes=('http', 'ftp', 'file', 'https'), - allow_none=False): + def __init__( + self, default=None, schemes=("http", "ftp", "file", "https"), allow_none=False + ): super(UrlOption, self).__init__(default) self.schemes = schemes self.allow_none = allow_none @@ -248,7 +250,7 @@ def parse(self, url): url = url.strip() # Handle the "_none_" special case - if url.lower() == '_none_': + if url.lower() == "_none_": if self.allow_none: return None else: @@ -257,21 +259,18 @@ def parse(self, url): # Check that scheme is valid (s, b, p, q, f, o) = urlparse(url) if s not in self.schemes: - raise ValueError( - 'URL must be %s not "%s"' % (self._schemelist(), s)) + raise ValueError('URL must be %s not "%s"' % (self._schemelist(), s)) return url def _schemelist(self): - """Return a user friendly list of the allowed schemes - """ + """Return a user friendly list of the allowed schemes""" if len(self.schemes) < 1: - return 'empty' + return "empty" elif len(self.schemes) == 1: return self.schemes[0] else: - return '%s or %s' % (', '.join(self.schemes[:-1]), - self.schemes[-1]) + return "%s or %s" % (", ".join(self.schemes[:-1]), self.schemes[-1]) class IntOption(Option): @@ -293,11 +292,11 @@ def parse(self, s): try: val = int(s) except (ValueError, TypeError): - raise ValueError('invalid integer value') + raise ValueError("invalid integer value") if self._range_max is not None and val > self._range_max: - raise ValueError('out of range integer value') + raise ValueError("out of range integer value") if self._range_min is not None and val < self._range_min: - raise ValueError('out of range integer value') + raise ValueError("out of range integer value") return val @@ -306,8 +305,7 @@ class PositiveIntOption(IntOption): have a special representation. """ - def __init__(self, default=None, range_min=0, range_max=None, - names_of_0=None): + def __init__(self, default=None, range_min=0, range_max=None, names_of_0=None): super(PositiveIntOption, self).__init__(default, range_min, range_max) self._names0 = names_of_0 @@ -337,7 +335,8 @@ class SecondsOption(Option): Return value will always be an integer """ - MULTS = {'d': 60 * 60 * 24, 'h': 60 * 60, 'm': 60, 's': 1} + + MULTS = {"d": 60 * 60 * 24, "h": 60 * 60, "m": 60, "s": 1} def parse(self, s): """Parse a string containing an integer value of seconds, or a human @@ -372,7 +371,7 @@ def parse(self, s): try: n = float(n) except (ValueError, TypeError): - raise ValueError('invalid value') + raise ValueError("invalid value") if n < 0: raise ValueError("seconds value may not be negative") @@ -396,12 +395,12 @@ def parse(self, s): the boolean value """ s = s.lower() - if s in ('0', 'no', 'false'): + if s in ("0", "no", "false"): return False - elif s in ('1', 'yes', 'true'): + elif s in ("1", "yes", "true"): return True else: - raise ValueError('invalid boolean value') + raise ValueError("invalid boolean value") def tostring(self, value): """Convert a boolean value to a string value. This does the @@ -430,7 +429,7 @@ def parse(self, s): try: return float(s.strip()) except (ValueError, TypeError): - raise ValueError('invalid float value') + raise ValueError("invalid float value") class SelectionOption(Option): @@ -485,11 +484,12 @@ class BytesOption(Option): """An option representing a value in bytes. The value may be given in bytes, kilobytes, megabytes, or gigabytes. """ + # Multipliers for unit symbols MULTS = { - 'k': 1024, - 'm': 1024 * 1024, - 'g': 1024 * 1024 * 1024, + "k": 1024, + "m": 1024 * 1024, + "g": 1024 * 1024 * 1024, } def parse(self, s): @@ -552,7 +552,7 @@ def parse(self, s): if len(s) < 1: raise ValueError("no value specified") - if s[-1] == '%': + if s[-1] == "%": n = s[:-1] try: n = float(n) @@ -578,10 +578,10 @@ def __init__(self): option.setup(self, name) def __str__(self): - out = ['[%s]' % self._section] + out = ["[%s]" % self._section] for name, value in self.iteritems(): - out.append('%s: %r' % (name, value)) - return '\n'.join(out) + out.append("%s: %r" % (name, value)) + return "\n".join(out) def populate(self, parser, section, parent=None): """Set option values from an INI file section. @@ -681,8 +681,12 @@ def write(self, fileobj, section=None, always=()): cfgOptions = self.cfg.options(section) for name, value in self.iteritems(): option = self.optionobj(name) - if always is None or name in always or option.default != value \ - or name in cfgOptions: + if ( + always is None + or name in always + or option.default != value + or name in cfgOptions + ): self.cfg.set(section, name, option.tostring(value)) # write the updated ConfigParser to the fileobj. self.cfg.write(fileobj) diff --git a/src/yumex/common/const.py b/src/yumex/common/const.py new file mode 100644 index 0000000..2d27251 --- /dev/null +++ b/src/yumex/common/const.py @@ -0,0 +1,201 @@ +# -*- coding: iso-8859-1 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import os.path +import re +import subprocess +import sys + +import hawkey + +from yumex.common import _ + +VERSION = "4.5.0" + +NEEDED_DAEMON_API = 2 # The needed dnfdaemon API version + +# find the data dir for resources +BIN_PATH = os.path.abspath(os.path.dirname(sys.argv[0])) +if BIN_PATH in ["/usr/bin", "/bin"]: + DATA_DIR = "/usr/share/yumex-dnf" + PIX_DIR = DATA_DIR + "/gfx" + UI_DIR = DATA_DIR + "/ui" + MISC_DIR = DATA_DIR + THEME_DIR = DATA_DIR + "/themes" +else: + DATA_DIR = BIN_PATH + PIX_DIR = DATA_DIR + "/../gfx" + MISC_DIR = DATA_DIR + "/../misc" + UI_DIR = DATA_DIR + "/../data/ui" + THEME_DIR = DATA_DIR + "/../misc/themes" + +HOME_DIR = os.environ["HOME"] +AUTOSTART_DIR = HOME_DIR + "/.config/autostart" +USER_DESKTOP_FILE = AUTOSTART_DIR + "/yumex-dnf-updater.desktop" +SYS_DESKTOP_FILE = MISC_DIR + "/yumex-dnf-updater.desktop" +LEGACY_DESKTOP_FILE = AUTOSTART_DIR + "/yumex-dnf.desktop" + +ARCH = subprocess.check_output("/usr/bin/rpm --eval %_arch", shell=True).decode( + "utf-8" +)[:-1] + +ARCH_DICT = { + "x86_64": {"x86_64", "i686", "i386", "noarch"}, + "i386": {"i686", "i386", "noarch"}, + "arm": {"armv7hl", "noarch"}, +} + +# arch for this platform +if ARCH in ARCH_DICT: + PLATFORM_ARCH = ARCH_DICT[ARCH] +else: # use x86_64 as fallback + PLATFORM_ARCH = ARCH_DICT["x86_64"] + +DBUS_ERR_RE = re.compile(r".*GDBus.Error:([\w.]*): (.*)$") + +# Constants + +# Main UI stack names +PAGE_PACKAGES = "packages" +PAGE_QUEUE = "queue" +PAGE_HISTORY = "history" +PAGE_GROUPS = "groups" + +ACTIONS_FILTER = { + "u": "updates", + "i": "available", + "r": "installed", + "o": "obsoletes", + "do": "downgrade", + "ri": "reinstall", + "li": "localinstall", +} + +FILTER_ACTIONS = { + "updates": "u", + "available": "i", + "installed": "r", + "obsoletes": "o", + "downgrade": "do", + "reinstall": "ri", + "localinstall": "li", + "updates_all": "u", +} + +BACKEND_ACTIONS = { + "update": "u", + "install": "i", + "remove": "r", + "obsolete": "o", + "downgrade": "do", +} + +QUEUE_PACKAGE_TYPES = { + "i": "install", + "u": "update", + "r": "remove", + "o": "obsolete", + "ri": "reinstall", + "do": "downgrade", + "li": "localinstall", +} + +# Package info filters (widget : info_xxxxxx) +PKGINFO_FILTERS = ["desc", "updinfo", "changelog", "files", "deps"] + +# FIXME: The url should not be hardcoded +BUGZILLA_URL = "https://bugzilla.redhat.com/show_bug.cgi?id=" +FEDORA_PACKAGES_URL = "https://apps.fedoraproject.org/packages/" + +PACKAGE_LOAD_MSG = { + "installed": _("Getting installed packages"), + "available": _("Getting available packages"), + "updates": _("Getting available updates"), + "all": _("Getting all packages"), +} + +HISTORY_NEW_STATES = ["Update", "Downgrade", "Obsoleting"] +HISTORY_OLD_STATES = ["Updated", "Downgraded", "Obsoleted"] + +HISTORY_UPDATE_STATES = ["Update", "Downgrade", "Updated", "Downgraded"] + +HISTORY_SORT_ORDER = [ + "Install", + "True-Install", + "Reinstall", + "Update", + "Downgrade", + "Obsoleting", + "Obsoleted", + "Erase", + "Removed", + "Dep-Install", +] + +HISTORY_STATE_LABLES = { + "Update": _("Updated packages"), + "Downgrade": _("Downgraded packages"), + "Obsoleting": _("Obsoleting packages"), + "Obsoleted": _("Obsoleted packages"), + "Erase": _("Erased packages"), + "Removed": _("Removed packages"), + "Install": _("Installed packages"), + "True-Install": _("Installed packages"), + "Dep-Install": _("Installed for dependencies"), + "Reinstall": _("Reinstalled packages"), +} + +TRANSACTION_RESULT_TYPES = { + "install": _("Installing"), + "update": _("Updating"), + "remove": _("Removing"), + "downgrade": _("Downgrading"), + "reinstall": _("Replacing"), + "weak-deps": _("Weak Dependencies"), +} + +RPM_ACTIONS = { + "update": _("Updating: %s"), + "updated": _("Updated: %s"), + "install": _("Installing: %s"), + "reinstall": _("Reinstalling: %s"), + "cleanup": _("Cleanup: %s"), + "erase": _("Removing: %s"), + "obsolete": _("Obsoleting: %s"), + "downgrade": _("Downgrading: %s"), + "verify": _("Verifying: %s"), + "scriptlet": _("Running scriptlet for: %s"), +} + +WIDGETS_INSENSITIVE = [ + "header_menu", + "header_filters", + "header_search_options", + "header_execute", + "search", +] + +FEDORA_REPOS = ["fedora", "updates", "updates-testing", "rawhide"] + +ADVISORY_TYPES = { + hawkey.ADVISORY_BUGFIX: _("Bugfix"), + hawkey.ADVISORY_UNKNOWN: _("New Package"), + hawkey.ADVISORY_SECURITY: _("Security"), + hawkey.ADVISORY_ENHANCEMENT: _("Enhancement"), +} diff --git a/src/yumex/const.py b/src/yumex/const.py deleted file mode 100644 index a2786da..0000000 --- a/src/yumex/const.py +++ /dev/null @@ -1,169 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Yum Exteder (yumex) - A graphic package management tool -# Copyright (C) 2013 Tim Lauridsen < timlaufedoraprojectorg > -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to -# the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -import os.path -import re -import subprocess -import sys - -import hawkey - -from yumex.misc import _ - -VERSION = "4.4.0" - -NEEDED_DAEMON_API = 2 # The needed dnfdaemon API version - -# find the data dir for resources -BIN_PATH = os.path.abspath(os.path.dirname(sys.argv[0])) -if BIN_PATH in ["/usr/bin", "/bin"]: - DATA_DIR = '/usr/share/yumex-dnf' - PIX_DIR = DATA_DIR + "/gfx" - MISC_DIR = DATA_DIR - THEME_DIR = DATA_DIR + "/themes" -else: - DATA_DIR = BIN_PATH - PIX_DIR = DATA_DIR + "/../gfx" - MISC_DIR = DATA_DIR + "/../misc" - THEME_DIR = DATA_DIR + "/../misc/themes" - -HOME_DIR = os.environ['HOME'] -AUTOSTART_DIR = HOME_DIR + '/.config/autostart' -USER_DESKTOP_FILE = AUTOSTART_DIR + '/yumex-dnf-updater.desktop' -SYS_DESKTOP_FILE = MISC_DIR + "/yumex-dnf-updater.desktop" -LEGACY_DESKTOP_FILE = AUTOSTART_DIR + "/yumex-dnf.desktop" - - -ARCH = subprocess.check_output( - '/usr/bin/rpm --eval %_arch', shell=True).decode("utf-8")[:-1] - -ARCH_DICT = { - "x86_64": {'x86_64', 'i686', 'i386', 'noarch'}, - "i386": {'i686', 'i386', 'noarch'}, - "arm": {'armv7hl', 'noarch'} -} - -# arch for this platform -if ARCH in ARCH_DICT: - PLATFORM_ARCH = ARCH_DICT[ARCH] -else: # use x86_64 as fallback - PLATFORM_ARCH = ARCH_DICT['x86_64'] - -DBUS_ERR_RE = re.compile(r'.*GDBus.Error:([\w.]*): (.*)$') - -# Constants - -# Main UI stack names -PAGE_PACKAGES = 'packages' -PAGE_QUEUE = 'queue' -PAGE_HISTORY = 'history' -PAGE_GROUPS = 'groups' - -ACTIONS_FILTER = {'u': 'updates', 'i': 'available', - 'r': 'installed', 'o': 'obsoletes', - 'do': 'downgrade', 'ri': 'reinstall', 'li': 'localinstall'} - -FILTER_ACTIONS = {'updates': 'u', 'available': 'i', 'installed': 'r', - 'obsoletes': 'o', 'downgrade': 'do', 'reinstall': 'ri', - 'localinstall': 'li', 'updates_all': 'u'} - -BACKEND_ACTIONS = {'update': 'u', 'install': 'i', 'remove': 'r', - 'obsolete': 'o', 'downgrade': 'do'} - - -QUEUE_PACKAGE_TYPES = { - 'i': 'install', - 'u': 'update', - 'r': 'remove', - 'o': 'obsolete', - 'ri': 'reinstall', - 'do': 'downgrade', - 'li': 'localinstall' -} - -# Package info filters (widget : info_xxxxxx) -PKGINFO_FILTERS = ['desc', 'updinfo', 'changelog', 'files', 'deps'] - -# FIXME: The url should not be hardcoded -BUGZILLA_URL = 'https://bugzilla.redhat.com/show_bug.cgi?id=' -FEDORA_PACKAGES_URL = 'https://apps.fedoraproject.org/packages/' - - -PACKAGE_LOAD_MSG = { - 'installed': _('Getting installed packages'), - 'available': _('Getting available packages'), - 'updates': _('Getting available updates'), - 'all': _('Getting all packages') -} - -HISTORY_NEW_STATES = ['Update', 'Downgrade', 'Obsoleting'] -HISTORY_OLD_STATES = ['Updated', 'Downgraded', 'Obsoleted'] - -HISTORY_UPDATE_STATES = ['Update', 'Downgrade', 'Updated', 'Downgraded'] - -HISTORY_SORT_ORDER = ['Install', 'True-Install', 'Reinstall', 'Update', - 'Downgrade', 'Obsoleting', 'Obsoleted', 'Erase', - 'Dep-Install'] - -HISTORY_STATE_LABLES = { - 'Update': _('Updated packages'), - 'Downgrade': _('Downgraded packages'), - 'Obsoleting': _('Obsoleting packages'), - 'Obsoleted': _('Obsoleted packages'), - 'Erase': _('Erased packages'), - 'Install': _('Installed packages'), - 'True-Install': _('Installed packages'), - 'Dep-Install': _('Installed for dependencies'), - 'Reinstall': _('Reinstalled packages')} - - -TRANSACTION_RESULT_TYPES = { - 'install': _('Installing'), - 'update': _('Updating'), - 'remove': _('Removing'), - 'downgrade': _('Downgrading'), - 'reinstall': _('Replacing') -} - -RPM_ACTIONS = { - 'update': _("Updating: %s"), - 'updated': _("Updated: %s"), - 'install': _("Installing: %s"), - 'reinstall': _("Reinstalling: %s"), - 'cleanup': _("Cleanup: %s"), - 'erase': _("Removing: %s"), - 'obsolete': _("Obsoleting: %s"), - 'downgrade': _("Downgrading: %s"), - 'verify': _("Verifying: %s"), - 'scriptlet': _("Running scriptlet for: %s") -} - -WIDGETS_INSENSITIVE = ["header_menu", "header_filters", - "header_search_options", "header_execute", "search"] - -FEDORA_REPOS = ['fedora', 'updates', 'updates-testing', 'rawhide'] - - -ADVISORY_TYPES = { - hawkey.ADVISORY_BUGFIX: _('Bugfix'), - hawkey.ADVISORY_UNKNOWN: _('New Package'), - hawkey.ADVISORY_SECURITY: _('Security'), - hawkey.ADVISORY_ENHANCEMENT: _('Enhancement') -} diff --git a/src/yumex/gui/__init__.py b/src/yumex/gui/__init__.py index aeb98ec..b134674 100644 --- a/src/yumex/gui/__init__.py +++ b/src/yumex/gui/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Yum Exteder (yumex) - A graphic package management tool -# Copyright (C) 2013 -2014 Tim Lauridsen < timlaufedoraprojectorg > +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > # # 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 @@ -16,3 +16,15 @@ # along with this program; if not, write to # the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import os.path + +from gi.repository import Gtk +import yumex.common.const as const + + +def load_ui(ui_file): + ui = Gtk.Builder() + ui.set_translation_domain("yumex-dnf") + ui.add_from_file(os.path.join(const.UI_DIR, ui_file)) + return ui diff --git a/src/yumex/gui/dialogs.py b/src/yumex/gui/dialogs.py deleted file mode 100644 index f9fbc65..0000000 --- a/src/yumex/gui/dialogs.py +++ /dev/null @@ -1,329 +0,0 @@ -# -*- coding: utf-8 -*- -# -*- coding: utf-8 -*- -# Yum Exteder (yumex) - A graphic package management tool -# Copyright (C) 2013 -2014 Tim Lauridsen < timlaufedoraprojectorg > -# -# 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 - - -from yumex import const -import yumex.gui.views -import yumex.misc -from yumex.misc import _, CONFIG -from gi.repository import GObject -from gi.repository import Gtk -import glob -import shutil -import os -import logging - - -logger = logging.getLogger('yumex.gui.dialogs') - - -class AboutDialog(Gtk.AboutDialog): - - def __init__(self, parent): - Gtk.AboutDialog.__init__(self) - self.props.program_name = 'Yum Extender (dnf)' - self.props.version = const.VERSION - self.props.authors = ['Tim Lauridsen '] - self.props.license_type = Gtk.License.GPL_2_0 - self.props.copyright = '(C) 2021 Tim Lauridsen' - self.props.website = 'https://github.com/timlau/yumex-dnf' - self.props.logo_icon_name = 'yumex-dnf' - self.set_transient_for(parent) - - -class Preferences: - - VALUES = ['update_interval', 'refresh_interval', 'installonly_limit'] - FLAGS = ['autostart', 'clean_unused', 'newest_only', - 'headerbar', 'auto_select_updates', 'repo_saved', 'clean_instonly', 'use_dark' - ] - - def __init__(self, base): - self.base = base - self.dialog = self.base.ui.get_object("preferences") - self.dialog.set_transient_for(base) - self.repo_view = yumex.gui.views.RepoView() - widget = self.base.ui.get_object('repo_sw') - widget.add(self.repo_view) - self.repos = [] - - def run(self): - self.get_settings() - self.dialog.show_all() - rc = self.dialog.run() - self.dialog.hide() - need_reset = False - if rc == 1: - need_reset = self.set_settings() - return need_reset - - def get_themes(self): - # Get Themes - pattern = os.path.normpath(os.path.join(const.THEME_DIR, '*.theme')) - theme_files = glob.glob(pattern) - theme_names = [os.path.basename(theme).split('.')[0] - for theme in theme_files] - widget = self.base.ui.get_object('pref_theme') - widget.remove_all() - default = CONFIG.conf.theme.split(".")[0] - i = 0 - ndx = 0 - for theme in sorted(theme_names): - widget.append_text(theme) - if theme == default: - ndx = i - i += 1 - widget.set_active(ndx) - - def get_settings(self): - # set boolean states - for option in Preferences.FLAGS: - logger.debug("%s : %s ", option, getattr(CONFIG.conf, option)) - widget = self.base.ui.get_object('pref_' + option) - widget.set_active(getattr(CONFIG.conf, option)) - # cleanup installonly handler - widget = self.base.ui.get_object('pref_clean_instonly') - widget.connect('notify::active', self.on_clean_instonly) - # Set value states - for name in Preferences.VALUES: - widget = self.base.ui.get_object('pref_' + name) - widget.set_value(getattr(CONFIG.conf, name)) - self.on_clean_instonly() - # get the repositories - self.base.infobar.message(_('Fetching repository information')) - self.repos = self.base.backend.get_repositories() - self.base.infobar.hide() - self.repo_view.populate(self.repos) - if CONFIG.conf.repo_saved: - self.repo_view.select_by_keys(CONFIG.session.enabled_repos) - # Get Themes - self.get_themes() - - def on_clean_instonly(self, *args): - """Handler for clean_instonly switch""" - widget = self.base.ui.get_object('pref_clean_instonly') - state = widget.get_active() - postfix = 'installonly_limit' - self._set_sensitive(postfix, state) - - def _set_sensitive(self, postfix, state): - for prefix in ['pref_', 'label_']: - id_ = prefix + postfix - if state: - self.base.ui.get_object(id_).set_sensitive(True) - else: - self.base.ui.get_object(id_).set_sensitive(False) - - def set_settings(self): - changed = False - need_reset = False - # handle boolean options - for option in Preferences.FLAGS: - widget = self.base.ui.get_object('pref_' + option) - state = widget.get_active() - if state != getattr(CONFIG.conf, option): # changed ?? - setattr(CONFIG.conf, option, state) - changed = True - self.handle_setting(option, state) - # handle value options - for name in Preferences.VALUES: - widget = self.base.ui.get_object('pref_' + name) - value = widget.get_value_as_int() - if value != getattr(CONFIG.conf, name): # changed ?? - setattr(CONFIG.conf, name, value) - changed = True - # handle repos - repo_before = CONFIG.session.enabled_repos - repo_now = self.repo_view.get_selected() - # repo selection changed - if repo_now != repo_before: - CONFIG.session.enabled_repos = repo_now # set the new selection - # we need to reset the gui - need_reset = True - if CONFIG.conf.repo_saved: - CONFIG.conf.repo_enabled = repo_now - changed = True - # Themes - widget = self.base.ui.get_object('pref_theme') - default = CONFIG.conf.theme.split(".")[0] - theme = widget.get_active_text() - if theme != default: - CONFIG.conf.theme = f'{theme}.theme' - self.base.load_custom_styling() - changed = True - if changed: - CONFIG.write() - return need_reset - - def handle_setting(self, option, state): - if option == 'autostart': - if state: # create an autostart .desktop for current user - if not os.path.isdir(const.AUTOSTART_DIR): - logger.info("creating autostart directory : %s", - const.AUTOSTART_DIR) - os.makedirs(const.AUTOSTART_DIR, 0o700) - shutil.copy(const.SYS_DESKTOP_FILE, const.USER_DESKTOP_FILE) - else: # remove the autostart file - if os.path.exists(const.USER_DESKTOP_FILE): - os.unlink(const.USER_DESKTOP_FILE) - - -class ErrorDialog: - - def __init__(self, base): - self.base = base - self.dialog = self.base.ui.get_object("error_dialog") - self.dialog.set_transient_for(base) - self._buffer = self.base.ui.get_object('error_buffer') - - def show(self, txt): - self._set_text(txt) - self.dialog.show_all() - rc = self.dialog.run() - self.dialog.hide() - self._buffer.set_text('') - return rc == 1 - - def _set_text(self, txt): - self._buffer.set_text(txt) - - -class TransactionResult: - - def __init__(self, base): - self.base = base - self.dialog = self.base.ui.get_object("transaction-results") - self.dialog.set_transient_for(base) - self.view = self.base.ui.get_object("result_view") - self.store = self.setup_view(self.view) - - def run(self): - self.dialog.show_all() - rc = self.dialog.run() - self.dialog.hide() - return rc == 1 - - def clear(self): - self.store.clear() - - def setup_view(self, view): - """ - Setup the TreeView - @param view: the TreeView widget - """ - model = Gtk.TreeStore(GObject.TYPE_STRING, GObject.TYPE_STRING, - GObject.TYPE_STRING, GObject.TYPE_STRING, - GObject.TYPE_STRING) - view.set_model(model) - self.create_text_column(_("Name"), view, 0, size=250) - self.create_text_column(_("Arch"), view, 1) - self.create_text_column(_("Ver"), view, 2) - self.create_text_column(_("Repository"), view, 3, size=100) - self.create_text_column(_("Size"), view, 4) - return model - - def create_text_column(self, hdr, view, colno, size=None): - """ - Create at TreeViewColumn - @param hdr: column header text - @param view: the TreeView widget - @param colno: the TreeStore column containing data for the column - @param size: the min column view (optional) - """ - cell = Gtk.CellRendererText() # Size Column - column = Gtk.TreeViewColumn(hdr, cell, markup=colno) - column.set_resizable(True) - if size: - column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) - column.set_fixed_width(size) - view.append_column(column) - - def populate(self, pkglist, dnl_size): - """ - Populate the TreeView with data - @param pkglist: list containing view data - @param dnl_size: - """ - model = self.store - self.store.clear() - total_size = 0 - for sub, lvl1 in pkglist: - label = "%s" % const.TRANSACTION_RESULT_TYPES[sub] - level1 = model.append(None, [label, "", "", "", ""]) - for pkgid, size, replaces in lvl1: - (n, e, v, r, a, repo_id) = str(pkgid).split(',') - level2 = model.append( - level1, [n, a, "%s.%s" % (v, r), repo_id, - yumex.misc.format_number(size)]) - # packages there need to be downloaded - if sub in ['install', 'update', 'install-deps', - 'update-deps', 'obsoletes']: - total_size += size - for r in replaces: - (n, e, v, r, a, repo_id) = str(r).split(',') - model.append(level2, [_("replacing {}").format(n), - a, "%s.%s" % (v, r), repo_id, - yumex.misc.format_number(size)]) - self.base.ui.get_object("result_size").set_text( - yumex.misc.format_number(total_size)) - self.view.expand_all() - - -def show_information(window, msg, add_msg=None): - dialog = Gtk.MessageDialog( - flags=0, message_type=Gtk.MessageType.INFO, - buttons=Gtk.ButtonsType.OK, text=msg) - if add_msg: - dialog.format_secondary_text(add_msg) - if window: - dialog.set_transient_for(window) - dialog.run() - dialog.destroy() - - -def yes_no_dialog(window, msg, add_msg=None): - dialog = Gtk.MessageDialog( - flags=0, message_type=Gtk.MessageType.INFO, - buttons=Gtk.ButtonsType.YES_NO, text=msg) - if add_msg: - dialog.format_secondary_text(add_msg) - if window: - dialog.set_transient_for(window) - rc = dialog.run() - dialog.destroy() - return rc == Gtk.ResponseType.YES - - -def ask_for_gpg_import(window, values): - (pkg_id, userid, hexkeyid, keyurl, timestamp) = values - pkg_name = pkg_id.split(',')[0] - msg = (_(' Do you want to import this GPG key\n' - ' needed to verify the %s package?\n\n' - ' Key : 0x%s:\n' - ' Userid : "%s"\n' - ' From : %s') % - (pkg_name, hexkeyid, userid, - keyurl.replace("file://", ""))) - - dialog = Gtk.MessageDialog( - window, 0, Gtk.MessageType.QUESTION, Gtk.ButtonsType.YES_NO, msg) - rc = dialog.run() - dialog.destroy() - return rc == Gtk.ResponseType.YES diff --git a/src/yumex/gui/dialogs/__init__.py b/src/yumex/gui/dialogs/__init__.py new file mode 100644 index 0000000..eeac7b2 --- /dev/null +++ b/src/yumex/gui/dialogs/__init__.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +import logging + +from gi.repository import Gtk +from yumex.common import _ + +logger = logging.getLogger("yumex.gui.dialogs") + + +def show_information(window, msg, add_msg=None): + dialog = Gtk.MessageDialog( + flags=0, message_type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.OK, text=msg + ) + if add_msg: + dialog.format_secondary_text(add_msg) + if window: + dialog.set_transient_for(window) + dialog.run() + dialog.destroy() + + +def yes_no_dialog(window, msg, add_msg=None): + dialog = Gtk.MessageDialog( + flags=0, + message_type=Gtk.MessageType.INFO, + buttons=Gtk.ButtonsType.YES_NO, + text=msg, + ) + if add_msg: + dialog.format_secondary_text(add_msg) + if window: + dialog.set_transient_for(window) + rc = dialog.run() + dialog.destroy() + return rc == Gtk.ResponseType.YES + + +def ask_for_gpg_import(window, values): + (pkg_id, userid, hexkeyid, keyurl, _timestamp) = values + pkg_name = pkg_id.split(",")[0] + msg = _( + " Do you want to import this GPG key\n" + " needed to verify the %s package?\n\n" + " Key : 0x%s:\n" + ' Userid : "%s"\n' + " From : %s" + ) % (pkg_name, hexkeyid, userid, keyurl.replace("file://", "")) + + dialog = Gtk.MessageDialog( + window, 0, Gtk.MessageType.QUESTION, Gtk.ButtonsType.YES_NO, msg + ) + rc = dialog.run() + dialog.destroy() + return rc == Gtk.ResponseType.YES diff --git a/src/yumex/gui/dialogs/aboutdialog.py b/src/yumex/gui/dialogs/aboutdialog.py new file mode 100644 index 0000000..088d3c0 --- /dev/null +++ b/src/yumex/gui/dialogs/aboutdialog.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# 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 + +from gi.repository import Gtk + +import yumex.common.const as const + + +class AboutDialog(Gtk.AboutDialog): + def __init__(self, parent): + Gtk.AboutDialog.__init__(self) + self.props.program_name = "Yum Extender (dnf)" + self.props.version = const.VERSION + self.props.authors = ["Tim Lauridsen "] + self.props.license_type = Gtk.License.GPL_2_0 + self.props.copyright = "(C) 2021 Tim Lauridsen" + self.props.website = "https://www.yumex.dk" + self.props.logo_icon_name = "yumex-dnf" + self.set_transient_for(parent) diff --git a/src/yumex/gui/dialogs/errordialog.py b/src/yumex/gui/dialogs/errordialog.py new file mode 100644 index 0000000..8825d2f --- /dev/null +++ b/src/yumex/gui/dialogs/errordialog.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# 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 + +from gi.repository import Gtk +from yumex.gui import load_ui + + +class ErrorDialog: + def __init__(self, base): + self.ui = load_ui("errordialog.ui") + self.dialog = self.ui.get_object("error_dialog") + self.dialog.set_transient_for(base) + self._buffer = self.ui.get_object("error_buffer") + + def show(self, txt): + self._set_text(txt) + self.dialog.show_all() + rc = self.dialog.run() + self.dialog.hide() + self._buffer.set_text("") + return rc == Gtk.ResponseType.CLOSE + + def _set_text(self, txt): + self._buffer.set_text(txt) diff --git a/src/yumex/gui/dialogs/preferences.py b/src/yumex/gui/dialogs/preferences.py new file mode 100644 index 0000000..914d4af --- /dev/null +++ b/src/yumex/gui/dialogs/preferences.py @@ -0,0 +1,171 @@ +import glob +import logging +import os +import shutil + +from gi.repository import Gtk +import yumex.common.const as const +from yumex.common import CONFIG, _ +from yumex.gui import load_ui +from yumex.gui.views.repoview import RepoView + +logger = logging.getLogger("yumex.gui.preffernces") + + +class Preferences: + + VALUES = ["update_interval", "refresh_interval", "installonly_limit"] + FLAGS = [ + "autostart", + "clean_unused", + "newest_only", + "headerbar", + "auto_select_updates", + "repo_saved", + "clean_instonly", + "use_dark", + "search_visible", + "show_splash", + ] + + def __init__(self, base): + self.base = base + self.ui = load_ui("preferences.ui") + self.dialog = self.ui.get_object("preferences") + self.dialog.set_transient_for(base) + self.repo_view = RepoView() + widget = self.ui.get_object("repo_sw") + widget.add(self.repo_view) + self.repo_box = self.ui.get_object("box_repos") + # track when repo page is active in stack + self.repo_box.connect("map", self.on_repo_page_active) + self.repos = [] + + def run(self): + self.get_settings() + self.dialog.show_all() + rc = self.dialog.run() + self.dialog.hide() + need_reset = False + if rc == Gtk.ResponseType.OK: + need_reset = self.set_settings() + return need_reset + + def on_repo_page_active(self, *_args): + """Callback for ::map event there is called when repo page is active""" + if not self.repos: + self._load_repositories() + + def _load_repositories(self): + """Lazy load repositories""" + # get the repositories + self.base.set_working(True, splash=True) + self.base.infobar.message(_("Fetching repository information")) + self.repos = self.base.backend.get_repositories() + self.base.infobar.hide() + self.repo_view.populate(self.repos) + self.base.set_working(False, splash=True) + if CONFIG.conf.repo_saved: + self.repo_view.select_by_keys(CONFIG.session.enabled_repos) + + def get_themes(self): + # Get Themes + pattern = os.path.normpath(os.path.join(const.THEME_DIR, "*.theme")) + theme_files = glob.glob(pattern) + theme_names = [os.path.basename(theme).split(".")[0] for theme in theme_files] + widget = self.ui.get_object("pref_theme") + widget.remove_all() + default = CONFIG.conf.theme.split(".")[0] + i = 0 + ndx = 0 + for theme in sorted(theme_names): + widget.append_text(theme) + if theme == default: + ndx = i + i += 1 + widget.set_active(ndx) + + def get_settings(self): + # set boolean states + for option in Preferences.FLAGS: + logger.debug(f"{option} : {getattr(CONFIG.conf, option)}") + widget = self.ui.get_object("pref_" + option) + widget.set_active(getattr(CONFIG.conf, option)) + # cleanup installonly handler + widget = self.ui.get_object("pref_clean_instonly") + widget.connect("notify::active", self.on_clean_instonly) + # Set value states + for name in Preferences.VALUES: + widget = self.ui.get_object("pref_" + name) + widget.set_value(getattr(CONFIG.conf, name)) + self.on_clean_instonly() + # Get Themes + self.get_themes() + + def on_clean_instonly(self, *_args): + """Handler for clean_instonly switch""" + widget = self.ui.get_object("pref_clean_instonly") + state = widget.get_active() + postfix = "installonly_limit" + self._set_sensitive(postfix, state) + + def _set_sensitive(self, postfix, state): + for prefix in ["pref_", "label_"]: + id_ = prefix + postfix + if state: + self.ui.get_object(id_).set_sensitive(True) + else: + self.ui.get_object(id_).set_sensitive(False) + + def set_settings(self): + changed = False + need_reset = False + # handle boolean options + for option in Preferences.FLAGS: + widget = self.ui.get_object("pref_" + option) + state = widget.get_active() + if state != getattr(CONFIG.conf, option): # changed ?? + setattr(CONFIG.conf, option, state) + changed = True + self.handle_setting(option, state) + # handle value options + for name in Preferences.VALUES: + widget = self.ui.get_object("pref_" + name) + value = widget.get_value_as_int() + if value != getattr(CONFIG.conf, name): # changed ?? + setattr(CONFIG.conf, name, value) + changed = True + # handle repos, if the repositories has been loaded + if self.repos: + repo_before = CONFIG.session.enabled_repos + repo_now = self.repo_view.get_selected() + # repo selection changed + if repo_now != repo_before: + CONFIG.session.enabled_repos = repo_now # set the new selection + # we need to reset the gui + need_reset = True + if CONFIG.conf.repo_saved: + CONFIG.conf.repo_enabled = repo_now + changed = True + # Themes + widget = self.ui.get_object("pref_theme") + default = CONFIG.conf.theme.split(".")[0] + theme = widget.get_active_text() + if theme != default: + CONFIG.conf.theme = f"{theme}.theme" + self.base.load_custom_styling() + changed = True + if changed: + CONFIG.write() + return need_reset + + def handle_setting(self, option, state): + if option == "autostart": + if state: # create an autostart .desktop for current user + if not os.path.isdir(const.AUTOSTART_DIR): + logger.info(f"creating autostart directory : {const.AUTOSTART_DIR}") + os.makedirs(const.AUTOSTART_DIR, 0o700) + shutil.copy(const.SYS_DESKTOP_FILE, const.USER_DESKTOP_FILE) + else: # remove the autostart file + if os.path.exists(const.USER_DESKTOP_FILE): + os.unlink(const.USER_DESKTOP_FILE) diff --git a/src/yumex/gui/dialogs/progresssplash.py b/src/yumex/gui/dialogs/progresssplash.py new file mode 100644 index 0000000..01accfd --- /dev/null +++ b/src/yumex/gui/dialogs/progresssplash.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import yumex.common.const as const +from yumex.gui import load_ui + + +class ProgressSplash: + def __init__(self, base): + self.base = base + self.ui = load_ui("progresssplash.ui") + self.win = self.ui.get_object("win_working") + pix = self.ui.get_object("work_pix") + pix_file = f"{const.PIX_DIR}/progress.gif" + pix.set_from_file(pix_file) + self.label = self.ui.get_object("work_label") + self.sublabel = self.ui.get_object("work_sublabel") + self.win.set_transient_for(self.base) + + def show(self): + self.win.show() + + def hide(self): + self.win.hide() + + def set_label(self, text): + self.label.set_text(text) + + def set_sublabel(self, text): + self.sublabel.set_text(text) diff --git a/src/yumex/gui/dialogs/transactionresult.py b/src/yumex/gui/dialogs/transactionresult.py new file mode 100644 index 0000000..ca0ea9b --- /dev/null +++ b/src/yumex/gui/dialogs/transactionresult.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# 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 + +from gi.repository import Gtk, GObject +import yumex.common.const as const +from yumex.common import _, format_number +from yumex.gui import load_ui + + +class TransactionResult: + def __init__(self, base): + self.base = base + self.ui = load_ui("transactionresult.ui") + self.dialog = self.ui.get_object("transaction-results") + self.dialog.set_transient_for(base) + self.view = self.ui.get_object("result_view") + self.store = self.setup_view(self.view) + + def run(self): + self.dialog.show_all() + rc = self.dialog.run() + self.dialog.hide() + return rc == Gtk.ResponseType.OK + + def clear(self): + self.store.clear() + + def setup_view(self, view): + """ + Setup the TreeView + @param view: the TreeView widget + """ + model = Gtk.TreeStore( + GObject.TYPE_STRING, + GObject.TYPE_STRING, + GObject.TYPE_STRING, + GObject.TYPE_STRING, + GObject.TYPE_STRING, + ) + view.set_model(model) + self.create_text_column(_("Name"), view, 0, size=250) + self.create_text_column(_("Arch"), view, 1) + self.create_text_column(_("Ver"), view, 2) + self.create_text_column(_("Repository"), view, 3, size=100) + self.create_text_column(_("Size"), view, 4) + return model + + def create_text_column(self, hdr, view, colno, size=None): + """ + Create at TreeViewColumn + @param hdr: column header text + @param view: the TreeView widget + @param colno: the TreeStore column containing data for the column + @param size: the min column view (optional) + """ + cell = Gtk.CellRendererText() # Size Column + column = Gtk.TreeViewColumn(hdr, cell, markup=colno) + column.set_resizable(True) + if size: + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + column.set_fixed_width(size) + view.append_column(column) + + def populate(self, pkglist, dnl_size): + """ + Populate the TreeView with data + @param pkglist: list containing view data + @param dnl_size: + """ + model = self.store + self.store.clear() + total_size = 0 + for sub, lvl1 in pkglist: + label = f"{const.TRANSACTION_RESULT_TYPES[sub]}" + level1 = model.append(None, [label, "", "", "", ""]) + for pkgid, size, replaces in lvl1: + (n, _, v, r, a, repo_id) = str(pkgid).split(",") + level2 = model.append( + level1, [n, a, f"{v}.{r}", repo_id, format_number(size)] + ) + # packages there need to be downloaded + if sub in [ + "install", + "update", + "install-deps", + "update-deps", + "obsoletes", + ]: + total_size += size + for r in replaces: + (n, _, v, r, a, repo_id) = str(r).split(",") + model.append( + level2, + [ + _(f"replacing {n}"), + a, + f"{v}.{r}", + repo_id, + format_number(size), + ], + ) + self.ui.get_object("result_size").set_text(format_number(total_size)) + self.view.expand_all() diff --git a/src/yumex/gui/views.py b/src/yumex/gui/views.py deleted file mode 100644 index c82df6e..0000000 --- a/src/yumex/gui/views.py +++ /dev/null @@ -1,1314 +0,0 @@ -# -*- coding: utf-8 -*- -# Yum Exteder (yumex) - A graphic package management tool -# Copyright (C) 2013 -2014 Tim Lauridsen < timlaufedoraprojectorg > -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to -# the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -import logging -import os -from gi.repository import Gtk -from gi.repository import Gdk -from gi.repository import GdkPixbuf -from gi.repository import GObject -import yumex.misc as misc -from yumex.misc import _, ngettext, CONFIG, doGtkEvents, TimeFunction -from yumex import const - - -logger = logging.getLogger('yumex.gui.views') - - -class SelectionView(Gtk.TreeView): - """ - A Base view with an selection column - """ - - def __init__(self): - """ - init the view - """ - Gtk.TreeView.__init__(self) - self.store = None - - def create_text_column_num(self, hdr, colno, resize=True, size=None, - markup=False): - """ - Create a TreeViewColumn with data from a TreeStore column - @param hdr: column header text - @param colno: TreeStore column to get the data from - @param resize: is resizable - @param size: - @param markup: - """ - cell = Gtk.CellRendererText() - if markup: - column = Gtk.TreeViewColumn(hdr, cell, markup=colno) - else: - column = Gtk.TreeViewColumn(hdr, cell, text=colno) - column.set_resizable(resize) - if size: - column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) - column.set_fixed_width(size) - self.append_column(column) - return column - - def create_text_column(self, hdr, prop, size, sortcol=None, - click_handler=None, tooltip=None): - """ - Create a TreeViewColumn with text and set - the sorting properties and add it to the view - """ - cell = Gtk.CellRendererText() # Size Column - column = Gtk.TreeViewColumn(hdr, cell) - column.set_resizable(True) - column.set_cell_data_func(cell, self.get_data_text, prop) - column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) - column.set_fixed_width(size) - if sortcol: - column.set_sort_column_id(sortcol) - # column.set_sort_indicator(True) - # column.set_sort_order(Gtk.Gtk.SortType.ASCENDING) - else: - column.set_sort_column_id(-1) - self.append_column(column) - if click_handler: - column.set_clickable(True) - label = Gtk.Label(label=hdr) - label.show() - column.set_widget(label) - widget = column.get_button() - while not isinstance(widget, Gtk.Button): - widget = widget.get_parent() - widget.connect('button-release-event', click_handler) - if tooltip: - widget.set_tooltip_text(tooltip) - - return column - - def create_selection_colunm(self, attr, click_handler=None, - popup_handler=None, tooltip=None, icon=None): - """Create an selection column, there get data via property function - and a key attr - """ - # Setup a selection column using a object attribute - cell1 = Gtk.CellRendererToggle() # Selection - cell1.set_property('activatable', True) - column1 = Gtk.TreeViewColumn("", cell1) - column1.set_cell_data_func(cell1, self.get_data_bool, attr) - column1.set_sizing(Gtk.TreeViewColumnSizing.FIXED) - column1.set_sort_column_id(-1) - self.append_column(column1) - cell1.connect("toggled", self.on_toggled) - column1.set_clickable(True) - if click_handler: - column1.connect('clicked', click_handler) - label = Gtk.Label(label="+") - label.show() - column1.set_widget(label) - if popup_handler: - widget = column1.get_widget() - while not isinstance(widget, Gtk.Button): - widget = widget.get_parent() - widget.connect('button-release-event', popup_handler) - if icon: - image = Gtk.Image.new_from_icon_name(icon, Gtk.IconSize.MENU) - widget.set_image(image) - if tooltip: - widget.set_tooltip_text(tooltip) - - def create_selection_column_num(self, num, data_func=None, tooltip=None): - """ - Create an selection column, there get data an TreeStore Column - @param num: TreeStore column to get data from - @param data_func: - @param tooltip: - """ - # Setup a selection column using a column num - - column = Gtk.TreeViewColumn(None, None) - # Selection checkbox - selection = Gtk.CellRendererToggle() # Selection - selection.set_property('activatable', True) - column.pack_start(selection, False) - if data_func: - column.set_cell_data_func(selection, data_func) - else: - column.add_attribute(selection, "active", num) - column.set_resizable(True) - column.set_sort_column_id(-1) - self.append_column(column) - selection.connect("toggled", self.on_toggled) - if tooltip: - label = Gtk.Label(label="") - label.show() - column.set_widget(label) - widget = column.get_widget() - while not isinstance(widget, Gtk.Button): - widget = widget.get_parent() - widget.set_tooltip_text(tooltip) - - return column - - def create_selection_text_column(self, hdr, select_func, text_attr, - size=200): - """ - Create an selection column, there get data an TreeStore Column - """ - # Setup a selection column using a column num - - column = Gtk.TreeViewColumn(hdr, None) - # Selection checkbox - selection = Gtk.CellRendererToggle() # Selection - selection.set_property('activatable', True) - selection.connect("toggled", self.on_toggled) - column.pack_start(selection, False) - column.set_cell_data_func(selection, select_func) - text = Gtk.CellRendererText() - column.pack_start(text, False) - column.set_cell_data_func(text, self.get_data_text, text_attr) - column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) - column.set_fixed_width(size) - column.set_sort_column_id(-1) - self.append_column(column) - return column - - def get_data_text(self, column, cell, model, iterator, prop): - """property function to get string data from a object in - the TreeStore based on an attributes key - """ - obj = model.get_value(iterator, 0) - if obj: - cell.set_property('text', getattr(obj, prop)) - cell.set_property('foreground-rgba', obj.color) - - def get_data_bool(self, column, cell, model, iterator, prop): - """Property function to get boolean data from a object in - the TreeStore based on an attributes key - """ - obj = model.get_value(iterator, 0) - cell.set_property("visible", True) - if obj: - cell.set_property("active", getattr(obj, prop)) - - def on_toggled(self, widget, path): - """ - selection togged handler - overload in child class - """ - pass - - -class PackageView(SelectionView): - __gsignals__ = {'pkg-changed': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_PYOBJECT,)) - } - - def __init__(self, qview, group_mode=False): - self.logger = logging.getLogger('yumex.PackageView') - SelectionView.__init__(self) - self.set_name('YumexPackageView') - self.group_mode = group_mode - self._click_header_state = "" - self.queue = qview.queue - self.queueView = qview - self.store = self._setup_model() - self.connect('cursor-changed', self.on_cursor_changed) - self.connect('button-press-event', self.on_mouse_button) - self.connect('key_press_event', self._on_key_press) - self.state = 'normal' - self._last_selected = [] - self.popup = None - if self.group_mode: - self._click_header_active = True - else: - self._click_header_active = False - - def _setup_model(self): - """ - Setup the model and view - """ - store = Gtk.ListStore(GObject.TYPE_PYOBJECT, str) - self.set_model(store) - if self.group_mode: - self.create_selection_colunm( - 'selected', - click_handler=self.on_section_header_clicked_group, - popup_handler=self.on_section_header_button, - tooltip=_("Click to install all/remove all")) - else: - self.create_selection_colunm( - 'selected', - click_handler=self.on_section_header_clicked, - popup_handler=self.on_section_header_button, - tooltip=_("Click to select/deselect all")) - # Setup resent column - cell2 = Gtk.CellRendererPixbuf() # new - cell2.set_property('icon-name', 'list-add-symbolic') - column2 = Gtk.TreeViewColumn("", cell2) - column2.set_cell_data_func(cell2, self.new_pixbuf) - column2.set_sizing(Gtk.TreeViewColumnSizing.FIXED) - column2.set_fixed_width(20) - column2.set_sort_column_id(-1) - self.append_column(column2) - column2.set_clickable(True) - - self.create_text_column(_("Package"), 'name', size=200) - - self.create_text_column(_("Ver."), 'fullver', size=120) - self.create_text_column(_("Arch."), 'arch', size=60) - self.create_text_column(_("Summary"), 'summary', size=400) - self.create_text_column(_("Repo."), 'repository', size=90) - self.create_text_column(_("Size"), 'sizeM', size=90) - self.set_search_column(1) - self.set_enable_search(True) - # store.set_sort_column_id(1, Gtk.Gtk.SortType.ASCENDING) - self.set_reorderable(False) - self.set_fixed_height_mode(True) - return store - - def _on_key_press(self, widget, event): - modifiers = Gtk.accelerator_get_default_mod_mask() - event_and_modifiers = (event.state & modifiers) - - if event_and_modifiers != 0: - # Select All on Ctrl + A - if (event.keyval == Gdk.KEY_a and - event_and_modifiers == Gdk.ModifierType.CONTROL_MASK): - self.on_section_header_clicked(widget) - - def on_section_header_button(self, button, event): - if event.button == 3: # Right click - print("Right Click on selection column header") - - def on_mouse_button(self, button, event): - """Handle mouse click in view.""" - if event.button == 3: # Right Click - x = int(event.x) - y = int(event.y) - pthinfo = self.get_path_at_pos(x, y) - if pthinfo is not None: - path, col, cellx, celly = pthinfo - self.grab_focus() - self.set_cursor(path, col, 0) - iterator = self.store.get_iter(path) - pkg = self.store.get_value(iterator, 0) - print("rc pkg:", str(pkg)) - # Only open popup menu for installed packages - if not pkg.installed or pkg.queued: - return - self.popup = self._get_package_popup(pkg, path) - self.popup.popup(None, None, None, None, - event.button, event.time) - return True - else: - return False - - def _get_package_popup(self, pkg, path): - """ Create a right click menu, for a given package.""" - # get available downgrades - popup = Gtk.Menu() - mi = Gtk.MenuItem(_("Reinstall Package")) - mi.connect('activate', self.on_package_reinstall, pkg) - popup.add(mi) - # Show downgrade menu only if there is any avaliable downgrades - do_pkgs = pkg.downgrades - if do_pkgs: - print(do_pkgs) - popup_sub = Gtk.Menu() - for do_pkg in do_pkgs: - mi = Gtk.MenuItem(str(do_pkg)) - mi.set_use_underline(False) - mi.connect('button-press-event', - self.on_package_downgrade, pkg, do_pkg) - popup_sub.add(mi) - popup_sub.show_all() - mi = Gtk.MenuItem(_("Downgrade Package")) - mi.set_submenu(popup_sub) - popup.add(mi) - popup.show_all() - return popup - - def on_package_reinstall(self, widget, pkg): - """Handler for package right click menu""" - logger.debug('reinstall: %s ', str(pkg)) - pkg.queued = 'ri' - pkg.selected = True - self.queue.add(pkg, 'ri') - self.queueView.refresh() - self.queue_draw() - - def on_package_downgrade(self, widget, event, pkg, do_pkg): - """Downgrade package right click menu handler""" - if event.button == 1: # Left Click - logger.debug('downgrade to : %s ', str(do_pkg)) - pkg.queued = 'do' - pkg.selected = True - pkg.downgrade_po = do_pkg - do_pkg.queued = 'do' - do_pkg.selected = True - do_pkg.downgrade_po = pkg - self.queue.add(do_pkg, 'do') - self.queueView.refresh() - self.queue_draw() - - def on_section_header_clicked(self, widget): - """ Selection column header clicked""" - if self.state == 'normal': # deselect all - self._last_selected = self.get_selected() - self.select_all() - self.state = 'selected' - elif self.state == 'selected': # select all - self.state = 'deselected' - self.deselect_all() - elif self.state == 'deselected': # select previous selected - self.state = 'normal' - self.select_by_keys(self._last_selected) - self._last_selected = [] - - def on_section_header_clicked_group(self, widget): - """ Selection column header clicked""" - if self.state == 'normal': # deselect all - self._last_selected = self.get_selected() - self.install_all() - self.state = 'install-all' - elif self.state == 'install-all': # select all - self.state = 'remove-all' - self.deselect_all() - self.remove_all() - elif self.state == 'remove-all': # select previous selected - self.state = 'normal' - self.select_by_keys(self._last_selected) - self._last_selected = [] - - def on_cursor_changed(self, widget): - """ - a new group is selected in group view - """ - if widget.get_selection(): - (model, iterator) = widget.get_selection().get_selected() - if model is not None and iterator is not None: - pkg = model.get_value(iterator, 0) - self.emit('pkg-changed', pkg) # send the group-changed signal - - def set_header_click(self, state): - self._click_header_active = state - self._click_header_state = "" - - def select_all(self): - """ - Select all packages in the view - """ - for el in self.store: - obj = el[0] - if not obj.queued == obj.action: - obj.queued = obj.action - self.queue.add(obj) - obj.set_select(not obj.selected) - self.queueView.refresh() - self.queue_draw() - - def deselect_all(self): - """ - Deselect all packages in the view - """ - for el in self.store: - obj = el[0] - if obj.queued == obj.action: - obj.queued = None - self.queue.remove(obj) - obj.set_select(not obj.selected) - self.queueView.refresh() - self.queue_draw() - - def select_by_keys(self, keys): - iterator = self.store.get_iter_first() - while iterator is not None: - obj = self.store.get_value(iterator, 0) - if obj in keys and not obj.selected: - obj.queued = obj.action - self.queue.add(obj) - obj.set_select(True) - elif obj.selected: - obj.queued = None - self.queue.remove(obj) - obj.set_select(False) - iterator = self.store.iter_next(iterator) - self.queueView.refresh() - self.queue_draw() - - def get_selected(self): - selected = [] - for el in self.store: - obj = el[0] - if obj.selected: - selected.append(obj) - return selected - - def get_notselected(self): - notselected = [] - for el in self.store: - obj = el[0] - if not obj.queued == obj.action: - notselected.append(obj) - return notselected - - def new_pixbuf(self, column, cell, model, iterator, data): - """ - Cell Data function for recent Column, shows pixmap - if recent Value is True. - """ - pkg = model.get_value(iterator, 0) - if pkg: - action = pkg.queued - if action: - if action in ('u', 'i', 'o'): - icon = 'emblem-downloads' - elif action == 'ri': - icon = 'gtk-refresh' - elif action == 'do': - icon = 'gtk-go-down' - else: - icon = 'edit-delete' - cell.set_property('visible', True) - cell.set_property('icon-name', icon) - else: - cell.set_property('visible', pkg.recent) - cell.set_property('icon-name', 'document-new') - else: - cell.set_property('visible', False) - - @TimeFunction - def populate(self, pkgs): - self.freeze_child_notify() - self.set_model(None) - self.store.clear() - self.set_model(self.store) - if pkgs: - i = 0 - for po in sorted(pkgs, key=lambda po: po.name): - i += 1 - if i % 500: # Handle Gtk event, so gui dont freeze - doGtkEvents() - self.store.append([po, str(po)]) - self.thaw_child_notify() - # reset the selection column header selection state - self.state = 'normal' - self._last_selected = [] - - def on_toggled(self, widget, path): - """ Package selection handler """ - iterator = self.store.get_iter(path) - obj = self.store.get_value(iterator, 0) - self.togglePackage(obj) - self.queueView.refresh() - - def togglePackage(self, obj): - """ - Toggle the package queue status - @param obj: - """ - if obj.action == 'do' or obj.queued == 'do': - self._toggle_downgrade(obj) - else: - if obj.queued == obj.action: - obj.queued = None - self.queue.remove(obj) - obj.selected = not obj.selected - elif not self.queue.has_pkg_with_name_arch(obj): - obj.queued = obj.action - self.queue.add(obj) - obj.selected = not obj.selected - - def _toggle_downgrade(self, obj): - if obj.queued == 'do': # all-ready queued - related_po = obj.downgrade_po - if obj.installed: # is obj the installed pkg ? - self.queue.remove(related_po, 'do') - else: - self.queue.remove(obj, 'do') - obj.queued = None - obj.selected = False - related_po.queued = None - related_po.selected = False - # the releated package - else: - pkgs = obj.downgrades # get the installed po - if pkgs: - # downgrade the po - pkg = pkgs[0] - # Installed pkg is all-ready downgraded by another package - if pkg.action == 'do' or \ - self.queue.has_pkg_with_name_arch(pkg): - return - pkg.queued = 'do' - pkg.selected = True - pkg.downgrade_po = obj - obj.queued = 'do' - obj.selected = True - obj.downgrade_po = pkg - self.queue.add(obj, 'do') - self.queueView.refresh() - self.queue_draw() - - def install_all(self): - """ - Select all packages in the view - """ - for el in self.store: - obj = el[0] - if not obj.queued == obj.action and obj.action == 'i': - obj.queued = obj.action - self.queue.add(obj) - obj.set_select(not obj.selected) - self.queueView.refresh() - self.queue_draw() - - def remove_all(self): - """ - Select all packages in the view - """ - for el in self.store: - obj = el[0] - if not obj.queued == obj.action and obj.action == 'r': - obj.queued = obj.action - self.queue.add(obj) - obj.set_select(not obj.selected) - self.queueView.refresh() - self.queue_draw() - - -class PackageQueue: - """ - A Queue class to store selected packages/groups and the pending actions - """ - - def __init__(self): - self.packages = {} - self._setup_packages() - self.groups = {'i': {}, 'r': {}} - self._name_arch_index = {} - - def _setup_packages(self): - for key in const.QUEUE_PACKAGE_TYPES: - self.packages[key] = [] - - def clear(self): - del self.packages - self.packages = {} - self._setup_packages() - self.groups = {'i': {}, 'r': {}} - self._name_arch_index = {} - - def get(self, action=None): - if action is None: - return self.packages - else: - return self.packages[action] - - def total(self): - num = 0 - for key in const.QUEUE_PACKAGE_TYPES: - num += len(self.packages[key]) - num += len(self.groups['i'].keys()) - num += len(self.groups['r'].keys()) - return num - - def add(self, pkg, action=None): - """Add a package to queue""" - if not action: - action = pkg.action - na = "%s.%s" % (pkg.name, pkg.arch) - if pkg not in self.packages[action] and \ - na not in self._name_arch_index: - self.packages[action].append(pkg) - na = "%s.%s" % (pkg.name, pkg.arch) - self._name_arch_index[na] = 1 - - def remove(self, pkg, action=None): - """Remove package from queue""" - if not action: - action = pkg.action - na = "%s.%s" % (pkg.name, pkg.arch) - if pkg in self.packages[action]: - self.packages[action].remove(pkg) - del self._name_arch_index[na] - - def has_pkg_with_name_arch(self, pkg): - na = "%s.%s" % (pkg.name, pkg.arch) - return na in self._name_arch_index - - def add_group(self, grp, action): - """ - - @param grp: Group object - @param action: - """ - logger.debug('add_group : %s - %s', grp.id, action) - grps = self.groups[action] - if grp.id not in grps: - grps[grp.id] = grp - grp.selected = True - - def remove_group(self, grp, action): - """ - - @param grp: Group object - @param action: - """ - logger.debug('removeGroup : %s - %s', grp.id, action) - grps = self.groups[action] - if grp.id in grps: - del grps[grp.id] - grp.selected = False - - def remove_all_groups(self): - """ - remove all groups from queue - """ - for action in ('i', 'r'): - for grp in self.groups[action]: - self.remove_group(grp, action) - - def remove_groups(self, group_names): - """ - remove groups from queue based on list of grp_ids - """ - for action in ('i', 'r'): - new_dict = {} - grps = self.groups[action] - for grp in grps.values(): - if grp.name not in group_names: - new_dict[grp.id] = grp # copy to new dict - else: # unselect the group object - grp.selected = False - self.groups[action] = new_dict - - def has_group(self, grp_id): - """ check if group is in package queue """ - for action in ['i', 'r']: - grps = self.groups[action] - if grp_id in grps: - return action - return None - - def get_groups(self): - """ get (grp_id, action) generator""" - for action in ('i', 'r'): - for grp in self.groups[action].values(): - yield grp.id, action - - -class QueueView(Gtk.TreeView): - __gsignals__ = {'queue-refresh': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_INT,))} - - def __init__(self, queue_menu): - Gtk.TreeView.__init__(self) - self.store = self._setup_model() - self.queue = PackageQueue() - self.queue_menu = queue_menu - self.connect('button-press-event', - self.on_QueueView_button_press_event) - remove_menu = self.queue_menu.get_children()[ - 0] # get the first child (remove menu) - remove_menu.connect('activate', self.deleteSelected) - - def _setup_model(self): - """ - Setup the model and view - """ - model = Gtk.TreeStore(GObject.TYPE_STRING, GObject.TYPE_STRING) - self.set_model(model) - cell1 = Gtk.CellRendererText() - column1 = Gtk.TreeViewColumn(_("Packages"), cell1, markup=0) - column1.set_resizable(True) - self.append_column(column1) - - cell2 = Gtk.CellRendererText() - column2 = Gtk.TreeViewColumn(_("Summary"), cell2, text=1) - column2.set_resizable(True) - self.append_column(column2) - model.set_sort_column_id(0, Gtk.SortType.ASCENDING) - self.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE) - return model - - def deleteSelected(self, widget=None): - rmvlist = [] - model, paths = self.get_selection().get_selected_rows() - for path in paths: - row = model[path] - if row.parent is not None: - rmvlist.append(row[0]) - for pkg in self.filter_pkgs_from_list(rmvlist): - self.queue.remove(pkg) - if pkg.queued == "do" and pkg.installed: - pkg.downgrade_po.queued = None - pkg.downgrade_po.set_select(not pkg.selected) - pkg.action = "r" # reset action type of installed package - pkg.queued = None - pkg.set_select(not pkg.selected) - self.queue.remove_groups(rmvlist) - self.refresh() - - def on_QueueView_button_press_event(self, treeview, event): - """ - Mouse button clicked in package view handler - :param treeview: - :param event: - """ - if event.button == 3: # Right Click - popup = self.queue_menu - popup.popup(None, None, None, None, event.button, event.time) - return True - - def filter_pkgs_from_list(self, rlist): - """ - return packages in queue where str(pkg) is in a list - @param rlist: - """ - rclist = [] - for action in const.QUEUE_PACKAGE_TYPES: - pkg_list = self.queue.packages[action] - if pkg_list: - rclist.extend([x for x in pkg_list if str(x) in rlist]) - return rclist - - def refresh(self): - """ Populate view with data from queue """ - self.store.clear() - pkg_list = self.queue.packages['u'] + self.queue.packages['o'] - label = "%s" % ngettext( - "Package to update", "Packages to update", len(pkg_list)) - if len(pkg_list) > 0: - self.populate_list(label, pkg_list) - pkg_list = self.queue.packages['i'] - label = "%s" % ngettext( - "Package to install", "Packages to install", len(pkg_list)) - if len(pkg_list) > 0: - self.populate_list(label, pkg_list) - pkg_list = self.queue.packages['r'] - label = "%s" % ngettext( - "Package to remove", "Packages to remove", len(pkg_list)) - if len(pkg_list) > 0: - self.populate_list(label, pkg_list) - pkg_list = self.queue.packages['ri'] - label = "%s" % ngettext( - "Package to reinstall", "Packages to reinstall", len(pkg_list)) - if len(pkg_list) > 0: - self.populate_list(label, pkg_list) - pkg_list = self.queue.packages['li'] - label = "%s" % ngettext( - "RPM file to install", "RPM files to install", len(pkg_list)) - if len(pkg_list) > 0: - self.populate_list(label, pkg_list) - grps = self.queue.groups['i'] - label = "%s" % ngettext( - "Group to install", "Groups to install", len(pkg_list)) - if len(grps) > 0: - self.populate_group_list(label, grps) - grps = self.queue.groups['r'] - label = "%s" % ngettext( - "Group to remove", "Groups to remove", len(pkg_list)) - if len(grps) > 0: - self.populate_group_list(label, grps) - self.populate_list_downgrade() - self.expand_all() - self.emit('queue-refresh', self.queue.total()) - - def populate_list(self, label, pkg_list): - parent = self.store.append(None, [label, ""]) - for pkg in pkg_list: - self.store.append(parent, [str(pkg), pkg.summary]) - - def populate_group_list(self, label, grps): - parent = self.store.append(None, [label, ""]) - for grp in grps.values(): - self.store.append(parent, [grp.name, grp.description]) - - def populate_list_downgrade(self): - pkg_list = self.queue.packages['do'] - label = "%s" % ngettext( - "Package to downgrade", "Packages to downgrade", len(pkg_list)) - if len(pkg_list) > 0: - parent = self.store.append(None, [label, ""]) - for pkg in pkg_list: - item = self.store.append(parent, - [str(pkg.downgrade_po), pkg.summary]) - self.store.append( - item, [_("Downgrade to %s ") % - str(pkg), ""]) - - -class HistoryView(Gtk.TreeView): - """ History View Class""" - - def __init__(self, base): - Gtk.TreeView.__init__(self) - self.model = self.setup_view() - self.base = base - self.pkg_view = HistoryPackageView(self.base) - self.connect('cursor-changed', self.on_cursor_changed) - self.is_populated = False - - def setup_view(self): - """ Create Notebook list for single page """ - model = Gtk.TreeStore(str, int) - self.set_model(model) - cell1 = Gtk.CellRendererText() - column1 = Gtk.TreeViewColumn(_("History (Date/Time)"), cell1, markup=0) - column1.set_resizable(False) - column1.set_fixed_width(200) - self.append_column(column1) - model.set_sort_column_id(0, Gtk.SortType.DESCENDING) - return model - - def reset(self): - self.model.clear() - self.is_populated = False - self.pkg_view.reset() - - def populate(self, data): - self.pkg_view.reset() - self.model.clear() - main = {} - for tid, dt in data: - da, t = dt.split('T') - y, m, d = da.split('-') - # year - if y not in main: - ycat = self.model.append(None, [y, -1]) - main[y] = (ycat, {}) - ycat, mdict = main[y] - # month - if m not in mdict: - mcat = self.model.append(ycat, [m, -1]) - mdict[m] = (mcat, {}) - mcat, ddict = mdict[m] - # day - if d not in ddict: - dcat = self.model.append(mcat, [d, -1]) - ddict[d] = dcat - dcat = ddict[d] - self.model.append(dcat, [t, tid]) - self.collapse_all() - path = Gtk.TreePath.new_from_string("0:0:0:0") - self.expand_to_path(path) - self.get_selection().select_path(path) - self.on_cursor_changed(self) - self.is_populated = True - - def on_cursor_changed(self, widget): - """ - a new History element is selected in history view - """ - if widget.get_selection(): - (model, iterator) = widget.get_selection().get_selected() - if model is not None and iterator is not None: - tid = model.get_value(iterator, 1) - if tid != -1: - pkgs = self.base.get_root_backend().GetHistoryPackages(tid) - self.pkg_view.populate(pkgs) - - def get_selected(self): - """Return the currently selected history tid""" - if self.get_selection(): - (model, iterator) = self.get_selection().get_selected() - if model is not None and iterator is not None: - tid = model.get_value(iterator, 1) - return tid - else: - return 0 - - -class HistoryPackageView(Gtk.TreeView): - """ History Package View Class""" - - def __init__(self, base): - Gtk.TreeView.__init__(self) - self.model = self.setup_view() - self.base = base - - def setup_view(self): - """ Create Notebook list for single page """ - model = Gtk.TreeStore(str) - self.set_model(model) - cell = Gtk.CellRendererText() - column = Gtk.TreeViewColumn(_("History Packages"), cell, markup=0) - column.set_resizable(True) - # column1.set_fixed_width(200) - self.append_column(column) - # model.set_sort_column_id(0, Gtk.SortType.ASCENDING) - return model - - def reset(self): - self.model.clear() - - def populate(self, data): - self.model.clear() - # Order by package name.arch - names = {} - names_pair = {} - for elem in data: - pkg_id, state, is_inst = elem - (n, e, v, r, a, repo_id) = str(pkg_id).split(',') - na = "%s.%s" % (n, a) - if state in const.HISTORY_UPDATE_STATES: # part of a pair - if na in names_pair: - # this is the updating pkg - if state in const.HISTORY_NEW_STATES: - names_pair[na].insert(0, elem) # add first in list - else: - names_pair[na].append(elem) - else: - names_pair[na] = [elem] - else: - names[na] = [elem] - - # order by primary state - states = {} - # pkgs without relatives - for na in sorted(list(names)): - pkg_list = names[na] - pkg_id, state, is_inst = pkg_list[ - 0] # Get first element (the primary (new) one ) - if state in states: - states[state].append(pkg_list) - else: - states[state] = [pkg_list] - # pkgs with releatives - for na in sorted(list(names_pair)): - pkg_list = names_pair[na] - pkg_id, state, is_inst = pkg_list[ - 0] # Get first element (the primary (new) one ) - if state in states: - states[state].append(pkg_list) - else: - states[state] = [pkg_list] - # apply packages to model in right order - for state in const.HISTORY_SORT_ORDER: - if state in states: - num = len(states[state]) - cat = self.model.append( - None, ["%s (%i)" % - (const.HISTORY_STATE_LABLES[state], num)]) - for pkg_list in states[state]: - pkg_id, st, is_inst = pkg_list[0] - if is_inst: - name = '%s' % ( - CONFIG.conf.color_install, - misc.pkg_id_to_full_name(pkg_id)) - else: - name = misc.pkg_id_to_full_name(pkg_id) - pkg_cat = self.model.append(cat, [name]) - if len(pkg_list) == 2: - pkg_id, st, is_inst = pkg_list[1] - name = misc.pkg_id_to_full_name(pkg_id) - self.model.append(pkg_cat, [name]) - self.expand_all() - - -class RepoView(SelectionView): - """ - This class controls the repo TreeView - """ - - def __init__(self): - SelectionView.__init__(self) - self.headers = [_('Repository'), _('Filename')] - self.store = self.setup_view() - self.state = 'normal' - self._last_selected = [] - - def on_toggled(self, widget, path): - """ Repo select/unselect handler """ - iterator = self.store.get_iter(path) - state = self.store.get_value(iterator, 0) - self.store.set_value(iterator, 0, not state) - - def on_section_header_clicked(self, widget): - """ Selection column header clicked""" - if self.state == 'normal': # deselect all - self._last_selected = self.get_selected() - self.select_all(state=False) - self.state = 'deselected' - elif self.state == 'deselected': # select all - self.state = 'selected' - self.select_all(state=True) - elif self.state == 'selected': # select previous selected - self.state = 'normal' - self.select_by_keys(self._last_selected) - self._last_selected = [] - - def setup_view(self): - """ Create models and columns for the Repo TextView """ - store = Gtk.ListStore('gboolean', str, str, 'gboolean') - self.set_model(store) - # Setup Selection Column - col = self.create_selection_column_num( - 0, tooltip=_("Click here to switch between\n" - " none/all/default selected")) - col.set_clickable(True) - col.connect('clicked', self.on_section_header_clicked) - - # Setup resent column - cell2 = Gtk.CellRendererPixbuf() # gpgcheck - cell2.set_property('icon-name', 'dialog-password-symbolic') - column2 = Gtk.TreeViewColumn("", cell2) - column2.set_cell_data_func(cell2, self.new_pixbuf) - column2.set_sizing(Gtk.TreeViewColumnSizing.FIXED) - column2.set_fixed_width(20) - column2.set_sort_column_id(-1) - self.append_column(column2) - - # Setup reponame & repofile column's - self.create_text_column_num(_('Repository'), 1) - self.create_text_column_num(_('Name'), 2) - self.set_search_column(1) - self.set_reorderable(False) - return store - - def populate(self, data): - """ Populate a repo liststore with data """ - self.store.clear() - for state, ident, name, gpg in data: - self.store.append([state, ident, name, gpg]) - - def new_pixbuf(self, column, cell, model, iterator, data): - gpg = model.get_value(iterator, 3) - if gpg: - cell.set_property('visible', True) - else: - cell.set_property('visible', False) - - def get_selected(self): - selected = [] - for elem in self.store: - state = elem[0] - name = elem[1] - if state: - selected.append(name) - return selected - - def get_notselected(self): - notselected = [] - for elem in self.store: - state = elem[0] - name = elem[1] - if not state: - notselected.append(name) - return notselected - - def select_by_keys(self, keys): - iterator = self.store.get_iter_first() - while iterator is not None: - repoid = self.store.get_value(iterator, 1) - if repoid in keys: - self.store.set_value(iterator, 0, True) - else: - self.store.set_value(iterator, 0, False) - iterator = self.store.iter_next(iterator) - - def select_all(self, state=True): - """Set repo selection for all repos.""" - iterator = self.store.get_iter_first() - while iterator is not None: - self.store.set_value(iterator, 0, state) - iterator = self.store.iter_next(iterator) - - -class Group: - """ Object to represent a dnf group/category """ - - def __init__(self, grpid, grp_name, grp_desc, inst, is_category=False): - self.id = grpid - self.name = grp_name - self.description = grp_desc - self.installed = inst - self.category = is_category - self.selected = False - - -class GroupView(Gtk.TreeView): - __gsignals__ = {'group-changed': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_STRING,))} - - def __init__(self, qview, base): - Gtk.TreeView.__init__(self) - self.base = base - self.model = self.setup_view() - self.queue = qview.queue - self.queueView = qview - self.currentCategory = None - self._groups = None - self.selected_group = None - self.connect('cursor-changed', self.on_cursor_changed) - - def setup_view(self): - """ Setup Group View """ - model = Gtk.TreeStore(GObject.TYPE_PYOBJECT) - - self.set_model(model) - column = Gtk.TreeViewColumn(None, None) - # Selection checkbox - selection = Gtk.CellRendererToggle() # Selection - # FIXME: Group install/remove is broken in dnfdaemon - selection.set_property('activatable', False) - column.pack_start(selection, False) - column.set_cell_data_func(selection, self.set_checkbox) - selection.connect("toggled", self.on_toggled) - self.append_column(column) - column = Gtk.TreeViewColumn(None, None) - # Queue Status (install/remove group) - state = Gtk.CellRendererPixbuf() # Queue Status - state.set_property('stock-size', 1) - column.pack_start(state, False) - column.set_cell_data_func(state, self.queue_pixbuf) - - # category/group icons - icon = Gtk.CellRendererPixbuf() - icon.set_property('stock-size', 1) - column.pack_start(icon, False) - column.set_cell_data_func(icon, self.grp_pixbuf) - - category = Gtk.CellRendererText() - column.pack_start(category, False) - column.set_cell_data_func(category, self.get_data_text, 'name') - - self.append_column(column) - self.set_headers_visible(False) - return model - - def get_data_text(self, column, cell, model, iterator, prop): - """property function to get string data from a object in the - TreeStore based on an attributes key - """ - obj = model.get_value(iterator, 0) - if obj: - cell.set_property('text', getattr(obj, prop)) - - def set_checkbox(self, column, cell, model, iterator, data=None): - obj = model.get_value(iterator, 0) - if obj: - if obj.category: - cell.set_property('visible', False) - else: - cell.set_property('visible', True) - cell.set_property('active', obj.selected) - - def on_toggled(self, widget, path): - """ Group selection handler """ - iterator = self.model.get_iter(path) - obj = self.model.get_value(iterator, 0) - action = self.queue.has_group(obj) - if action: # Group is in the queue, remove it from the queue - self.queue.remove_group(obj, action) - else: - if obj.installed: # Group is installed add it to queue for removal - self.queue.add_group(obj, 'r') # Add for remove - else: # Group is not installed, add it to queue for installation - self.queue.add_group(obj, 'i') # Add for install - self.queueView.refresh() - - def on_cursor_changed(self, widget): - """ - a new group is selected in group view - """ - if widget.get_selection(): - (model, iterator) = widget.get_selection().get_selected() - if model is not None and iterator is not None: - obj = self.model.get_value(iterator, 0) - if not obj.category and obj.id != self.selected_group: - self.selected_group = obj.id - # send the group-changed signal - self.emit('group-changed', obj.id) - - def populate(self, data): - self.freeze_child_notify() - self.set_model(None) - self.model.clear() - self._groups = data - self.set_model(self.model) - for cat, catgrps in data: - # cat: [category_id, category_name, category_desc] - (catid, name, desc) = cat - obj = Group(catid, name, desc, False, True) - node = self.model.append(None, [obj]) - for grp in catgrps: - # [group_id, group_name, group_desc, group_is_installed] - (grpid, grp_name, grp_desc, inst) = grp - obj = Group(grpid, grp_name, grp_desc, inst, False) - self.model.append(node, [obj]) - self.thaw_child_notify() - self.selected_group = None - - def queue_pixbuf(self, column, cell, model, iterator, data=None): - """ - Cell Data function for - """ - obj = model.get_value(iterator, 0) - if not obj.category: - action = self.queue.has_group(obj.id) - icon = 'non-starred-symbolic' - if obj.installed: - icon = 'starred' - if action: - if action == 'i': - icon = 'network-server' - else: - icon = 'edit-delete' - cell.set_property('icon-name', icon) - cell.set_property('visible', True) - else: - cell.set_property('visible', False) - - def grp_pixbuf(self, column, cell, model, iterator, data=None): - """ - Cell Data function for recent Column, shows pixmap - if recent Value is True. - """ - obj = model.get_value(iterator, 0) - pix = None - fn = "/usr/share/pixmaps/comps/%s.png" % obj.id - if os.access(fn, os.R_OK): - pix = self._get_pix(fn) - else: # Try to get the parent icon - parent = model.iter_parent(iterator) - if parent: - cat_id = model[parent][0].id # get the parent cat_id - fn = "/usr/share/pixmaps/comps/%s.png" % cat_id - if os.access(fn, os.R_OK): - pix = self._get_pix(fn) - if pix: - cell.set_property('visible', True) - cell.set_property('pixbuf', pix) - else: - cell.set_property('visible', False) - - def _get_pix(self, fn): - """ - Get a pix buffer from a file, resize it to 24 px, if needed - @param fn: - """ - imgsize = 24 - pix = GdkPixbuf.Pixbuf.new_from_file(fn) - if pix.get_height() != imgsize or pix.get_width() != imgsize: - pix = pix.scale_simple(imgsize, imgsize, - GdkPixbuf.INTERP_BILINEAR) - return pix diff --git a/src/yumex/gui/views/__init__.py b/src/yumex/gui/views/__init__.py new file mode 100644 index 0000000..fd82dd8 --- /dev/null +++ b/src/yumex/gui/views/__init__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# 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 +"""yumex.gui.views module""" diff --git a/src/yumex/gui/views/groupview.py b/src/yumex/gui/views/groupview.py new file mode 100644 index 0000000..9a384b5 --- /dev/null +++ b/src/yumex/gui/views/groupview.py @@ -0,0 +1,205 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging +import os + +from gi.repository import Gtk, GObject, GdkPixbuf + +logger = logging.getLogger("yumex.gui.views") + + +class Group: + """Object to represent a dnf group/category""" + + def __init__(self, grpid, grp_name, grp_desc, inst, is_category=False): + self.id = grpid + self.name = grp_name + self.description = grp_desc + self.installed = inst + self.category = is_category + self.selected = False + + +class GroupView(Gtk.TreeView): + __gsignals__ = { + "group-changed": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_STRING,)) + } + + def __init__(self, qview, base): + Gtk.TreeView.__init__(self) + self.base = base + self.model = self.setup_view() + self.queue = qview.queue + self.queue_view = qview + self.current_category = None + self._groups = None + self.selected_group = None + self.connect("cursor-changed", self.on_cursor_changed) + + def setup_view(self): + """Setup Group View""" + model = Gtk.TreeStore(GObject.TYPE_PYOBJECT) + + self.set_model(model) + column = Gtk.TreeViewColumn(None, None) + # Selection checkbox + selection = Gtk.CellRendererToggle() # Selection + selection.set_property("activatable", True) + column.pack_start(selection, False) + column.set_cell_data_func(selection, self.set_checkbox) + selection.connect("toggled", self.on_toggled) + self.append_column(column) + column = Gtk.TreeViewColumn(None, None) + # Queue Status (install/remove group) + state = Gtk.CellRendererPixbuf() # Queue Status + state.set_property("stock-size", 1) + column.pack_start(state, False) + column.set_cell_data_func(state, self.queue_pixbuf) + + # category/group icons + icon = Gtk.CellRendererPixbuf() + icon.set_property("stock-size", 1) + column.pack_start(icon, False) + column.set_cell_data_func(icon, self.grp_pixbuf) + + category = Gtk.CellRendererText() + column.pack_start(category, False) + column.set_cell_data_func(category, self.get_data_text, "name") + + self.append_column(column) + self.set_headers_visible(False) + return model + + def get_data_text(self, column, cell, model, iterator, prop): + """property function to get string data from a object in the + TreeStore based on an attributes key + """ + obj = model.get_value(iterator, 0) + if obj: + cell.set_property("text", getattr(obj, prop)) + + def set_checkbox(self, column, cell, model, iterator, data=None): + obj = model.get_value(iterator, 0) + if obj: + if obj.category: + cell.set_property("visible", False) + else: + cell.set_property("visible", True) + cell.set_property("active", obj.selected) + + def on_toggled(self, widget, path): + """Group selection handler""" + iterator = self.model.get_iter(path) + obj = self.model.get_value(iterator, 0) + action = self.queue.has_group(obj) + if action: # Group is in the queue, remove it from the queue + self.queue.remove_group(obj, action) + else: + if obj.installed: # Group is installed add it to queue for removal + self.queue.add_group(obj, "r") # Add for remove + else: # Group is not installed, add it to queue for installation + self.queue.add_group(obj, "i") # Add for install + self.queue_view.refresh() + + def on_cursor_changed(self, widget): + """ + a new group is selected in group view + """ + if widget.get_selection(): + (model, iterator) = widget.get_selection().get_selected() + if model is not None and iterator is not None: + obj = self.model.get_value(iterator, 0) + if not obj.category and obj.id != self.selected_group: + self.selected_group = obj.id + # send the group-changed signal + self.emit("group-changed", obj.id) + + def populate(self, data): + self.freeze_child_notify() + self.set_model(None) + self.model.clear() + self._groups = data + self.set_model(self.model) + for cat, catgrps in data: + # cat: [category_id, category_name, category_desc] + (catid, name, desc) = cat + obj = Group(catid, name, desc, False, True) + node = self.model.append(None, [obj]) + for grp in catgrps: + # [group_id, group_name, group_desc, group_is_installed] + (grpid, grp_name, grp_desc, inst) = grp + obj = Group(grpid, grp_name, grp_desc, inst, False) + self.model.append(node, [obj]) + self.thaw_child_notify() + self.selected_group = None + + def queue_pixbuf(self, column, cell, model, iterator, data=None): + """ + Cell Data function for + """ + obj = model.get_value(iterator, 0) + if not obj.category: + action = self.queue.has_group(obj.id) + icon = "non-starred-symbolic" + if obj.installed: + icon = "starred" + if action: + if action == "i": + icon = "network-server" + else: + icon = "edit-delete" + cell.set_property("icon-name", icon) + cell.set_property("visible", True) + else: + cell.set_property("visible", False) + + def grp_pixbuf(self, column, cell, model, iterator, data=None): + """ + Cell Data function for recent Column, shows pixmap + if recent Value is True. + """ + obj = model.get_value(iterator, 0) + pix = None + filename = f"/usr/share/pixmaps/comps/{obj.id}.png" + if os.access(filename, os.R_OK): + pix = self._get_pix(filename) + else: # Try to get the parent icon + parent = model.iter_parent(iterator) + if parent: + cat_id = model[parent][0].id # get the parent cat_id + filename = f"/usr/share/pixmaps/comps/{cat_id}.png" + if os.access(filename, os.R_OK): + pix = self._get_pix(filename) + if pix: + cell.set_property("visible", True) + cell.set_property("pixbuf", pix) + else: + cell.set_property("visible", False) + + def _get_pix(self, filename): + """ + Get a pix buffer from a file, resize it to 24 px, if needed + @param fn: + """ + imgsize = 24 + pix = GdkPixbuf.Pixbuf.new_from_file(filename) + if pix.get_height() != imgsize or pix.get_width() != imgsize: + pix = pix.scale_simple(imgsize, imgsize, GdkPixbuf.INTERP_BILINEAR) + return pix diff --git a/src/yumex/gui/views/historypackageview.py b/src/yumex/gui/views/historypackageview.py new file mode 100644 index 0000000..68e7b02 --- /dev/null +++ b/src/yumex/gui/views/historypackageview.py @@ -0,0 +1,115 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging + +from gi.repository import Gtk +import yumex.common.const as const +from yumex.common import _, CONFIG, pkg_id_to_full_name + +logger = logging.getLogger("yumex.gui.views") + + +class HistoryPackageView(Gtk.TreeView): + """History Package View Class""" + + def __init__(self, base): + Gtk.TreeView.__init__(self) + self.model = self.setup_view() + self.base = base + + def setup_view(self): + """Create Notebook list for single page""" + model = Gtk.TreeStore(str) + self.set_model(model) + cell = Gtk.CellRendererText() + column = Gtk.TreeViewColumn(_("History Packages"), cell, markup=0) + column.set_resizable(True) + # column1.set_fixed_width(200) + self.append_column(column) + # model.set_sort_column_id(0, Gtk.SortType.ASCENDING) + return model + + def reset(self): + self.model.clear() + + def populate(self, data): + self.model.clear() + # Order by package name.arch + names = {} + names_pair = {} + for elem in data: + pkg_id, state, is_inst = elem + (name, _, _, _, arch, _) = str(pkg_id).split(",") + name_arch = f"{name}.{arch}" + if state in const.HISTORY_UPDATE_STATES: # part of a pair + if name_arch in names_pair: + # this is the updating pkg + if state in const.HISTORY_NEW_STATES: + names_pair[name_arch].insert(0, elem) # add first in list + else: + names_pair[name_arch].append(elem) + else: + names_pair[name_arch] = [elem] + else: + names[name_arch] = [elem] + + # order by primary state + states = {} + # pkgs without relatives + for name_arch in sorted(list(names)): + pkg_list = names[name_arch] + pkg_id, state, is_inst = pkg_list[ + 0 + ] # Get first element (the primary (new) one ) + if state in states: + states[state].append(pkg_list) + else: + states[state] = [pkg_list] + # pkgs with releatives + for name_arch in sorted(list(names_pair)): + pkg_list = names_pair[name_arch] + pkg_id, state, is_inst = pkg_list[ + 0 + ] # Get first element (the primary (new) one ) + if state in states: + states[state].append(pkg_list) + else: + states[state] = [pkg_list] + # apply packages to model in right order + for state in const.HISTORY_SORT_ORDER: + if state in states: + num = len(states[state]) + cat = self.model.append( + None, [f"{const.HISTORY_STATE_LABLES[state]} ({num})"] + ) + for pkg_list in states[state]: + pkg_id, _, is_inst = pkg_list[0] + if is_inst: + color = CONFIG.conf.color_install + fullname = pkg_id_to_full_name(pkg_id) + name = f'{fullname}' + else: + name = pkg_id_to_full_name(pkg_id) + pkg_cat = self.model.append(cat, [name]) + if len(pkg_list) == 2: + pkg_id, _, is_inst = pkg_list[1] + name = pkg_id_to_full_name(pkg_id) + self.model.append(pkg_cat, [name]) + self.expand_all() diff --git a/src/yumex/gui/views/historyview.py b/src/yumex/gui/views/historyview.py new file mode 100644 index 0000000..4e5dc8a --- /dev/null +++ b/src/yumex/gui/views/historyview.py @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging + +from gi.repository import Gtk +from yumex.common import _ +from yumex.gui.views.historypackageview import HistoryPackageView + +logger = logging.getLogger("yumex.gui.views") + + +class HistoryView(Gtk.TreeView): + """History View Class""" + + def __init__(self, base): + Gtk.TreeView.__init__(self) + self.model = self.setup_view() + self.base = base + self.pkg_view = HistoryPackageView(self.base) + self.connect("cursor-changed", self.on_cursor_changed) + self.is_populated = False + + def setup_view(self): + """Create Notebook list for single page""" + model = Gtk.TreeStore(str, int) + self.set_model(model) + cell1 = Gtk.CellRendererText() + column1 = Gtk.TreeViewColumn(_("History (Date/Time)"), cell1, markup=0) + column1.set_resizable(False) + column1.set_fixed_width(200) + self.append_column(column1) + model.set_sort_column_id(0, Gtk.SortType.DESCENDING) + return model + + def reset(self): + self.model.clear() + self.is_populated = False + self.pkg_view.reset() + + def populate(self, data): + self.pkg_view.reset() + self.model.clear() + main = {} + for tid, date_time in data: + date, time = date_time.split("T") + year, month, day = date.split("-") + # year + if year not in main: + ycat = self.model.append(None, [year, -1]) + main[year] = (ycat, {}) + ycat, mdict = main[year] + # month + if month not in mdict: + mcat = self.model.append(ycat, [month, -1]) + mdict[month] = (mcat, {}) + mcat, ddict = mdict[month] + # day + if day not in ddict: + dcat = self.model.append(mcat, [day, -1]) + ddict[day] = dcat + dcat = ddict[day] + self.model.append(dcat, [time, tid]) + self.collapse_all() + path = Gtk.TreePath.new_from_string("0:0:0:0") + self.expand_to_path(path) + self.get_selection().select_path(path) + self.on_cursor_changed(self) + self.is_populated = True + + def on_cursor_changed(self, widget): + """ + a new History element is selected in history view + """ + if widget.get_selection(): + (model, iterator) = widget.get_selection().get_selected() + if model is not None and iterator is not None: + tid = model.get_value(iterator, 1) + if tid != -1: + pkgs = self.base.get_root_backend().GetHistoryPackages(tid) + self.pkg_view.populate(pkgs) + + def get_selected(self): + """Return the currently selected history tid""" + if self.get_selection(): + (model, iterator) = self.get_selection().get_selected() + if model is not None and iterator is not None: + tid = model.get_value(iterator, 1) + return tid + else: + return 0 diff --git a/src/yumex/gui/views/packagequeue.py b/src/yumex/gui/views/packagequeue.py new file mode 100644 index 0000000..deccdba --- /dev/null +++ b/src/yumex/gui/views/packagequeue.py @@ -0,0 +1,143 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging + +import yumex.common.const as const + +logger = logging.getLogger("yumex.gui.views") + + +class PackageQueue: + """ + A Queue class to store selected packages/groups and the pending actions + """ + + def __init__(self): + self.packages = {} + self._setup_packages() + self.groups = {"i": {}, "r": {}} + self._name_arch_index = {} + + def _setup_packages(self): + for key in const.QUEUE_PACKAGE_TYPES: + self.packages[key] = [] + + def clear(self): + del self.packages + self.packages = {} + self._setup_packages() + self.groups = {"i": {}, "r": {}} + self._name_arch_index = {} + + def get(self, action=None): + if action is None: + return self.packages + else: + return self.packages[action] + + def total(self): + num = 0 + for key in const.QUEUE_PACKAGE_TYPES: + num += len(self.packages[key]) + num += len(self.groups["i"].keys()) + num += len(self.groups["r"].keys()) + return num + + def add(self, pkg, action=None): + """Add a package to queue""" + if not action: + action = pkg.action + name_arch = f"{pkg.name}.{pkg.arch}" + if pkg not in self.packages[action] and name_arch not in self._name_arch_index: + self.packages[action].append(pkg) + self._name_arch_index[name_arch] = 1 + + def remove(self, pkg, action=None): + """Remove package from queue""" + if not action: + action = pkg.action + name_arch = f"{pkg.name}.{pkg.arch}" + if pkg in self.packages[action]: + self.packages[action].remove(pkg) + del self._name_arch_index[name_arch] + + def has_pkg_with_name_arch(self, pkg): + name_arch = f"{pkg.name}.{pkg.arch}" + return name_arch in self._name_arch_index + + def add_group(self, grp, action): + """ + + @param grp: Group object + @param action: + """ + logger.debug(f"add_group : {grp.id} - {action}") + grps = self.groups[action] + if grp.id not in grps: + grps[grp.id] = grp + grp.selected = True + + def remove_group(self, grp, action): + """ + + @param grp: Group object + @param action: + """ + logger.debug(f"remove_group : {grp.id} - {action}") + grps = self.groups[action] + if grp.id in grps: + del grps[grp.id] + grp.selected = False + + def remove_all_groups(self): + """ + remove all groups from queue + """ + for action in ("i", "r"): + for grp in self.groups[action]: + self.remove_group(grp, action) + + def remove_groups(self, group_names): + """ + remove groups from queue based on list of grp_ids + """ + for action in ("i", "r"): + new_dict = {} + grps = self.groups[action] + for grp in grps.values(): + if grp.name not in group_names: + new_dict[grp.id] = grp # copy to new dict + else: # unselect the group object + grp.selected = False + self.groups[action] = new_dict + + def has_group(self, grp_id): + """check if group is in package queue""" + for action in ["i", "r"]: + grps = self.groups[action] + if grp_id in grps: + return action + return None + + def get_groups(self): + """get (grp_id, action) generator""" + for action in ("i", "r"): + for grp in self.groups[action].values(): + yield grp.id, action diff --git a/src/yumex/gui/views/packageview.py b/src/yumex/gui/views/packageview.py new file mode 100644 index 0000000..1ac7774 --- /dev/null +++ b/src/yumex/gui/views/packageview.py @@ -0,0 +1,402 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging + +from gi.repository import GObject, Gtk +from yumex.common import timer, _, do_gtk_events + +from yumex.gui.views.selectionview import SelectionView + +logger = logging.getLogger("yumex.gui.views") + + +class PackageView(SelectionView): + __gsignals__ = { + "pkg-changed": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_PYOBJECT,)) + } + + def __init__(self, qview, group_mode=False): + self.logger = logging.getLogger("yumex.PackageView") + SelectionView.__init__(self) + self.set_name("YumexPackageView") + self.group_mode = group_mode + self._click_header_state = "" + self.queue = qview.queue + self.queue_view = qview + self.store = self._setup_model() + self.connect("cursor-changed", self.on_cursor_changed) + self.connect("button-press-event", self.on_mouse_button) + self.connect("key_press_event", self._on_key_press) + self.state = "normal" + self._last_selected = [] + self.popup = None + if self.group_mode: + self._click_header_active = True + else: + self._click_header_active = False + + def _setup_model(self): + """ + Setup the model and view + """ + store = Gtk.ListStore(GObject.TYPE_PYOBJECT, str) + self.set_model(store) + if self.group_mode: + self.create_selection_colunm( + "selected", + click_handler=self.on_section_header_clicked_group, + popup_handler=self.on_section_header_button, + tooltip=_("Click to install all/remove all"), + ) + else: + self.create_selection_colunm( + "selected", + click_handler=self.on_section_header_clicked, + popup_handler=self.on_section_header_button, + tooltip=_("Click to select/deselect all"), + ) + # Setup resent column + cell2 = Gtk.CellRendererPixbuf() # new + cell2.set_property("icon-name", "list-add-symbolic") + column2 = Gtk.TreeViewColumn("", cell2) + column2.set_cell_data_func(cell2, self.new_pixbuf) + column2.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + column2.set_fixed_width(20) + column2.set_sort_column_id(-1) + self.append_column(column2) + column2.set_clickable(True) + + self.create_text_column(_("Package"), "name", size=200) + + self.create_text_column(_("Version"), "fullver", size=120) + self.create_text_column(_("Arch."), "arch", size=60) + self.create_text_column(_("Size"), "sizeM", size=60) + self.create_text_column(_("Summary"), "summary", size=600) + self.create_text_column(_("Repository"), "repository", size=90) + self.set_search_column(1) + self.set_enable_search(True) + # store.set_sort_column_id(1, Gtk.Gtk.SortType.ASCENDING) + self.set_reorderable(False) + self.set_fixed_height_mode(True) + return store + + def _on_key_press(self, widget, event): + shortcut = Gtk.accelerator_get_label(event.keyval, event.state) + logger.debug(f"keyboard shotcut : {shortcut}") + + if shortcut in ("Ctrl+S"): + self.on_section_header_clicked(widget) + + def on_section_header_button(self, widget, event): + if event.button == 3: # Right click + print("Right Click on selection column header") + + def on_mouse_button(self, widget, event): + """Handle mouse click in view.""" + if event.button == 3: # Right Click + x = int(event.x) + y = int(event.y) + pthinfo = self.get_path_at_pos(x, y) + if pthinfo is not None: + path, col, _, _ = pthinfo + self.grab_focus() + self.set_cursor(path, col, 0) + iterator = self.store.get_iter(path) + pkg = self.store.get_value(iterator, 0) + # Only open popup menu for installed packages + if not pkg.installed or pkg.queued: + return + self.popup = self._get_package_popup(pkg, path) + self.popup.popup(None, None, None, None, event.button, event.time) + return True + else: + return False + + def _get_package_popup(self, pkg, path): + """Create a right click menu, for a given package.""" + # get available downgrades + popup = Gtk.Menu() + menu_item = Gtk.MenuItem(_("Reinstall Package")) + menu_item.connect("activate", self.on_package_reinstall, pkg) + popup.add(menu_item) + # Show downgrade menu only if there is any avaliable downgrades + do_pkgs = pkg.downgrades + if do_pkgs: + popup_sub = Gtk.Menu() + for do_pkg in do_pkgs: + menu_item = Gtk.MenuItem(str(do_pkg)) + menu_item.set_use_underline(False) + menu_item.connect( + "button-press-event", self.on_package_downgrade, pkg, do_pkg + ) + popup_sub.add(menu_item) + popup_sub.show_all() + menu_item = Gtk.MenuItem(_("Downgrade Package")) + menu_item.set_submenu(popup_sub) + popup.add(menu_item) + popup.show_all() + return popup + + def on_package_reinstall(self, widget, pkg): + """Handler for package right click menu""" + logger.debug(f"reinstall: {str(pkg)}") + pkg.queued = "ri" + pkg.selected = True + self.queue.add(pkg, "ri") + self.queue_view.refresh() + self.queue_draw() + + def on_package_downgrade(self, widget, event, pkg, do_pkg): + """Downgrade package right click menu handler""" + if event.button == 1: # Left Click + logger.debug(f"downgrade to : {str(do_pkg)}") + pkg.queued = "do" + pkg.selected = True + pkg.downgrade_po = do_pkg + do_pkg.queued = "do" + do_pkg.selected = True + do_pkg.downgrade_po = pkg + self.queue.add(do_pkg, "do") + self.queue_view.refresh() + self.queue_draw() + + def on_section_header_clicked(self, widget): + """Selection column header clicked""" + if self.state == "normal": # deselect all + self._last_selected = self.get_selected() + self.select_all() + self.state = "selected" + elif self.state == "selected": # select all + self.state = "deselected" + self.deselect_all() + elif self.state == "deselected": # select previous selected + self.state = "normal" + self.select_by_keys(self._last_selected) + self._last_selected = [] + + def on_section_header_clicked_group(self, widget): + """Selection column header clicked""" + if self.state == "normal": # deselect all + self._last_selected = self.get_selected() + self.install_all() + self.state = "install-all" + elif self.state == "install-all": # select all + self.state = "remove-all" + self.deselect_all() + self.remove_all() + elif self.state == "remove-all": # select previous selected + self.state = "normal" + self.select_by_keys(self._last_selected) + self._last_selected = [] + + def on_cursor_changed(self, widget): + """ + a new group is selected in group view + """ + if widget.get_selection(): + (model, iterator) = widget.get_selection().get_selected() + if model is not None and iterator is not None: + pkg = model.get_value(iterator, 0) + self.emit("pkg-changed", pkg) # send the group-changed signal + + def set_header_click(self, state): + self._click_header_active = state + self._click_header_state = "" + + def select_all(self): + """ + Select all packages in the view + """ + for elem in self.store: + obj = elem[0] + if not obj.queued == obj.action: + obj.queued = obj.action + self.queue.add(obj) + obj.set_select(not obj.selected) + self.queue_view.refresh() + self.queue_draw() + + def deselect_all(self): + """ + Deselect all packages in the view + """ + for elem in self.store: + obj = elem[0] + if obj.queued == obj.action: + obj.queued = None + self.queue.remove(obj) + obj.set_select(not obj.selected) + self.queue_view.refresh() + self.queue_draw() + + def select_by_keys(self, keys): + iterator = self.store.get_iter_first() + while iterator is not None: + obj = self.store.get_value(iterator, 0) + if obj in keys and not obj.selected: + obj.queued = obj.action + self.queue.add(obj) + obj.set_select(True) + elif obj.selected: + obj.queued = None + self.queue.remove(obj) + obj.set_select(False) + iterator = self.store.iter_next(iterator) + self.queue_view.refresh() + self.queue_draw() + + def get_selected(self): + selected = [] + for elem in self.store: + obj = elem[0] + if obj.selected: + selected.append(obj) + return selected + + def get_notselected(self): + notselected = [] + for elem in self.store: + obj = elem[0] + if not obj.queued == obj.action: + notselected.append(obj) + return notselected + + def new_pixbuf(self, column, cell, model, iterator, data): + """ + Cell Data function for recent Column, shows pixmap + if recent Value is True. + """ + pkg = model.get_value(iterator, 0) + if pkg: + action = pkg.queued + if action: + if action in ("u", "i", "o"): + icon = "list-add-symbolic" + elif action == "ri": + icon = "gtk-refresh" + elif action == "do": + icon = "gtk-go-down" + else: + icon = "edit-delete" + cell.set_property("visible", True) + cell.set_property("icon-name", icon) + else: + cell.set_property("visible", pkg.recent) + cell.set_property("icon-name", "document-new") + else: + cell.set_property("visible", False) + + @timer + def populate(self, pkgs): + self.freeze_child_notify() + self.set_model(None) + self.store.clear() + self.set_model(self.store) + if pkgs: + i = 0 + for po in sorted(pkgs, key=lambda po: po.name): + i += 1 + if i % 500: # Handle Gtk event, so gui dont freeze + do_gtk_events() + self.store.append([po, str(po)]) + self.thaw_child_notify() + # reset the selection column header selection state + self.state = "normal" + self._last_selected = [] + + def on_toggled(self, widget, path): + """Package selection handler""" + iterator = self.store.get_iter(path) + obj = self.store.get_value(iterator, 0) + self.toggle_package(obj) + self.queue_view.refresh() + + def toggle_package(self, obj): + """ + Toggle the package queue status + @param obj: + """ + if obj.action == "do" or obj.queued == "do": + self._toggle_downgrade(obj) + else: + if obj.queued == obj.action: + obj.queued = None + self.queue.remove(obj) + obj.selected = not obj.selected + elif not self.queue.has_pkg_with_name_arch(obj): + obj.queued = obj.action + self.queue.add(obj) + obj.selected = not obj.selected + + def _toggle_downgrade(self, obj): + if obj.queued == "do": # all-ready queued + related_po = obj.downgrade_po + if obj.installed: # is obj the installed pkg ? + self.queue.remove(related_po, "do") + else: + self.queue.remove(obj, "do") + obj.queued = None + obj.selected = False + related_po.queued = None + related_po.selected = False + # the releated package + else: + pkgs = obj.downgrades # get the installed po + if pkgs: + # downgrade the po + pkg = pkgs[0] + # Installed pkg is all-ready downgraded by another package + if pkg.action == "do" or self.queue.has_pkg_with_name_arch(pkg): + return + pkg.queued = "do" + pkg.selected = True + pkg.downgrade_po = obj + obj.queued = "do" + obj.selected = True + obj.downgrade_po = pkg + self.queue.add(obj, "do") + self.queue_view.refresh() + self.queue_draw() + + def install_all(self): + """ + Select all packages in the view + """ + for elem in self.store: + obj = elem[0] + if not obj.queued == obj.action and obj.action == "i": + obj.queued = obj.action + self.queue.add(obj) + obj.set_select(not obj.selected) + self.queue_view.refresh() + self.queue_draw() + + def remove_all(self): + """ + Select all packages in the view + """ + for elem in self.store: + obj = elem[0] + if not obj.queued == obj.action and obj.action == "r": + obj.queued = obj.action + self.queue.add(obj) + obj.set_select(not obj.selected) + self.queue_view.refresh() + self.queue_draw() diff --git a/src/yumex/gui/views/queueview.py b/src/yumex/gui/views/queueview.py new file mode 100644 index 0000000..35c3409 --- /dev/null +++ b/src/yumex/gui/views/queueview.py @@ -0,0 +1,167 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging + +from gi.repository import GObject, Gtk + +import yumex.common.const as const +from yumex.common import _, ngettext +from yumex.gui.views.packagequeue import PackageQueue + +logger = logging.getLogger("yumex.gui.views") + + +class QueueView(Gtk.TreeView): + __gsignals__ = { + "queue-refresh": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_INT,)) + } + + def __init__(self, queue_menu): + Gtk.TreeView.__init__(self) + self.store = self._setup_model() + self.queue = PackageQueue() + self.queue_menu = queue_menu + self.connect("button-press-event", self.on_queue_view_button_press) + remove_menu = self.queue_menu.get_children()[ + 0 + ] # get the first child (remove menu) + remove_menu.connect("activate", self.delete_selected) + + def _setup_model(self): + """ + Setup the model and view + """ + model = Gtk.TreeStore(GObject.TYPE_STRING, GObject.TYPE_STRING) + self.set_model(model) + cell1 = Gtk.CellRendererText() + column1 = Gtk.TreeViewColumn(_("Packages"), cell1, markup=0) + column1.set_resizable(True) + self.append_column(column1) + + cell2 = Gtk.CellRendererText() + column2 = Gtk.TreeViewColumn(_("Summary"), cell2, text=1) + column2.set_resizable(True) + self.append_column(column2) + model.set_sort_column_id(0, Gtk.SortType.ASCENDING) + self.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE) + return model + + def delete_selected(self, widget=None): + rmvlist = [] + model, paths = self.get_selection().get_selected_rows() + for path in paths: + row = model[path] + if row.parent is not None: + rmvlist.append(row[0]) + for pkg in self.filter_pkgs_from_list(rmvlist): + self.queue.remove(pkg) + if pkg.queued == "do" and pkg.installed: + pkg.downgrade_po.queued = None + pkg.downgrade_po.set_select(not pkg.selected) + pkg.action = "r" # reset action type of installed package + pkg.queued = None + pkg.set_select(not pkg.selected) + self.queue.remove_groups(rmvlist) + self.refresh() + + def on_queue_view_button_press(self, treeview, event): + """ + Mouse button clicked in package view handler + :param _treeview: + :param event: + """ + if event.button == 3: # Right Click + popup = self.queue_menu + popup.popup(None, None, None, None, event.button, event.time) + return True + + def filter_pkgs_from_list(self, rlist): + """ + return packages in queue where str(pkg) is in a list + @param rlist: + """ + rclist = [] + for action in const.QUEUE_PACKAGE_TYPES: + pkg_list = self.queue.packages[action] + if pkg_list: + rclist.extend([x for x in pkg_list if str(x) in rlist]) + return rclist + + def refresh(self): + """Populate view with data from queue""" + self.store.clear() + pkg_list = self.queue.packages["u"] + self.queue.packages["o"] + text = ngettext("Package to update", "Packages to update", len(pkg_list)) + label = f"{text}" + if len(pkg_list) > 0: + self.populate_list(label, pkg_list) + pkg_list = self.queue.packages["i"] + text = ngettext("Package to install", "Packages to install", len(pkg_list)) + label = f"{text}" + if len(pkg_list) > 0: + self.populate_list(label, pkg_list) + pkg_list = self.queue.packages["r"] + text = ngettext("Package to remove", "Packages to remove", len(pkg_list)) + label = f"{text}" + if len(pkg_list) > 0: + self.populate_list(label, pkg_list) + pkg_list = self.queue.packages["ri"] + text = ngettext("Package to reinstall", "Packages to reinstall", len(pkg_list)) + label = f"{text}" + if len(pkg_list) > 0: + self.populate_list(label, pkg_list) + pkg_list = self.queue.packages["li"] + text = ngettext("RPM file to install", "RPM files to install", len(pkg_list)) + label = f"{text}" + if len(pkg_list) > 0: + self.populate_list(label, pkg_list) + grps = self.queue.groups["i"] + text = ngettext("Group to install", "Groups to install", len(pkg_list)) + label = f"{text}" + if len(grps) > 0: + self.populate_group_list(label, grps) + grps = self.queue.groups["r"] + text = ngettext("Group to remove", "Groups to remove", len(pkg_list)) + label = f"{text}" + if len(grps) > 0: + self.populate_group_list(label, grps) + self.populate_list_downgrade() + self.expand_all() + self.emit("queue-refresh", self.queue.total()) + + def populate_list(self, label, pkg_list): + parent = self.store.append(None, [label, ""]) + for pkg in pkg_list: + self.store.append(parent, [str(pkg), pkg.summary]) + + def populate_group_list(self, label, grps): + parent = self.store.append(None, [label, ""]) + for grp in grps.values(): + self.store.append(parent, [grp.name, grp.description]) + + def populate_list_downgrade(self): + pkg_list = self.queue.packages["do"] + text = ngettext("Package to downgrade", "Packages to downgrade", len(pkg_list)) + label = f"{text}" + if len(pkg_list) > 0: + parent = self.store.append(None, [label, ""]) + for pkg in pkg_list: + item = self.store.append(parent, [str(pkg.downgrade_po), pkg.summary]) + self.store.append(item, [_("Downgrade to %s ") % str(pkg), ""]) diff --git a/src/yumex/gui/views/repoview.py b/src/yumex/gui/views/repoview.py new file mode 100644 index 0000000..8418a7a --- /dev/null +++ b/src/yumex/gui/views/repoview.py @@ -0,0 +1,135 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging + +from gi.repository import Gtk +from yumex.common import _ +from yumex.gui.views.selectionview import SelectionView + +logger = logging.getLogger("yumex.gui.views") + + +class RepoView(SelectionView): + """ + This class controls the repo TreeView + """ + + def __init__(self): + SelectionView.__init__(self) + self.headers = [_("Repository"), _("Filename")] + self.store = self.setup_view() + self.state = "normal" + self._last_selected = [] + + def on_toggled(self, widget, path): + """Repo select/unselect handler""" + iterator = self.store.get_iter(path) + state = self.store.get_value(iterator, 0) + self.store.set_value(iterator, 0, not state) + + def on_section_header_clicked(self, widget): + """Selection column header clicked""" + if self.state == "normal": # deselect all + self._last_selected = self.get_selected() + self.select_all(state=False) + self.state = "deselected" + elif self.state == "deselected": # select all + self.state = "selected" + self.select_all(state=True) + elif self.state == "selected": # select previous selected + self.state = "normal" + self.select_by_keys(self._last_selected) + self._last_selected = [] + + def setup_view(self): + """Create models and columns for the Repo TextView""" + store = Gtk.ListStore("gboolean", str, str, "gboolean") + self.set_model(store) + # Setup Selection Column + col = self.create_selection_column_num( + 0, tooltip=_("Click here to switch between\n" " none/all/default selected") + ) + col.set_clickable(True) + col.connect("clicked", self.on_section_header_clicked) + + # Setup resent column + cell2 = Gtk.CellRendererPixbuf() # gpgcheck + cell2.set_property("icon-name", "dialog-password-symbolic") + column2 = Gtk.TreeViewColumn("", cell2) + column2.set_cell_data_func(cell2, self.new_pixbuf) + column2.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + column2.set_fixed_width(20) + column2.set_sort_column_id(-1) + self.append_column(column2) + + # Setup reponame & repofile column's + self.create_text_column_num(_("Repository"), 1) + self.create_text_column_num(_("Name"), 2) + self.set_search_column(1) + self.set_reorderable(False) + return store + + def populate(self, data): + """Populate a repo liststore with data""" + self.store.clear() + for state, ident, name, gpg in data: + self.store.append([state, ident, name, gpg]) + + def new_pixbuf(self, column, cell, model, iterator, data): + gpg = model.get_value(iterator, 3) + if gpg: + cell.set_property("visible", True) + else: + cell.set_property("visible", False) + + def get_selected(self): + selected = [] + for elem in self.store: + state = elem[0] + name = elem[1] + if state: + selected.append(name) + return selected + + def get_notselected(self): + notselected = [] + for elem in self.store: + state = elem[0] + name = elem[1] + if not state: + notselected.append(name) + return notselected + + def select_by_keys(self, keys): + iterator = self.store.get_iter_first() + while iterator is not None: + repoid = self.store.get_value(iterator, 1) + if repoid in keys: + self.store.set_value(iterator, 0, True) + else: + self.store.set_value(iterator, 0, False) + iterator = self.store.iter_next(iterator) + + def select_all(self, state=True): + """Set repo selection for all repos.""" + iterator = self.store.get_iter_first() + while iterator is not None: + self.store.set_value(iterator, 0, state) + iterator = self.store.iter_next(iterator) diff --git a/src/yumex/gui/views/selectionview.py b/src/yumex/gui/views/selectionview.py new file mode 100644 index 0000000..36d4fd4 --- /dev/null +++ b/src/yumex/gui/views/selectionview.py @@ -0,0 +1,203 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging +from gi.repository import Gtk + +logger = logging.getLogger("yumex.gui.views") + + +class SelectionView(Gtk.TreeView): + """ + A Base view with an selection column + """ + + def __init__(self): + """ + init the view + """ + Gtk.TreeView.__init__(self) + self.store = None + + def create_text_column_num(self, hdr, colno, resize=True, size=None, markup=False): + """ + Create a TreeViewColumn with data from a TreeStore column + @param hdr: column header text + @param colno: TreeStore column to get the data from + @param resize: is resizable + @param size: + @param markup: + """ + cell = Gtk.CellRendererText() + if markup: + column = Gtk.TreeViewColumn(hdr, cell, markup=colno) + else: + column = Gtk.TreeViewColumn(hdr, cell, text=colno) + column.set_resizable(resize) + if size: + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + column.set_fixed_width(size) + self.append_column(column) + return column + + def create_text_column( + self, hdr, prop, size, sortcol=None, click_handler=None, tooltip=None + ): + """ + Create a TreeViewColumn with text and set + the sorting properties and add it to the view + """ + cell = Gtk.CellRendererText() # Size Column + column = Gtk.TreeViewColumn(hdr, cell) + column.set_resizable(True) + column.set_cell_data_func(cell, self.get_data_text, prop) + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + column.set_fixed_width(size) + if sortcol: + column.set_sort_column_id(sortcol) + # column.set_sort_indicator(True) + # column.set_sort_order(Gtk.Gtk.SortType.ASCENDING) + else: + column.set_sort_column_id(-1) + self.append_column(column) + if click_handler: + column.set_clickable(True) + label = Gtk.Label(label=hdr) + label.show() + column.set_widget(label) + widget = column.get_button() + while not isinstance(widget, Gtk.Button): + widget = widget.get_parent() + widget.connect("button-release-event", click_handler) + if tooltip: + widget.set_tooltip_text(tooltip) + + return column + + def create_selection_colunm( + self, attr, click_handler=None, popup_handler=None, tooltip=None, icon=None + ): + """Create an selection column, there get data via property function + and a key attr + """ + # Setup a selection column using a object attribute + cell1 = Gtk.CellRendererToggle() # Selection + cell1.set_property("activatable", True) + column1 = Gtk.TreeViewColumn("", cell1) + column1.set_cell_data_func(cell1, self.get_data_bool, attr) + column1.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + column1.set_sort_column_id(-1) + self.append_column(column1) + cell1.connect("toggled", self.on_toggled) + column1.set_clickable(True) + if click_handler: + column1.connect("clicked", click_handler) + label = Gtk.Label(label="+") + label.show() + column1.set_widget(label) + if popup_handler: + widget = column1.get_widget() + while not isinstance(widget, Gtk.Button): + widget = widget.get_parent() + widget.connect("button-release-event", popup_handler) + if icon: + image = Gtk.Image.new_from_icon_name(icon, Gtk.IconSize.MENU) + widget.set_image(image) + if tooltip: + widget.set_tooltip_text(tooltip) + + def create_selection_column_num(self, num, data_func=None, tooltip=None): + """ + Create an selection column, there get data an TreeStore Column + @param num: TreeStore column to get data from + @param data_func: + @param tooltip: + """ + # Setup a selection column using a column num + + column = Gtk.TreeViewColumn(None, None) + # Selection checkbox + selection = Gtk.CellRendererToggle() # Selection + selection.set_property("activatable", True) + column.pack_start(selection, False) + if data_func: + column.set_cell_data_func(selection, data_func) + else: + column.add_attribute(selection, "active", num) + column.set_resizable(True) + column.set_sort_column_id(-1) + self.append_column(column) + selection.connect("toggled", self.on_toggled) + if tooltip: + label = Gtk.Label(label="") + label.show() + column.set_widget(label) + widget = column.get_widget() + while not isinstance(widget, Gtk.Button): + widget = widget.get_parent() + widget.set_tooltip_text(tooltip) + + return column + + def create_selection_text_column(self, hdr, select_func, text_attr, size=200): + """ + Create an selection column, there get data an TreeStore Column + """ + # Setup a selection column using a column num + + column = Gtk.TreeViewColumn(hdr, None) + # Selection checkbox + selection = Gtk.CellRendererToggle() # Selection + selection.set_property("activatable", True) + selection.connect("toggled", self.on_toggled) + column.pack_start(selection, False) + column.set_cell_data_func(selection, select_func) + text = Gtk.CellRendererText() + column.pack_start(text, False) + column.set_cell_data_func(text, self.get_data_text, text_attr) + column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + column.set_fixed_width(size) + column.set_sort_column_id(-1) + self.append_column(column) + return column + + def get_data_text(self, column, cell, model, iterator, prop): + """property function to get string data from a object in + the TreeStore based on an attributes key + """ + obj = model.get_value(iterator, 0) + if obj: + cell.set_property("text", getattr(obj, prop)) + cell.set_property("foreground-rgba", obj.color) + + def get_data_bool(self, column, cell, model, iterator, prop): + """Property function to get boolean data from a object in + the TreeStore based on an attributes key + """ + obj = model.get_value(iterator, 0) + cell.set_property("visible", True) + if obj: + cell.set_property("active", getattr(obj, prop)) + + def on_toggled(self, widget, path): + """ + selection togged handler + overload in child class + """ + raise NotImplementedError diff --git a/src/yumex/gui/widgets.py b/src/yumex/gui/widgets.py deleted file mode 100644 index 9c22361..0000000 --- a/src/yumex/gui/widgets.py +++ /dev/null @@ -1,772 +0,0 @@ -# -*- coding: utf-8 -*- -# Yum Exteder (yumex) - A graphic package management tool -# Copyright (C) 2013 -2014 Tim Lauridsen < timlaufedoraprojectorg > -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to -# the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -import datetime -import logging -import subprocess -import urllib.parse - -from gi.repository import Gtk, Gio, GLib -from gi.repository import Gdk -from gi.repository import GObject -from gi.repository import Pango -import hawkey - -from yumex.misc import _, CONFIG -import yumex.const as const -import yumex.misc - -logger = logging.getLogger('yumex.gui.widget') -G_TRUE = GLib.Variant.new_boolean(True) -G_FALSE = GLib.Variant.new_boolean(False) - - -class InfoProgressBar: - - def __init__(self, ui): - self.ui = ui - self._is_visible = False - self.infobar = ui.get_object("info_revealer") # infobar revealer - self.label = ui.get_object("infobar_label") - self.sublabel = ui.get_object("infobar_sublabel") - self.progress = ui.get_object("infobar_progress") - self.spinner = ui.get_object("info_spinner") - - def _show_infobar(self, show=True): - """ Show or hide the info bar""" - if show == self._is_visible: # check if infobar already is in the wanted state - return - self.infobar.set_reveal_child(show) - if show: - self.infobar.show() - self.spinner.start() - self.progress.show() - self.label.show() - self.sublabel.show() - self.label.set_text("") - self.sublabel.set_text("") - self._is_visible = True - else: - self.spinner.stop() - self.infobar.hide() - self.label.hide() - self.sublabel.hide() - self.progress.hide() - self.progress.set_show_text(False) - self._is_visible = False - - def hide(self): - self._show_infobar(False) - - def message(self, msg): - self._show_infobar(True) - self.label.set_text(msg) - - def message_sub(self, msg): - self._show_infobar(True) - self.sublabel.set_text(msg) - - def check_info(self): - if self.label.get_text() == "": - self.message(_("Getting Package Metadata")) - - def set_progress(self, frac, label=None): - if 0.0 <= frac <= 1.0: - self._show_infobar() - self.progress.set_fraction(frac) - # make sure that the main label is shown, else the progress - # looks bad. this normally happens when changlog or filelist info - # is needed for a package and it will trigger the yum daemon to - # download the need metadata. - self.check_info() - - -class SearchBar(GObject.GObject): - """Handling the search UI.""" - - __gsignals__ = {'search': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_STRING, - GObject.TYPE_STRING, - GObject.TYPE_PYOBJECT,)) - } - - FIELDS = ['name', 'summary', 'description'] - TYPES = ['prefix', 'keyword', 'fields'] - - def __init__(self, win): - GObject.GObject.__init__(self) - self.win = win - self.search_type = CONFIG.conf.search_default - self.search_fields = CONFIG.conf.search_fields - self.active = False - # widgets - self._bar = self.win.get_ui('search_bar') - # Searchbar togglebutton - self._toggle = self.win.get_ui('sch_togglebutton') - self._toggle.connect('toggled', self.on_toggle) - # Search Entry - self._entry = self.win.get_ui('search_entry') - self._entry.connect('activate', self.on_entry_activate) - self._entry.connect('icon-press', self.on_entry_icon) - # Search Options - self._options = self.win.get_ui('search-options') - self._options_button = self.win.get_ui('sch_options_button') - self._options_button.connect('clicked', self.on_options_button) - # Search Spinner - self._spinner = self.win.get_ui('search_spinner') - self._spinner.stop() - # setup field checkboxes - for key in SearchBar.FIELDS: - wid = self.win.get_ui('sch_fld_%s' % key) - if key in self.search_fields: - wid.set_active(True) - wid.connect('toggled', self.on_fields_changed, key) - # set fields sensitive if type == 'fields' - self._set_fields_sensitive(self.search_type == 'fields') - # setup search type radiobuttons - for key in SearchBar.TYPES: - wid = self.win.get_ui('sch_opt_%s' % key) - if key == self.search_type: - wid.set_active(True) - wid.connect('toggled', self.on_type_changed, key) - # setup search option popover - self.opt_popover = self.win.get_ui('sch_opt_popover') - - def show_spinner(self, state=True): - """Set is spinner in searchbar is running.""" - if state: - self._spinner.start() - else: - self._spinner.stop() - - def toggle(self): - self._toggle.set_active(not self._toggle.get_active()) - - def _set_fields_sensitive(self, state=True): - """Set sensitivity of field checkboxes.""" - for key in SearchBar.FIELDS: - wid = self.win.get_ui('sch_fld_%s' % key) - wid.set_sensitive(state) - - def _get_active_field(self): - """Get the active search fields, based on checkbox states.""" - active = [] - for key in SearchBar.FIELDS: - wid = self.win.get_ui('sch_fld_%s' % key) - if wid.get_active(): - active.append(key) - return active - - def _set_focus(self): - """Set focus on search entry and move cursor to end of text.""" - self._entry.grab_focus() - self._entry.emit( - 'move-cursor', Gtk.MovementStep.BUFFER_ENDS, 1, False) - - def on_options_button(self, widget): - """Search Option button is toggled.""" - if self.opt_popover.get_visible(): - self.opt_popover.hide() - self._set_focus() - else: - self.opt_popover.show_all() - - def on_toggle(self, widget=None): - """Search Toggle button is toggled.""" - self._bar.set_search_mode(not self._bar.get_search_mode()) - if self._bar.get_search_mode(): - self._set_focus() - self.active = self._bar.get_search_mode() - - def on_type_changed(self, widget, key): - """Search type is changed.""" - if widget.get_active(): - self.search_type = key - CONFIG.conf.search_default = key - if self.search_type == 'fields': - self._set_fields_sensitive(True) - else: - self._set_fields_sensitive(False) - - def on_fields_changed(self, widget, key): - """Search fields is changed.""" - self.search_fields = self._get_active_field() - CONFIG.conf.search_fields = self.search_fields - - def on_entry_activate(self, widget): - """Seach entry is activated""" - # make sure search option is hidden - self.signal() - - def on_entry_icon(self, widget, icon_pos, event): - """Search icon press callback.""" - # clear icon pressed - if icon_pos == Gtk.EntryIconPosition.SECONDARY: - self._entry.set_text('') - self._entry.emit('activate') - - def signal(self): - """Emit a seach signal with key, search type & fields.""" - txt = self._entry.get_text() - if self.search_type == 'fields': - self.emit('search', txt, self.search_type, self.search_fields) - else: - self.emit('search', txt, self.search_type, []) - - def reset(self): - self._entry.set_text('') - - def hide(self): - if self.active: - self._bar.set_search_mode(False) - - def show(self): - if self.active: - self._bar.set_search_mode(True) - self._set_focus() - - -class FilterSidebar(GObject.GObject): - """Sidebar selector widget. """ - - __gsignals__ = {'sidebar-changed': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_STRING,))} - - INDEX = {0: 'updates', 1: 'installed', 2: 'available', 3: 'all'} - - def __init__(self, parent): - GObject.GObject.__init__(self) - self._lb = parent.get_ui('pkg_listbox') - self._parent = parent - self._current = None - self._lb.unselect_all() - self._lb.connect('row-selected', self.on_toggled) - - def on_toggled(self, widget, row): - """Active filter is changed.""" - if row: - ndx = row.get_index() - key = FilterSidebar.INDEX[ndx] - if key != self._current: - self.emit('sidebar_changed', key) - self._current = key - - def set_active(self, key): - """Set the active item based on key.""" - if self._current == key: - self.emit('sidebar_changed', key) - else: - row_name = 'pkg_flt_row_' + key - row = self._parent.get_ui(row_name) - self._lb.select_row(row) - - -class Filters(GObject.GObject): - """Handling the package filter UI.""" - - __gsignals__ = {'filter-changed': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_STRING,) - )} - - FILTERS = ['updates', 'installed', 'available', 'all'] - - def __init__(self, win): - GObject.GObject.__init__(self) - self.win = win - self._sidebar = FilterSidebar(self.win) - self.current = 'updates' - self._sidebar.connect('sidebar-changed', self.on_toggled) - - def on_toggled(self, widget, flt): - """Active filter is changed.""" - self.current = flt - self.emit('filter-changed', flt) - - def set_active(self, flt): - """Set the active filter.""" - self._sidebar.set_active(flt) - - -class Content(GObject.GObject): - """Handling the content pages""" - - __gsignals__ = {'page-changed': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_STRING,) - )} - - def __init__(self, win): - GObject.GObject.__init__(self) - self.win = win - self._stack = self.win.get_ui('main_stack') - self.switcher = self.win.get_ui('main_switcher') - # catch changes in active page in stack - self._stack.connect('notify::visible-child', self.on_switch) - - def select_page(self, page): - """Set the active page.""" - self._stack.set_visible_child_name(page) - - def on_menu_select(self, widget, page): - """Main menu page entry is seleceted""" - self.select_page(page) - - def on_switch(self, widget, data): - """The active page is changed.""" - child = self._stack.get_visible_child_name() - self.emit('page-changed', child) - - -class PackageDetails(GObject.GObject): - __gsignals__ = {'info-changed': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_STRING,)) - } - - VALUES = {0: 'desc', 1: 'updinfo', 2: 'files', 3: 'deps'} - DEFAULT_STYLES = ['description', 'filelist', 'changelog', - 'changelog-header'] - - def __init__(self, win, url_handler=None): - super(PackageDetails, self).__init__() - self.win = win - self.widget = self.win.get_ui('info_box') - self._listbox = self.win.get_ui('info_list') - self._listbox.connect('row-selected', self.on_toggled) - - self._text = self.win.get_ui('info_text') - self._text.connect("motion_notify_event", self.on_mouse_motion) - self._buffer = self.win.get_ui('info_buffer') - self._tags = self.win.get_ui('info_tags') - self._default_style = self._tags.lookup('') - self._url_handler = url_handler - # List of active URLs in the tab - self.url_tags = [] - self.underlined_url = False - self.url_list = {} - self._listbox.select_row(self.win.get_ui('list_desc')) - - def show(self, show=True): - if show: - self.widget.show_all() - self.clear() - else: - self.widget.hide() - - def on_toggled(self, listbox, row): - if row: - ndx = row.get_index() - key = PackageDetails.VALUES[ndx] - self.emit('info-changed', key) - - def get_style(self, tag_name): - if tag_name in PackageDetails.DEFAULT_STYLES and \ - yumex.misc.check_dark_theme(): - tag_name += '_dark' - style = self._tags.lookup(tag_name) - return style - - def write(self, txt, style_name=None, newline=True): - if not txt: - return - if newline and txt[-1] != '\n': - txt += '\n' - start, end = self._buffer.get_bounds() - if style_name: - style = self.get_style(style_name) - else: - style = self.get_style('description') - if style: - self._buffer.insert_with_tags(end, txt, style) - else: - self._buffer.insert(end, txt) - self._text.scroll_to_iter(self._buffer.get_end_iter(), - 0.0, True, 0.0, 0.0) - - def clear(self): - self._buffer.set_text('') - - def goto_top(self): - self._text.scroll_to_iter(self._buffer.get_start_iter(), - 0.0, False, 0.0, 0.0) - - def on_url_event(self, tag, widget, event, iterator): - """ Catch when the user clicks the URL """ - if event.type == Gdk.EventType.BUTTON_RELEASE: - url = self.url_list[tag.get_property("name")] - if self._url_handler: - self._url_handler(url) - - def on_mouse_motion(self, widget, event, data=None): - """ - Mouse movement handler for TextView - - :param widget: - :param event: - :param data: - """ - window = widget.get_window(Gtk.TextWindowType.WIDGET) - # Get x,y pos for widget - w, x, y, mask = window.get_pointer() - # convert coords to TextBuffer coords - x, y = widget.window_to_buffer_coords(Gtk.TextWindowType.TEXT, x, y) - # Get the tags on current pointer location - itr = widget.get_iter_at_location(x, y) - if isinstance(itr, tuple): - itr = itr[1] - tags = itr.get_tags() - # Remove underline and hand mouse pointer - if self.underlined_url: - self.underlined_url.set_property("underline", - Pango.Underline.NONE) - widget.get_window(Gtk.TextWindowType.TEXT).set_cursor(None) - self.underlined_url = None - for tag in tags: - if tag in self.url_tags: - # underline the tags and change mouse pointer to hand - tag.set_property("underline", Pango.Underline.SINGLE) - widget.get_window(Gtk.TextWindowType.TEXT).set_cursor( - Gdk.Cursor(Gdk.CursorType.HAND2)) - self.underlined_url = tag - return False - - def add_url(self, text, url, newline=False): - """ Append URL to textbuffer and connect an event """ - # Try to see if we already got the current url as a tag - tag = self._tags.lookup(text) - if not tag: - if yumex.misc.check_dark_theme(): - tag = self._buffer.create_tag(text, - foreground="#ff7800") - else: - tag = self._buffer.create_tag(text, - foreground="#ff7800") - tag.connect("event", self.on_url_event) - self.url_tags.append(tag) - self.url_list[text] = url - self.write(text, style_name=text, newline=False) - self.write(' ', style_name='describtion', newline=newline) - - -class PackageInfo(PackageDetails): - """ - class for handling the Package Information view - """ - - def __init__(self, window, base): - PackageDetails.__init__(self, window, self._url_handler) - self.window = window - self.base = base - self.current_package = None - self.active_filter = const.PKGINFO_FILTERS[0] - self.connect('info-changed', self.on_filter_changed) - self.update() - - def on_filter_changed(self, widget, data): - self.active_filter = data - self.update() - - def set_package(self, pkg): - """ - Set current active package to show information about in the - Package Info view. - - :param pkg: package to set as active package - """ - self.current_package = pkg - self.win.set_working(True, True) - self.update() - self.win.set_working(False) - - def update(self): - """ - update the information in the Package info view - """ - self.clear() - if self.current_package: - if self.active_filter == 'desc': - self._show_description() - elif self.active_filter == 'updinfo': - self._show_updateinfo() - - elif self.active_filter == 'changelog': - self._show_changelog() - - elif self.active_filter == 'files': - self._show_filelist() - - elif self.active_filter == 'deps': - self._show_requirements() - else: - logger.error("Package info not found: %s", self.active_filter) - self.goto_top() - - def _url_handler(self, url): - logger.debug('URL activated: ' + url) - # just to be sure and prevent shell injection - if yumex.misc.is_url(url): - rc = subprocess.call("xdg-open '%s'" % url, shell=True) - # failover to gtk.show_uri, if xdg-open fails or is not installed - if rc != 0: - Gtk.show_uri(None, url, Gdk.CURRENT_TIME) - else: - self.frontend.warning("%s is not an URL" % url) - - def _get_name_for_url(self): - return urllib.parse.quote_plus(self.current_package.name) - - def _is_fedora_pkg(self): - if self.current_package: - if self.current_package.repository in const.FEDORA_REPOS: - return True - return False - - def _show_description(self): - tags = self.current_package.pkgtags - if tags: - self.write(_("Tags: %s\n") % - ", ".join(tags), "changelog-header") - desc = self.current_package.description - self.write(desc) - self.write('\n') - self.write(_("Links: "), "changelog-header", newline=True) - self.write(' ', newline=False) - url_hp = self.current_package.URL - self.add_url(url_hp, url_hp, newline=True) - if self._is_fedora_pkg(): - self.write(' ', newline=False) - url_fp = const.FEDORA_PACKAGES_URL + self._get_name_for_url() - self.add_url(url_fp, url_fp, newline=True) - self.base.set_working(False) - - def _show_updateinfo(self): - self.base.set_working(True, False) - updinfo = self.current_package.updateinfo - if updinfo: - updinfo.reverse() - cnt = 0 - for info in updinfo: - self._write_update_info(info) - cnt += 1 - # only show max 3 advisories - if cnt == 3: - break - else: - self.write(_("No update information is available")) - if self._is_fedora_pkg(): - self.write(_("\nFedora Updates:"), "changelog-header", - newline=True) - url = const.FEDORA_PACKAGES_URL + self._get_name_for_url() \ - + "/updates" - self.add_url(url, url, newline=True) - - self.base.set_working(False, False) - - def _write_update_info(self, upd_info): - head = "" - head += ("%14s " % _("Release")) + ": %(id)s\n" - head += ("%14s " % _("Type")) + ": " - head += const.ADVISORY_TYPES[upd_info['type']] + "\n" - head += ("%14s " % _("Issued")) + ": %(updated)s\n" - head = head % upd_info - - # if upd_info['updated'] and upd_info['updated'] != upd_info['issued']: - # head += " Updated : %s" % upd_info['updated'] - - self.write(head, 'filelist') - head = "" - - # Add our bugzilla references - if upd_info['references']: - bzs = [r for r in upd_info['references'] - if r and r[0] == hawkey.REFERENCE_BUGZILLA] - if len(bzs): - self.write('\n') - header = "Bugzilla" - for bz in bzs: - (typ, bug, title, url) = bz - bug_msg = '- %s' % title - self.write("%14s : " % header, 'filelist', newline=False) - self.add_url(bug, url) - self.write(bug_msg, 'filelist') - header = " " - - desc = upd_info['description'] - head += "\n%14s : %s\n" % (_("Description"), - yumex.misc.format_block(desc, 17)) - head += "\n" - self.write(head, 'filelist') - - def _show_changelog(self): - self.base.set_working(True, False) - changelog = self.current_package.changelog - if changelog: - i = 0 - for (c_date, c_ver, msg) in changelog: - i += 1 - self.write( - "* %s %s" % - (datetime.date.fromtimestamp(c_date).isoformat(), c_ver), - "changelog-header") - for line in msg.split('\n'): - self.write("%s" % line, "changelog") - self.write('\n') - if i == 5: # only show the last 5 entries - break - else: - self.write(_("No changelog information is available")) - if self._is_fedora_pkg(): - self.write(_("\nOnline Changelog:"), "changelog-header", - newline=True) - url = const.FEDORA_PACKAGES_URL + self._get_name_for_url() \ - + "/changelog" - self.add_url(url, url, newline=True) - - self.base.set_working(False, False) - - def _show_filelist(self): - self.base.set_working(True, False) - filelist = self.current_package.filelist - if filelist: - for fname in sorted(filelist): - self.write(fname, 'filelist') - else: - self.write(_("No filelist information is available")) - self.base.set_working(False, False) - - def _show_requirements(self): - self.base.set_working(True, False) - reqs = self.current_package.requirements - if reqs: - for key in reqs: - self.write(key, 'filelist') - for pkg_id in reqs[key]: - pkg = yumex.misc.pkg_id_to_full_name(pkg_id) - self.write(' --> {}'.format(pkg), 'filelist') - self.base.set_working(False, False) - - -class MainMenu(Gio.Menu): - __gsignals__ = {'menu-changed': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_STRING, - GObject.TYPE_PYOBJECT,)) - } - - def __init__(self, win): - super(MainMenu, self).__init__() - self.win = win - self._button = self.win.get_ui('mainmenu_button') - self._button.connect('clicked', self._on_button) - self._popover = Gtk.Popover.new_from_model(self._button, - self) - help_menu = Gio.Menu() - self._add_menu(help_menu, _("About"), 'about') - self._add_menu(help_menu, _("Documentation"), 'docs') - self.append_section(_("Help"), help_menu) - gen_menu = Gio.Menu() - self._add_menu(gen_menu, _("Preferences"), 'pref') - self._add_menu(gen_menu, _("Refresh Metadata"), 'reload') - self._add_menu(gen_menu, _("Quit"), 'quit') - self.append_section(None, gen_menu) - - def _add_menu(self, menu, label, name): - # menu - menu.append(label, 'win.{}'.format(name)) - # action - action = Gio.SimpleAction.new(name, None) - self.win.add_action(action) - action.connect('activate', self._on_menu, name) - return action - - def _on_menu(self, action, state, action_name): - state = action.get_state() - data = None - if state == G_TRUE: - action.change_state(G_FALSE) - data = False - elif state == G_FALSE: - action.change_state(G_TRUE) - data = True - self.emit('menu-changed', action_name, data) - - def _on_button(self, button): - self._popover.show_all() - - -class ExtraFilters(GObject.GObject): - __gsignals__ = {'changed': (GObject.SignalFlags.RUN_FIRST, - None, - (GObject.TYPE_STRING, - GObject.TYPE_PYOBJECT,)) - } - - def __init__(self, win): - super(ExtraFilters, self).__init__() - self.win = win - self.all_archs = const.PLATFORM_ARCH - self.current_archs = None - self._button = self.win.get_ui('button_more_filters') - self._button.connect('clicked', self._on_button) - self._popover = self.win.get_ui('more_filters_popover') - self._arch_box = self.win.get_ui('box_archs') - self._setup_archs() - self.newest_only = self.win.get_ui('cb_newest_only') - self.newest_only.set_active(CONFIG.conf.newest_only) - self.newest_only.connect('toggled', self._on_newest) - - def popup(self): - self._on_button(self._button) - - def _on_button(self, button): - self._popover.show_all() - - def _setup_archs(self): - if not CONFIG.conf.archs: - CONFIG.conf.archs = list(self.all_archs) - CONFIG.write() - self.current_archs = set(CONFIG.conf.archs) - for arch in self.all_archs: - cb = Gtk.CheckButton(label=arch) - self._arch_box.pack_start(cb, True, True, 0) - if arch in CONFIG.conf.archs: - cb.set_active(True) - else: - cb.set_active(False) - cb.show() - cb.connect('toggled', self._on_arch) - - def _on_arch(self, widget): - state = widget.get_active() - label = widget.get_label() - if state: - self.current_archs.add(label) - else: - self.current_archs.remove(label) - CONFIG.conf.archs = list(self.current_archs) - CONFIG.write() - self.emit("changed", 'arch', list(self.current_archs)) - - def _on_newest(self, widget): - state = widget.get_active() - self.emit('changed', 'newest_only', state) diff --git a/src/yumex/gui/widgets/__init__.py b/src/yumex/gui/widgets/__init__.py new file mode 100644 index 0000000..747398e --- /dev/null +++ b/src/yumex/gui/widgets/__init__.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# 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 diff --git a/src/yumex/gui/widgets/content.py b/src/yumex/gui/widgets/content.py new file mode 100644 index 0000000..c338c32 --- /dev/null +++ b/src/yumex/gui/widgets/content.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging +from gi.repository import GObject + +logger = logging.getLogger("yumex.gui.widget") + + +class Content(GObject.GObject): + """Handling the content pages""" + + __gsignals__ = { + "page-changed": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_STRING,)) + } + + def __init__(self, win): + GObject.GObject.__init__(self) + self.win = win + self._stack = self.win.get_ui("main_stack") + self.switcher = self.win.get_ui("main_switcher") + # catch changes in active page in stack + self._stack.connect("notify::visible-child", self.on_switch) + + def select_page(self, page): + """Set the active page.""" + self._stack.set_visible_child_name(page) + + def on_menu_select(self, widget, page): + """Main menu page entry is seleceted""" + self.select_page(page) + + def on_switch(self, widget, data): + """The active page is changed.""" + child = self._stack.get_visible_child_name() + self.emit("page-changed", child) diff --git a/src/yumex/gui/widgets/filters.py b/src/yumex/gui/widgets/filters.py new file mode 100644 index 0000000..ecd6acf --- /dev/null +++ b/src/yumex/gui/widgets/filters.py @@ -0,0 +1,150 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging +import yumex.common.const as const +from gi.repository import GObject, Gtk +from yumex.common import CONFIG + +logger = logging.getLogger("yumex.gui.widget") + + +class ExtraFilters(GObject.GObject): + __gsignals__ = { + "changed": ( + GObject.SignalFlags.RUN_FIRST, + None, + ( + GObject.TYPE_STRING, + GObject.TYPE_PYOBJECT, + ), + ) + } + + def __init__(self, win): + super(ExtraFilters, self).__init__() + self.win = win + self.all_archs = const.PLATFORM_ARCH + self.current_archs = None + self._button = self.win.get_ui("button_more_filters") + self._button.connect("clicked", self._on_button) + self._popover = self.win.get_ui("more_filters_popover") + self._arch_box = self.win.get_ui("box_archs") + self._setup_archs() + self.newest_only = self.win.get_ui("cb_newest_only") + self.newest_only.set_active(CONFIG.conf.newest_only) + self.newest_only.connect("toggled", self._on_newest) + + def popup(self): + self._on_button(self._button) + + def _on_button(self, button): + self._popover.show_all() + + def _setup_archs(self): + if not CONFIG.conf.archs: + CONFIG.conf.archs = list(self.all_archs) + CONFIG.write() + self.current_archs = set(CONFIG.conf.archs) + for arch in self.all_archs: + button = Gtk.CheckButton(label=arch) + self._arch_box.pack_start(button, True, True, 0) + if arch in CONFIG.conf.archs: + button.set_active(True) + else: + button.set_active(False) + button.show() + button.connect("toggled", self._on_arch) + + def _on_arch(self, widget): + state = widget.get_active() + label = widget.get_label() + if state: + self.current_archs.add(label) + else: + self.current_archs.remove(label) + CONFIG.conf.archs = list(self.current_archs) + CONFIG.write() + self.emit("changed", "arch", list(self.current_archs)) + + def _on_newest(self, widget): + state = widget.get_active() + self.emit("changed", "newest_only", state) + + +class FilterSidebar(GObject.GObject): + """Sidebar selector widget.""" + + __gsignals__ = { + "sidebar-changed": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_STRING,)) + } + + INDEX = {0: "updates", 1: "installed", 2: "available", 3: "all"} + + def __init__(self, parent): + GObject.GObject.__init__(self) + self._lb = parent.get_ui("pkg_listbox") + self._parent = parent + self._current = None + self._lb.unselect_all() + self._lb.connect("row-selected", self.on_toggled) + + def on_toggled(self, widget, row): + """Active filter is changed.""" + if row: + ndx = row.get_index() + key = FilterSidebar.INDEX[ndx] + if key != self._current: + self.emit("sidebar_changed", key) + self._current = key + + def set_active(self, key): + """Set the active item based on key.""" + if self._current == key: + self.emit("sidebar_changed", key) + else: + row_name = "pkg_flt_row_" + key + row = self._parent.get_ui(row_name) + self._lb.select_row(row) + + +class Filters(GObject.GObject): + """Handling the package filter UI.""" + + __gsignals__ = { + "filter-changed": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_STRING,)) + } + + FILTERS = ["updates", "installed", "available", "all"] + + def __init__(self, win): + GObject.GObject.__init__(self) + self.win = win + self._sidebar = FilterSidebar(self.win) + self.current = "updates" + self._sidebar.connect("sidebar-changed", self.on_toggled) + + def on_toggled(self, widget, flt): + """Active filter is changed.""" + self.current = flt + self.emit("filter-changed", flt) + + def set_active(self, flt): + """Set the active filter.""" + self._sidebar.set_active(flt) diff --git a/src/yumex/gui/widgets/mainnenu.py b/src/yumex/gui/widgets/mainnenu.py new file mode 100644 index 0000000..f04628d --- /dev/null +++ b/src/yumex/gui/widgets/mainnenu.py @@ -0,0 +1,80 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging +from gi.repository import Gio, GObject, Gtk, GLib +from yumex.common import _ + +G_TRUE = GLib.Variant.new_boolean(True) +G_FALSE = GLib.Variant.new_boolean(False) + +logger = logging.getLogger("yumex.gui.widget") + + +class MainMenu(Gio.Menu): + __gsignals__ = { + "menu-changed": ( + GObject.SignalFlags.RUN_FIRST, + None, + ( + GObject.TYPE_STRING, + GObject.TYPE_PYOBJECT, + ), + ) + } + + def __init__(self, win): + super(MainMenu, self).__init__() + self.win = win + self._button = self.win.get_ui("mainmenu_button") + self._button.connect("clicked", self._on_button) + self._popover = Gtk.Popover.new_from_model(self._button, self) + gen_menu = Gio.Menu() + self._add_menu(gen_menu, _("Preferences"), "pref") + self._add_menu(gen_menu, _("Refresh Metadata"), "reload") + self._add_menu(gen_menu, _("Quit"), "quit") + self.append_section(_("Main Menu"), gen_menu) + help_menu = Gio.Menu() + self._add_menu(help_menu, _("About"), "about") + self._add_menu(help_menu, _("Keyboard Shortcuts"), "shortcuts") + self._add_menu(help_menu, _("Documentation"), "docs") + self.append_section(_("Help"), help_menu) + + def _add_menu(self, menu, label, name): + # menu + menu.append(label, f"win.{name}") + # action + action = Gio.SimpleAction.new(name, None) + self.win.add_action(action) + action.connect("activate", self._on_menu, name) + return action + + def _on_menu(self, action, state, action_name): + state = action.get_state() + data = None + if state == G_TRUE: + action.change_state(G_FALSE) + data = False + elif state == G_FALSE: + action.change_state(G_TRUE) + data = True + self.emit("menu-changed", action_name, data) + + def _on_button(self, button): + self._popover.show_all() diff --git a/src/yumex/gui/widgets/packageinfo.py b/src/yumex/gui/widgets/packageinfo.py new file mode 100644 index 0000000..8f7d435 --- /dev/null +++ b/src/yumex/gui/widgets/packageinfo.py @@ -0,0 +1,361 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import datetime +import logging +import subprocess +import urllib.parse + +import hawkey +import yumex.common.const as const +from gi.repository import Gdk, GObject, Gtk, Pango +from yumex.common import _, check_dark_theme, format_block, is_url, pkg_id_to_full_name + +logger = logging.getLogger("yumex.gui.widget") + + +class PackageDetails(GObject.GObject): + __gsignals__ = { + "info-changed": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_STRING,)) + } + + VALUES = {0: "desc", 1: "updinfo", 2: "files", 3: "deps"} + DEFAULT_STYLES = ["description", "filelist", "changelog", "changelog-header"] + + def __init__(self, win, url_handler=None): + super(PackageDetails, self).__init__() + self.win = win + self.widget = self.win.get_ui("info_box") + self._listbox = self.win.get_ui("info_list") + self._listbox.connect("row-selected", self.on_toggled) + + self._text = self.win.get_ui("info_text") + self._text.connect("motion_notify_event", self.on_mouse_motion) + self._buffer = self.win.get_ui("info_buffer") + self._tags = self.win.get_ui("info_tags") + self._default_style = self._tags.lookup("") + self._url_handler = url_handler + # List of active URLs in the tab + self.url_tags = [] + self.underlined_url = False + self.url_list = {} + self._listbox.select_row(self.win.get_ui("list_desc")) + + def set_active(self, key): + """Set the active item based on key.""" + if key in ("desc", "updinfo", "files", "deps"): + self._listbox.select_row(self.win.get_ui(f"list_{key}")) + + def show(self, show=True): + if show: + self.widget.show_all() + self.clear() + else: + self.widget.hide() + + def on_toggled(self, listbox, row): + if row: + ndx = row.get_index() + key = PackageDetails.VALUES[ndx] + self.emit("info-changed", key) + + def get_style(self, tag_name): + if tag_name in PackageDetails.DEFAULT_STYLES and check_dark_theme(): + tag_name += "_dark" + style = self._tags.lookup(tag_name) + return style + + def write(self, txt, style_name=None, newline=True): + if not txt: + return + if newline and txt[-1] != "\n": + txt += "\n" + _, end = self._buffer.get_bounds() + if style_name: + style = self.get_style(style_name) + else: + style = self.get_style("description") + if style: + self._buffer.insert_with_tags(end, txt, style) + else: + self._buffer.insert(end, txt) + self._text.scroll_to_iter(self._buffer.get_end_iter(), 0.0, True, 0.0, 0.0) + + def clear(self): + self._buffer.set_text("") + + def goto_top(self): + self._text.scroll_to_iter(self._buffer.get_start_iter(), 0.0, False, 0.0, 0.0) + + def on_url_event(self, tag, widget, event, iterator): + """Catch when the user clicks the URL""" + if event.type == Gdk.EventType.BUTTON_RELEASE: + url = self.url_list[tag.get_property("name")] + if self._url_handler: + self._url_handler(url) + + def on_mouse_motion(self, widget, event, data=None): + """ + Mouse movement handler for TextView + + :param widget: + :param event: + :param data: + """ + window = widget.get_window(Gtk.TextWindowType.WIDGET) + # Get x,y pos for widget + _, x, y, _ = window.get_pointer() + # convert coords to TextBuffer coords + x, y = widget.window_to_buffer_coords(Gtk.TextWindowType.TEXT, x, y) + # Get the tags on current pointer location + itr = widget.get_iter_at_location(x, y) + if isinstance(itr, tuple): + itr = itr[1] + tags = itr.get_tags() + # Remove underline and hand mouse pointer + if self.underlined_url: + self.underlined_url.set_property("underline", Pango.Underline.NONE) + widget.get_window(Gtk.TextWindowType.TEXT).set_cursor(None) + self.underlined_url = None + for tag in tags: + if tag in self.url_tags: + # underline the tags and change mouse pointer to hand + tag.set_property("underline", Pango.Underline.SINGLE) + widget.get_window(Gtk.TextWindowType.TEXT).set_cursor( + Gdk.Cursor(Gdk.CursorType.HAND2) + ) + self.underlined_url = tag + return False + + def add_url(self, text, url, newline=False): + """Append URL to textbuffer and connect an event""" + # Try to see if we already got the current url as a tag + tag = self._tags.lookup(text) + if not tag: + if check_dark_theme(): + tag = self._buffer.create_tag(text, foreground="#ff7800") + else: + tag = self._buffer.create_tag(text, foreground="#ff7800") + tag.connect("event", self.on_url_event) + self.url_tags.append(tag) + self.url_list[text] = url + self.write(text, style_name=text, newline=False) + self.write(" ", style_name="describtion", newline=newline) + + +class PackageInfo(PackageDetails): + """ + class for handling the Package Information view + """ + + def __init__(self, window, base): + PackageDetails.__init__(self, window, self._url_handler) + self.window = window + self.base = base + self.current_package = None + self.active_filter = const.PKGINFO_FILTERS[0] + self.connect("info-changed", self.on_filter_changed) + self.update() + + def on_filter_changed(self, widget, data): + self.active_filter = data + self.update() + + def set_package(self, pkg): + """ + Set current active package to show information about in the + Package Info view. + + :param pkg: package to set as active package + """ + self.current_package = pkg + self.win.set_working(True, True) + self.update() + self.win.set_working(False) + + def update(self): + """ + update the information in the Package info view + """ + self.clear() + if self.current_package: + if self.active_filter == "desc": + self._show_description() + elif self.active_filter == "updinfo": + self._show_updateinfo() + + elif self.active_filter == "changelog": + self._show_changelog() + + elif self.active_filter == "files": + self._show_filelist() + + elif self.active_filter == "deps": + self._show_requirements() + else: + logger.error(f"Package info not found: {self.active_filter}") + self.goto_top() + + # pylint: disable=method-hidden + def _url_handler(self, url): + logger.debug("URL activated: {url}") + # just to be sure and prevent shell injection + if is_url(url): + rc = subprocess.run("xdg-open", f"'{url}'", check=False) + # failover to gtk.show_uri, if xdg-open fails or is not installed + if rc != 0: + Gtk.show_uri(None, url, Gdk.CURRENT_TIME) + else: + self.frontend.warning(f"%s is not an {url}") # pylint: disable=no-member + + def _get_name_for_url(self): + return urllib.parse.quote_plus(self.current_package.name) + + def _is_fedora_pkg(self): + if self.current_package: + if self.current_package.repository in const.FEDORA_REPOS: + return True + return False + + def _show_description(self): + tags = self.current_package.pkgtags + if tags: + self.write(_("Tags: %s\n") % ", ".join(tags), "changelog-header") + desc = self.current_package.description + self.write(desc) + self.write("\n") + self.write(_("Links: "), "changelog-header", newline=True) + self.write(" ", newline=False) + url_hp = self.current_package.url + self.add_url(url_hp, url_hp, newline=True) + if self._is_fedora_pkg(): + self.write(" ", newline=False) + url_fp = const.FEDORA_PACKAGES_URL + self._get_name_for_url() + self.add_url(url_fp, url_fp, newline=True) + self.base.set_working(False) + + def _show_updateinfo(self): + self.base.set_working(True, False) + updinfo = self.current_package.updateinfo + if updinfo: + updinfo.reverse() + cnt = 0 + for info in updinfo: + self._write_update_info(info) + cnt += 1 + # only show max 3 advisories + if cnt == 3: + break + else: + self.write(_("No update information is available")) + if self._is_fedora_pkg(): + self.write(_("\nFedora Updates:"), "changelog-header", newline=True) + url = const.FEDORA_PACKAGES_URL + self._get_name_for_url() + "/updates" + self.add_url(url, url, newline=True) + + self.base.set_working(False, False) + + def _write_update_info(self, upd_info): + head = "" + # pylint: disable=consider-using-f-string + head += ("%14s " % _("Release")) + ": %(id)s\n" + head += ("%14s " % _("Type")) + ": " + head += const.ADVISORY_TYPES[upd_info["type"]] + "\n" + head += ("%14s " % _("Issued")) + ": %(updated)s\n" + head = head % upd_info + + # if upd_info['updated'] and upd_info['updated'] != upd_info['issued']: + # head += " Updated : %s" % upd_info['updated'] + + self.write(head, "filelist") + head = "" + + # Add our bugzilla references + if upd_info["references"]: + bzs = [ + r + for r in upd_info["references"] + if r and r[0] == hawkey.REFERENCE_BUGZILLA + ] + if len(bzs): + self.write("\n") + # pylint: disable=unused-variable + header = "Bugzilla" + for bz in bzs: + (_typ, bug, title, url) = bz + bug_msg = f"- {title}" + self.write("{header} : ", "filelist", newline=False) + self.add_url(bug, url) + self.write(bug_msg, "filelist") + header = " " # noqa: F841 + + desc = upd_info["description"] + head += f'\n{_("Description"):14} : {format_block(desc, 17)}\n' + head += "\n" + self.write(head, "filelist") + + def _show_changelog(self): + self.base.set_working(True, False) + changelog = self.current_package.changelog + if changelog: + i = 0 + for (c_date, c_ver, msg) in changelog: + i += 1 + # pylint: disable=consider-using-f-string + self.write( + "* %s %s" + % (datetime.date.fromtimestamp(c_date).isoformat(), c_ver), + "changelog-header", + ) + for line in msg.split("\n"): + self.write(line, "changelog") + self.write("\n") + if i == 5: # only show the last 5 entries + break + else: + self.write(_("No changelog information is available")) + if self._is_fedora_pkg(): + self.write(_("\nOnline Changelog:"), "changelog-header", newline=True) + url = ( + const.FEDORA_PACKAGES_URL + self._get_name_for_url() + "/changelog" + ) + self.add_url(url, url, newline=True) + + self.base.set_working(False, False) + + def _show_filelist(self): + self.base.set_working(True, False) + filelist = self.current_package.filelist + if filelist: + for fname in sorted(filelist): + self.write(fname, "filelist") + else: + self.write(_("No filelist information is available")) + self.base.set_working(False, False) + + def _show_requirements(self): + self.base.set_working(True, False) + reqs = self.current_package.requirements + if reqs: + for key in reqs: + self.write(key, "filelist") + for pkg_id in reqs[key]: + pkg = pkg_id_to_full_name(pkg_id) + self.write(f" --> {pkg}", "filelist") + self.base.set_working(False, False) diff --git a/src/yumex/gui/widgets/progress.py b/src/yumex/gui/widgets/progress.py new file mode 100644 index 0000000..cac6dd4 --- /dev/null +++ b/src/yumex/gui/widgets/progress.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# 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 + +from yumex.common import _ + + +class Progress: + def __init__(self, ui, base): + self.base = base + self.ui = ui + self._is_visible = False + self.infobar = ui.get_object("info_revealer") # infobar revealer + self.label = ui.get_object("infobar_label") + self.sublabel = ui.get_object("infobar_sublabel") + self.progress = ui.get_object("infobar_progress") + self.spinner = ui.get_object("info_spinner") + + def _show_infobar(self, show=True): + """Show or hide the info bar""" + if show == self._is_visible: # check if infobar already is in the wanted state + return + self.infobar.set_reveal_child(show) + if show: + self.infobar.show() + self.spinner.start() + self.progress.show() + self.progress.set_show_text(False) + self.label.show() + self.sublabel.show() + self.label.set_text("") + self.sublabel.set_text("") + self._is_visible = True + else: + self.spinner.stop() + self.infobar.hide() + self.label.hide() + self.sublabel.hide() + self.progress.hide() + self.progress.set_show_text(False) + self._is_visible = False + + def hide(self): + self._show_infobar(False) + + def message(self, msg): + self._show_infobar(True) + self.label.set_text(msg) + if hasattr(self.base, "working_splash"): + self.base.working_splash.set_label(msg) + self.base.working_splash.set_sublabel("") + + def message_sub(self, msg): + self._show_infobar(True) + self.sublabel.set_text(msg) + if hasattr(self.base, "working_splash"): + self.base.working_splash.set_sublabel(msg) + + def check_info(self): + if self.label.get_text() == "": + self.message(_("Getting Package Metadata")) + + # pylint: disable=unused-argument + def set_progress(self, frac, label=None): + if 0.0 <= frac <= 1.0: + self._show_infobar() + self.progress.set_fraction(frac) + # make sure that the main label is shown, else the progress + # looks bad. this normally happens when changlog or filelist info + # is needed for a package and it will trigger the yum daemon to + # download the need metadata. + self.check_info() diff --git a/src/yumex/gui/widgets/searchbar.py b/src/yumex/gui/widgets/searchbar.py new file mode 100644 index 0000000..b723bee --- /dev/null +++ b/src/yumex/gui/widgets/searchbar.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to +# the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import logging +from gi.repository import GLib, GObject, Gtk +from yumex.common import CONFIG + +logger = logging.getLogger("yumex.gui.widget") +G_TRUE = GLib.Variant.new_boolean(True) +G_FALSE = GLib.Variant.new_boolean(False) + + +class SearchBar(GObject.GObject): + """Handling the search UI.""" + + __gsignals__ = { + "search": ( + GObject.SignalFlags.RUN_FIRST, + None, + ( + GObject.TYPE_STRING, + GObject.TYPE_STRING, + GObject.TYPE_PYOBJECT, + ), + ) + } + + FIELDS = ["name", "summary", "description"] + TYPES = ["prefix", "keyword", "fields"] + + def __init__(self, win): + GObject.GObject.__init__(self) + self.win = win + self.search_type = CONFIG.conf.search_default + self.search_fields = CONFIG.conf.search_fields + self.active = False + # widgets + self._bar = self.win.get_ui("search_bar") + # Searchbar togglebutton + self._toggle = self.win.get_ui("sch_togglebutton") + self._toggle.connect("toggled", self.on_toggle) + # Search Entry + self._entry = self.win.get_ui("search_entry") + self._entry.connect("activate", self.on_entry_activate) + self._entry.connect("icon-press", self.on_entry_icon) + # Search Options + self._options = self.win.get_ui("search-options") + self._options_button = self.win.get_ui("sch_options_button") + self._options_button.connect("clicked", self.on_options_button) + # Search Spinner + self._spinner = self.win.get_ui("search_spinner") + self._spinner.stop() + # setup field checkboxes + for key in SearchBar.FIELDS: + wid = self.win.get_ui(f"sch_fld_{key}") + if key in self.search_fields: + wid.set_active(True) + wid.connect("toggled", self.on_fields_changed, key) + # set fields sensitive if type == 'fields' + self._set_fields_sensitive(self.search_type == "fields") + # setup search type radiobuttons + for key in SearchBar.TYPES: + wid = self.win.get_ui(f"sch_opt_{key}") + if key == self.search_type: + wid.set_active(True) + wid.connect("toggled", self.on_type_changed, key) + # setup search option popover + self.opt_popover = self.win.get_ui("sch_opt_popover") + + def show_spinner(self, state=True): + """Set is spinner in searchbar is running.""" + if state: + self._spinner.start() + else: + self._spinner.stop() + + def toggle(self): + self._toggle.set_active(not self._toggle.get_active()) + + def _set_fields_sensitive(self, state=True): + """Set sensitivity of field checkboxes.""" + for key in SearchBar.FIELDS: + wid = self.win.get_ui(f"sch_fld_{key}") + wid.set_sensitive(state) + + def _get_active_field(self): + """Get the active search fields, based on checkbox states.""" + active = [] + for key in SearchBar.FIELDS: + wid = self.win.get_ui(f"sch_fld_{key}") + if wid.get_active(): + active.append(key) + return active + + def _set_focus(self): + """Set focus on search entry and move cursor to end of text.""" + self._entry.grab_focus() + self._entry.emit("move-cursor", Gtk.MovementStep.BUFFER_ENDS, 1, False) + + def on_options_button(self, widget): + """Search Option button is toggled.""" + if self.opt_popover.get_visible(): + self.opt_popover.hide() + self._set_focus() + else: + self.opt_popover.show_all() + + def on_toggle(self, widget=None): + """Search Toggle button is toggled.""" + self._bar.set_search_mode(not self._bar.get_search_mode()) + if self._bar.get_search_mode(): + self._set_focus() + self.active = self._bar.get_search_mode() + + def on_type_changed(self, widget, key): + """Search type is changed.""" + if widget.get_active(): + self.search_type = key + CONFIG.conf.search_default = key + if self.search_type == "fields": + self._set_fields_sensitive(True) + else: + self._set_fields_sensitive(False) + + def on_fields_changed(self, widget, key): + """Search fields is changed.""" + self.search_fields = self._get_active_field() + CONFIG.conf.search_fields = self.search_fields + + def on_entry_activate(self, widget): + """Seach entry is activated""" + # make sure search option is hidden + self.signal() + + def on_entry_icon(self, widget, icon_pos, event): + """Search icon press callback.""" + # clear icon pressed + if icon_pos == Gtk.EntryIconPosition.SECONDARY: + self._entry.set_text("") + self._entry.emit("activate") + + def signal(self): + """Emit a seach signal with key, search type & fields.""" + txt = self._entry.get_text() + if self.search_type == "fields": + self.emit("search", txt, self.search_type, self.search_fields) + else: + self.emit("search", txt, self.search_type, []) + + def reset(self): + self._entry.set_text("") + + def hide(self): + if self.active: + self._bar.set_search_mode(False) + + def show(self): + if self.active: + self._bar.set_search_mode(True) + self._set_focus() diff --git a/src/yumex/gui/window/__init__.py b/src/yumex/gui/window/__init__.py new file mode 100644 index 0000000..fa7bbea --- /dev/null +++ b/src/yumex/gui/window/__init__.py @@ -0,0 +1,865 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# 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 + +# pylint: disable=attribute-defined-outside-init +from gi.repository import Gdk, Gtk # isort:skip + +import logging +import os.path +import shutil +import subprocess + +from pathlib import Path + +import yumex.common.const as const +import yumex.gui.dialogs as dialogs +import yumex.common as common + +from yumex.common import CONFIG, _, ngettext +from yumex.gui.dialogs.preferences import Preferences +from yumex.gui.dialogs.aboutdialog import AboutDialog +from yumex.gui.dialogs.progresssplash import ProgressSplash + +from yumex.gui.views.packageview import PackageView +from yumex.gui.views.queueview import QueueView +from yumex.gui.views.historyview import HistoryView +from yumex.gui.views.groupview import GroupView +from yumex.gui.widgets.content import Content +from yumex.gui.widgets.filters import ExtraFilters, Filters +from yumex.gui.widgets.mainnenu import MainMenu +from yumex.gui.widgets.packageinfo import PackageInfo +from yumex.gui.widgets.progress import Progress +from yumex.gui.widgets.searchbar import SearchBar + +from yumex.gui.window.basewindow import BaseWindow + +logger = logging.getLogger("yumex.gui.window") + + +class Window(BaseWindow): + def __init__(self, app, use_headerbar=True, install_mode=False): + super(Window, self).__init__(app) + self.use_headerbar = use_headerbar + self.install_mode = install_mode + # load custom styling from current theme + self.load_custom_styling() + + # legacy cleanup from 4.1.x + self.legacy_cleanup() + + # init vars + self.cur_height = 0 # current window height + self.cur_width = 0 # current windows width + self.cur_maximized = False + self.last_search = None + self.current_filter = None + self._root_backend = None + self._root_locked = False + self.search_type = "prefix" + self.last_search_pkgs = [] + if CONFIG.conf.archs: + self.active_archs = CONFIG.conf.archs + else: + self.active_archs = list(const.PLATFORM_ARCH) + self._grps = None # Group and Category cache + self.active_page = "packages" # Active content page + self.search_fields = CONFIG.conf.search_fields + + if self.install_mode: + self._setup_gui_installmode() + self._run_actions_installmode(self.app.args, quit_app=True) + else: + self._setup_gui() + self.show_all() + self._setup_arch() + # setup default selections + self.pkg_filter.set_active("updates") + if CONFIG.conf.auto_select_updates: + self.package_view.on_section_header_clicked(None) + if CONFIG.conf.search_visible: + self.search_bar.toggle() + + def legacy_cleanup(self): + """Cleanup yumex-dnf 4.1.X leftovers""" + # autostart file was renamed from yumex-dnf.desktop to + # yumex-dnf-updater.desktop in 4.2.x + # so we need to remove the old one. + # and create a new one + if os.path.exists(const.LEGACY_DESKTOP_FILE): + logger.debug(f"removing legacy autostart: {const.LEGACY_DESKTOP_FILE}") + os.unlink(const.LEGACY_DESKTOP_FILE) + if CONFIG.conf.autostart: + if not os.path.exists(const.USER_DESKTOP_FILE): + logger.debug(f"create autostart: {const.USER_DESKTOP_FILE}") + shutil.copy(const.SYS_DESKTOP_FILE, const.USER_DESKTOP_FILE) + # key is renamed to keyword + if CONFIG.conf.search_default == "key": + CONFIG.conf.search_default = "keyword" + + ############################################################################### + # Gui Setup + ############################################################################### + + def rerun_installmode(self, args): + """call when yumex gui is already running and is idle + and second instance is excuted in installmode + """ + self.get_ui("content_box").hide() + hidden_widgets = ["left_buttons", "right_buttons"] + for widget in hidden_widgets: + self.ui.get_object(widget).hide() + self.resize(50, 50) + self._run_actions_installmode(args, quit_app=False) + self.infobar.hide() + self.get_ui("content_box").show() + hidden_widgets = ["left_buttons", "right_buttons"] + for widget in hidden_widgets: + self.ui.get_object(widget).show() + width = CONFIG.conf.win_width + height = CONFIG.conf.win_height + self.resize(width, height) + self._reset() + + def _setup_gui_installmode(self): + """setup minimal gui for doing actions from the cmd line.""" + self.set_default_size(50, 50) + box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) + self.add(box) + box.pack_start(self.get_ui("main_box"), False, True, 0) + self.infobar = Progress(self.ui, self) + self.show_all() + + def _setup_gui(self): + # Restore windows size + width = CONFIG.conf.win_width + height = CONFIG.conf.win_height + self.set_default_size(width, height) + if CONFIG.conf.win_maximized: + self.maximize() + self.connect("configure-event", self.on_window_changed) + self.connect("window-state-event", self.on_window_state) + self.connect("key_press_event", self.on_key_press) + box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) + self.add(box) + self._headerbar = self.get_ui("headerbar") + if self.use_headerbar: # Gnome, headerbar in titlebar + headerbar = self.get_ui("headerbar") + right_header = self.get_ui("right_header") + left_header = self.get_ui("left_header") + headerbar.set_custom_title(left_header) + headerbar.pack_end(right_header) + self.set_titlebar(headerbar) + self._headerbar.set_show_close_button(True) + else: + headerbar = self.get_ui("headerbox") + right_header = self.get_ui("right_header") + right_header.set_margin_top(3) + right_header.set_margin_bottom(3) + right_header.set_margin_start(3) + right_header.set_margin_end(3) + left_header = self.get_ui("left_header") + left_header.set_margin_top(3) + left_header.set_margin_bottom(3) + left_header.set_margin_start(3) + left_header.set_margin_end(3) + headerbar.set_center_widget(left_header) + headerbar.pack_end(right_header, False, True, 0) + box.pack_start(headerbar, False, True, 0) + box.pack_start(self.get_ui("main_overlay"), False, True, 0) + # Setup search + self.search_bar = SearchBar(self) + self.search_bar.connect("search", self.on_search) + # Setup package filters + self.pkg_filter = Filters(self) + self.pkg_filter.connect("filter-changed", self.on_filter_changed) + # Setup Content + self.content = Content(self) + self.content.connect("page-changed", self.on_page_changed) + self._search_toggle = self.get_ui("sch_togglebutton") + # Setup Options + CONFIG.session.clean_instonly = CONFIG.conf.clean_instonly + CONFIG.session.newest_only = CONFIG.conf.newest_only + CONFIG.session.clean_unused = CONFIG.conf.clean_unused + if CONFIG.conf.repo_saved: + CONFIG.session.enabled_repos = CONFIG.conf.repo_enabled + # setup the package/queue/history views + self._setup_action_page() + self._setup_package_page() + self._setup_group_page() + self._setup_history_page() + + # Setup info + self.main_paned = self.get_ui("main_paned") + self.main_paned.set_position(CONFIG.conf.info_paned) + self.main_paned.set_wide_handle(True) # use wide separator bar (off) + + # infobar + self.infobar = Progress(self.ui, self) + self.infobar.hide() + + # preferences dialog + self.preferences = Preferences(self) + + # main menu setup + self.main_menu = MainMenu(self) + self.main_menu.connect("menu-changed", self.on_mainmenu) + self.apply_button = self.get_ui("button_run") + self.apply_button.connect("clicked", self.on_apply_changes) + self.apply_button.set_sensitive(False) + + # shortcuts + self.app.set_accels_for_action("win.quit", ["Q"]) + self.app.set_accels_for_action("win.docs", ["F1"]) + self.app.set_accels_for_action("win.pref", ["Return"]) + + self.working_splash = ProgressSplash(self) + + def _setup_arch(self): + self.infobar.message(_("Downloading Repository Metadata")) + # setup the arch filter + self.arch_filter = self.backend.get_filter("arch") + self.arch_filter.set_active(True) + self.arch_filter.change(self.active_archs) + + def _setup_action_page(self): + """Setup Pending Action page.""" + queue_menu = self.get_ui("queue_menu") + self.queue_view = QueueView(queue_menu) + self.queue_view.connect("queue-refresh", self.on_queue_refresh) + # Queue Page + scroll_win = self.get_ui("queue_sw") + scroll_win.add(self.queue_view) + + def _setup_package_page(self): + """Setup the package page.""" + self.package_view = PackageView(self.queue_view) + self.package_view.connect("pkg_changed", self.on_pkg_view_selection_changed) + scroll_win = self.get_ui("package_sw") + scroll_win.add(self.package_view) + # setup info view + self.info = PackageInfo(self, self) + self.extra_filters = ExtraFilters(self) + self.extra_filters.connect("changed", self.on_extra_filters) + + def _setup_group_page(self): + """Setup the group page.""" + # Groups + scroll_win = self.get_ui("groups_sw") + box = Gtk.Box() + box.set_direction(Gtk.Orientation.HORIZONTAL) + self.groups = GroupView(self.queue_view, self) + self.groups.connect("group-changed", self.on_group_changed) + # sw.add(hb) + scroll_win.add(self.groups) + scroll_win = self.get_ui("group_pkg_sw") + self.group_package_view = PackageView(self.queue_view, group_mode=True) + self.group_package_view.connect( + "pkg_changed", self.on_group_pkg_view_selection_changed + ) + scroll_win.add(self.group_package_view) + + def _setup_history_page(self): + """Setup the history page.""" + right_sw = self.get_ui("history_right_sw") + left_sw = self.get_ui("history_left_sw") + self.history_view = HistoryView(self) + left_sw.add(self.history_view) + right_sw.add(self.history_view.pkg_view) + # setup history buttons + undo = self.get_ui("history_undo") + # FIXME: History undo is broken in dnfdaemon, because of changes in private API + # so disable the botton + undo.set_sensitive(False) + undo.connect("clicked", self.on_history_undo) + + ############################################################################### + # Helpers + ############################################################################### + + def _show_shortcuts(self): + builder = Gtk.Builder.new_from_file(const.UI_DIR + "/shortcuts.ui") + shortcuts = builder.get_object("yumex-shortcuts") + shortcuts.set_default_size(1000, 600) + shortcuts.set_transient_for(self) + shortcuts.present() + + def _open_url(self, url): + """Open URL in default browser.""" + if common.is_url(url): # just to be sure and prevent shell injection + rc = subprocess.run("xdg-open", url, check=False) + # failover to gtk.show_uri, if xdg-open fails or is not installed + if rc.returncode != 0: + Gtk.show_uri(None, url, Gdk.CURRENT_TIME) + else: + dialogs.show_information(self, f"{url} is not an url") + + def _search_name(self, data, search_flt): + """Search package name for keyword with wildcards.""" + # only search for word larger than 3 chars + self.last_search = data + self.set_working(True) + newest_only = CONFIG.session.newest_only + self.last_search_pkgs = self.backend.get_packages_by_name( + search_flt % data, newest_only + ) + logger.debug(f"Packages found : {len(self.last_search_pkgs)}") + self.info.set_package(None) + self.set_working(False) + self.pkg_filter.set_active("all") + + def _search_keys(self, fields, data): + """Search given package attributes for given keywords.""" + self.last_search = data + self.set_working(True, True) + newest_only = CONFIG.session.newest_only + self.last_search_pkgs = self.backend.search( + fields, data.split(" "), True, newest_only, True + ) + self.info.set_package(None) + self.set_working(False) + self.pkg_filter.set_active("all") + + def _filter_search_pkgs(self, flt): + """Get filtered search results.""" + if flt == "updates": # get update only + pkgs = [po for po in self.last_search_pkgs if po.action in ("u", "o")] + return pkgs + elif flt == "installed": # get installed only + pkgs = [po for po in self.last_search_pkgs if po.installed] + return pkgs + elif flt == "available": + pkgs = [po for po in self.last_search_pkgs if po.action == "i"] + return pkgs + else: # get all + return self.last_search_pkgs + + def _reset_on_cancel(self): + """Reset gui on user cancel""" + self.set_working(True, splash=True) + self.infobar.hide() + self.set_working(False, splash=True) + + def _reset_on_error(self): + """Reset gui on transaction errors.""" + self.set_working(True, splash=True) + self.infobar.hide() + self.release_root_backend() + self.backend.reload() + self.set_working(False, splash=True) + + @common.exception_handler + def _reset(self): + """Reset the gui on transaction completion.""" + self.set_working(True, splash=True) + self.infobar.message(_("Reloading package information...")) + self.release_root_backend() + self.backend.reload() + # clear the package queue + self.queue_view.queue.clear() + self.queue_view.refresh() + # clear search entry + self.last_search = None + self.search_bar.reset() + # reset groups + self._grps = None + self._load_groups() + # reset history + self.history_view.reset() + self._load_history() + self.set_working(False, splash=True) + # show updates + self.content.select_page("packages") + self.pkg_filter.set_active("updates") + + def _load_groups(self): + """Load groups into group cache and populate group view.""" + if not self._grps: + logger.debug("getting group and categories") + self._grps = self.backend.get_groups() + self.groups.populate(self._grps) + self.group_package_view.populate([]) + + def _load_history(self): + """Load history and populate view.""" + if not self.history_view.is_populated: + result = self.backend.GetHistoryByDays(0, CONFIG.conf.history_days) + self.history_view.populate(result) + + def _refresh(self): + """Refresh package view, when arch filter is changed""" + if self.last_search: + self.last_search = None + self.search_bar.signal() + else: + self.pkg_filter.set_active(self.pkg_filter.current) + + def _switch_to(self, page): + if not self.active_page == page: + self.content.select_page(page) + + ############################################################################### + # Transaction Processing + ############################################################################### + + def _run_actions_installmode(self, args, quit_app): + action = None + package = None + if args.install: + action = "install" + if ".rpm" in args.install: # this is an .rpm file + path = Path(args.install) + path = path.expanduser() + path = path.resolve() + logger.debug(f"Install (rpm): {path}") + package = path.as_posix() + else: + package = args.install + elif args.remove: + action = "remove" + package = args.remove + elif args.updateall: + action = "update" + package = "*" + if action: + self._process_actions_installmode(action, package, args.yes, quit_app) + + def _populate_transaction(self): + self.backend.ClearTransaction() + errors = 0 + error_msgs = [] + for action, pkg_type in const.QUEUE_PACKAGE_TYPES.items(): + pkgs = self.queue_view.queue.get(action) + for pkg in pkgs: + if action == "do": + logger.debug(f"adding: {pkg_type} {pkg.pkg_id}") + rc, msgs = self.backend.AddTransaction(pkg.pkg_id, pkg_type) + if not rc: + logger.debug(f"result : {rc}: {pkg}") + errors += 1 + error_msgs.append(f"{pkg_type} : {pkg}") + else: + logger.debug(f"adding: {pkg_type} {pkg.pkg_id}") + rc, msgs = self.backend.AddTransaction(pkg.pkg_id, pkg_type) + if not rc: + logger.debug(f"result: {rc}: {pkg}") + errors += 1 + error_msgs.append(f"{pkg_type} : {pkg}") + for grp_id, action in self.queue_view.queue.get_groups(): + if action == "i": + rc, msgs = self.backend.GroupInstall(grp_id) + logger.debug(f"GroupInstall : {grp_id} {rc=} {msgs=}") + else: + rc, msgs = self.backend.GroupRemove(grp_id) + if not rc: + errors += 1 + if action == "i": + error_msgs.append(f"\ngroup install : {grp_id} ") + error_msgs.extend(msgs) + else: + error_msgs.append(f"\ngroup remove : {grp_id} ") + error_msgs.extend(msgs) + + if errors > 0: + raise common.TransactionBuildError(error_msgs) + + def _check_protected(self, trans): + """Check for deletion protected packages in transaction""" + protected = [] + for action, pkgs in trans: + if action == "remove": + for pkgid, _, _ in pkgs: # noqa: F402 + (n, _, _, _, _, _) = str(pkgid).split(",") + if n in CONFIG.conf.protected: + protected.append(n) + return protected + + def _build_from_queue(self): + """Populate transaction from queue and resolve deps.""" + # switch to queue view + if self.queue_view.queue.total() == 0: + raise common.QueueEmptyError + self.content.select_page("actions") + self._populate_transaction() + self.infobar.message(_("Searching for dependencies")) + rc, result = self.backend.BuildTransaction() + self.infobar.message(_("Dependencies resolved")) + if not rc: + raise common.TransactionSolveError(result) + return result + + def _get_transaction(self): + """Get current transaction.""" + rc, result = self.backend.GetTransaction() + logger.debug(f"GetTransaction : {rc=}") + if not rc: + raise common.TransactionSolveError(result) + return result + + def _run_transaction(self): + """Run the current transaction.""" + self.infobar.message(common._("Applying changes to the system")) + self.set_working(True, True, splash=True) + rc, result = self.backend.RunTransaction() + logger.debug(f"RunTransaction : {rc=}") + # This can happen more than once (more gpg keys to be + # imported) + while rc == 1: + # get info about gpgkey to be comfirmed + values = self.backend.gpg_confirm + if values: # There is a gpgkey to be verified + (_, _, hexkeyid, _, _) = values + logger.debug(f"GPGKey : {repr(values)}") + ok = dialogs.ask_for_gpg_import(self, values) + if ok: + # tell the backend that the gpg key is confirmed + self.backend.ConfirmGPGImport(hexkeyid, True) + # rerun the transaction + # FIXME: It should not be needed to populate + # the transaction again + self._populate_transaction() + rc, result = self.backend.BuildTransaction() + rc, result = self.backend.RunTransaction() + else: + break + else: # error in signature verification + dialogs.show_information( + self, _("Error checking package signatures\n"), "\n".join(result) + ) + break + + if rc == 4: # Download errors + dialogs.show_information( + self, + ngettext("Downloading error\n", "Downloading errors\n", len(result)), + "\n".join(result), + ) + self._reset_on_cancel() + return + elif rc != 0: # other transaction errors + dialogs.show_information( + self, + ngettext( + "Error in transaction\n", "Errors in transaction\n", len(result) + ), + "\n".join(result), + ) + self._reset() + return + + @common.exception_handler + def _process_actions_installmode(self, action, package, always_yes, app_quit): + """Process the pending actions from the command line. + + :param action: action to perform (install/remove) + :param package: package to work on + :param always_yes: ask the user or default to yes/ok to all questions + """ + exit_msg = "" + if action == "install": + self.infobar.message(_("Installing package: %s") % package) + exit_msg = _("%s was installed successfully") % package + self.infobar.message_sub(package) + txmbrs = self.backend.Install(package) + logger.debug(f"txmbrs: {str(txmbrs)}") + elif action == "remove": + self.infobar.message(_("Removing package: %s") % package) + exit_msg = _("%s was removed successfully") % package + self.infobar.message_sub(package) + txmbrs = self.backend.Remove(package) + logger.debug(f"txmbrs: {str(txmbrs)}") + elif action == "update": + self.infobar.message(_("Updating all available updates")) + exit_msg = _("Available updates was applied successfully") + txmbrs = self.backend.Update("*") + self.infobar.message(_("Searching for dependencies")) + rc, result = self.backend.BuildTransaction() + self.infobar.message(_("Dependencies resolved")) + if rc: + self.transaction_result.populate(result, "") + if not always_yes: + ok = self.transaction_result.run() + else: + ok = True + if ok: # Ok pressed + self.infobar.message(_("Applying changes to the system")) + self.backend.RunTransaction() + self.release_root_backend() + self.hide() + common.notify("Yum Extender", exit_msg) + else: + dialogs.show_information( + self, + ngettext( + "Error in search for dependencies", + "Errors in search for dependencies", + len(result), + ), + "\n".join(result), + ) + if app_quit: + self.release_root_backend(quit_dnfdaemon=True) + self.app.quit() + + @common.exception_handler + def _process_actions(self, from_queue=True): + """Process the current actions in the queue. + + - setup the Dnf transaction + - resolve dependencies + - ask user for confirmation on result of depsolve + - run the transaction + """ + self.set_working(True, True) + self.infobar.message(_("Preparing system for applying changes")) + try: + if from_queue: + result = self._build_from_queue() + else: + result = self._get_transaction() + self.set_working(False) + # check for protected packages + check = self._check_protected(result) + if check: + self.error_dialog.show( + ngettext( + "Can't remove protected package:", + "Can't remove protected packages:", + len(check), + ) + + common.list_to_string(check, "\n ", ",\n ") + ) + self._reset_on_cancel() + return + # transaction confirmation dialog + self.transaction_result.populate(result, "") + ok = self.transaction_result.run() + if ok: # Ok pressed + self._run_transaction() + else: # user cancelled transaction + self._reset_on_cancel() + return + except common.QueueEmptyError: # Queue is empty + self.set_working(False) + dialogs.show_information(self, _("No pending actions in queue")) + self._reset_on_cancel() + except common.TransactionBuildError as e: + # Error in building transaction + self.error_dialog.show( + ngettext( + "Error in building transaction\n", + "Errors in building transaction\n", + len(e.msgs), + ) + + "\n".join(e.msgs) + ) + self._reset_on_cancel() + except common.TransactionSolveError as e: + self.error_dialog.show( + ngettext( + "Error in search for dependencies\n", + "Errors in search for dependencies\n", + len(e.msgs), + ) + + "\n".join(e.msgs) + ) + self._reset_on_error() + + ############################################################################### + # Callback handlers + ############################################################################### + + def on_key_press(self, widget, event): + shortcut = Gtk.accelerator_get_label(event.keyval, event.state) + logger.debug(f"keyboard shotcut : {shortcut}") + + if shortcut == "Ctrl+F" or shortcut == "Shift+Ctrl+F": + if self.active_page == "packages": + self.search_bar.toggle() + elif shortcut == "Alt+1": + self._switch_to("packages") + elif shortcut == "Alt+2": + self._switch_to("groups") + elif shortcut == "Alt+3": + self._switch_to("history") + elif shortcut == "Alt+4": + self._switch_to("actions") + elif shortcut == "Alt+A": + self._process_actions() + elif shortcut == "Alt+X": + self.extra_filters.popup() + elif shortcut == "Ctrl+1": + if self.active_page == "packages": + self.pkg_filter.set_active("updates") + elif shortcut == "Ctrl+2": + if self.active_page == "packages": + self.pkg_filter.set_active("installed") + elif shortcut == "Ctrl+3": + if self.active_page == "packages": + self.pkg_filter.set_active("available") + elif shortcut == "Ctrl+4": + if self.active_page == "packages": + self.pkg_filter.set_active("all") + elif shortcut == "Ctrl+Alt+1": + if self.active_page == "packages": + self.info.set_active("desc") + elif shortcut == "Ctrl+Alt+2": + if self.active_page == "packages": + self.info.set_active("updinfo") + elif shortcut == "Ctrl+Alt+3": + if self.active_page == "packages": + self.info.set_active("files") + elif shortcut == "Ctrl+Alt+4": + if self.active_page == "packages": + self.info.set_active("deps") + + def on_mainmenu(self, widget, action, data): + """Handle mainmenu actions""" + if action == "pref": + need_reset = self.preferences.run() + if need_reset: + self._reset() + elif action == "quit": + if self.can_close(): + self.app.quit() + elif action == "about": + dialog = AboutDialog(self) + dialog.run() + dialog.destroy() + elif action == "docs": + self._open_url("http://yumex-dnf.readthedocs.org/en/latest/") + elif action == "reload": + self.reset_cache() + elif action == "shortcuts": + self._show_shortcuts() + + def on_extra_filters(self, widget, data, para): + """Handle the Extra Filters""" + if data == "arch": + self.active_archs = para + self.arch_filter.change(self.active_archs) + logger.debug(f"arch changed : {self.active_archs}") + self._refresh() + elif data == "newest_only": + CONFIG.session.newest_only = para + logger.debug(f"newest_only changed : {para}") + self._refresh() + + def on_apply_changes(self, widget): + """Apply Changes button callback.""" + self._process_actions() + + def on_page_changed(self, widget, page): + """Handle content page is changed.""" + if page == "packages": + self._search_toggle.set_sensitive(True) + self.search_bar.show() + self.info.show() + else: + self._search_toggle.set_sensitive(False) + self.search_bar.hide() + self.info.show(False) + if page == "groups": + self._load_groups() + self.info.show() + elif page == "history": + self._load_history() + self.active_page = page + + def on_search(self, widget, key, sch_type, fields): + """Handle search.""" + self.search_bar.show_spinner(True) + if key == "": # revert to the current selected filter + self.last_search = None + self.last_search_pkgs = [] + self.pkg_filter.set_active(self.current_filter) + else: + if sch_type == "keyword": + flt = "*%s*" + self._search_name(key, flt) + elif sch_type == "prefix": + flt = "%s*" + self._search_name(key, flt) + elif sch_type == "fields": + self._search_keys(fields, key) + self.search_bar.show_spinner(False) + + def on_filter_changed(self, widget, data): + """Handle changes in package filter.""" + self.infobar.message(const.PACKAGE_LOAD_MSG[data]) + self.set_working(True, True) + if self.last_search: # we are searching + pkgs = self._filter_search_pkgs(data) + else: # normal package filter + self.current_filter = self.pkg_filter.current + if data == "updates": + if CONFIG.session.newest_only: + pkgs = self.backend.get_packages(data) + else: + pkgs = self.backend.get_packages("updates_all") + obs_pkgs = self.backend.get_packages("obsoletes") + pkgs.extend(obs_pkgs) + else: + pkgs = self.backend.get_packages(data) + self.info.set_package(None) + self.infobar.message(_("Adding packages to view")) + self.package_view.populate(pkgs) + self.set_working(False) + self.infobar.hide() + if data == "updates": + self.package_view.set_header_click(True) + else: + self.package_view.set_header_click(False) + + def on_queue_refresh(self, widget, total): + """Handle content of the queue is changed.""" + if total > 0: + self.apply_button.set_sensitive(True) + else: + self.apply_button.set_sensitive(False) + + def on_pkg_view_selection_changed(self, widget, pkg): + """Handle package selection on package page.""" + self.info.set_package(pkg) + + def on_group_pkg_view_selection_changed(self, widget, pkg): + """Handle package selection on group page.""" + self.info.set_package(pkg) + + def on_group_changed(self, widget, grp_id): + """Handle group selection on group page.""" + logger.debug(f"on_group_changed : {grp_id}") + self.set_working(True, True) + pkgs = self.backend.get_group_packages(grp_id, "all") + self.group_package_view.populate(pkgs) + self.set_working(False) + + def on_history_undo(self, widget): + """Handle the undo button on history page.""" + tid = self.history_view.get_selected() + logger.debug(f"History Undo : {tid}") + rc, messages = self.backend.HistoryUndo(tid) + if rc: + self._process_actions(from_queue=False) + else: + err_msgs = "\n".join(messages) + msg = f"Can't undo history transaction :\n{err_msgs}" + logger.debug(msg) + dialogs.show_information( + self, _("Error in undo history transaction"), "\n".join(messages) + ) diff --git a/src/yumex/gui/window/basewindow.py b/src/yumex/gui/window/basewindow.py new file mode 100644 index 0000000..95ec45c --- /dev/null +++ b/src/yumex/gui/window/basewindow.py @@ -0,0 +1,251 @@ +# -*- coding: utf-8 -*- +# Yum Exteder (yumex) - A graphic package management tool +# Copyright (C) 2013 -2021 Tim Lauridsen < timlaufedoraprojectorg > +# +# 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 + +from gi.repository import Gdk, Gtk # isort:skip + +import logging +import os.path +import re +import sys + +import yumex.common.const as const +import yumex.common as common + +from yumex.common import CONFIG +from yumex.gui.dialogs.errordialog import ErrorDialog +from yumex.gui.dialogs.transactionresult import TransactionResult + +from yumex.base import BaseYumex + +logger = logging.getLogger("yumex") + + +# pylint: disable=no-member +class BaseWindow(Gtk.ApplicationWindow, BaseYumex): + def __init__(self, app): + Gtk.ApplicationWindow.__init__( + self, title="Yum Extender - Powered by DNF", application=app + ) + BaseYumex.__init__(self) + self.get_style_context().add_class("yumex-dnf-window") + self.app = app + self.connect("delete_event", self.on_delete_event) + icon = Gtk.IconTheme.get_default().load_icon("yumex-dnf", 128, 0) + self.set_icon(icon) + self.ui = Gtk.Builder() + self.ui.set_translation_domain("yumex-dnf") + self.ui.add_from_file(const.UI_DIR + "/yumex.ui") + # transaction result dialog + self.transaction_result = TransactionResult(self) + self.error_dialog = ErrorDialog(self) + self.cur_height = None + self.cur_width = None + self.cur_maximized = None + + def get_ui(self, widget_name): + return self.ui.get_object(widget_name) + + def can_close(self): + """Check if yumex is idle and can be closed""" + if self.is_working: + return False + else: + return True + + # noinspection PyUnusedLocal + def on_delete_event(self, *_args): + if self.is_working: + self.iconify() + return True + else: + self.app.quit() + + def apply_css(self, css_fn): + """apply a css for custom styling""" + if css_fn: + screen = Gdk.Screen.get_default() + css_provider = Gtk.CssProvider() + css_provider.load_from_path(css_fn) + context = Gtk.StyleContext() + context.add_provider_for_screen( + screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER + ) + logger.debug(f"loading custom styling : {css_fn}") + + def load_colors(self, theme_fn): + color_table = {} + colors = [ + "color_install", + "color_update", + "color_downgrade", + "color_normal", + "color_obsolete", + ] + regex = re.compile(r"@define-color\s(\w*)\s*(#\w{6}|@\w*)\s*;") + if common.check_dark_theme(): + color_bak = "#ffffff" + else: + color_bak = "#000000" + with open(theme_fn, "r", encoding="UTF-8") as reader: + lines = reader.readlines() + for line in lines: + if line.startswith("@define-color"): + match = regex.search(line) + if len(match.groups()) == 2: + color_table[match.group(1)] = match.group(2) + logger.debug(f" --> Color: {match.group(1)} = {match.group(2)}") + logger.debug(f"loaded {len(color_table)} colors from {theme_fn}") + for color in colors: + if color in color_table: + color_val = color_table[color] + if color_val.startswith("@"): # lookup macro color + key = color_val[1:] # dump the @ + if key in color_table: + color_val = color_table[key] + else: + logger.info( + f"Unknown Color alias : {color_val} default to {color_bak}" + ) + color_val = color_bak + setattr(CONFIG.session, color, color_val) + logger.debug(f" --> updated color : {color} to: {color_val}") + + def load_theme(self): + theme_fn = os.path.join(const.THEME_DIR, CONFIG.conf.theme) + logger.debug(f"looking for {theme_fn}") + if os.path.exists(theme_fn): + self.apply_css(theme_fn) + self.load_colors(theme_fn) + + def load_custom_styling(self): + """Load custom .css styling from current theme.""" + # Use Dark Theme + gtk_settings = Gtk.Settings.get_default() + gtk_settings.set_property( + "gtk-application-prefer-dark-theme", CONFIG.conf.use_dark + ) + css_fn = None + theme = gtk_settings.props.gtk_theme_name + logger.debug(f"current theme : {theme}") + css_postfix = f"{theme}/apps/yumex.css" + for css_prefix in [os.path.expanduser("~/.themes"), "/usr/share/themes"]: + css_file = os.path.join(css_prefix, css_postfix) + logger.debug(f"looking for {css_file}") + if os.path.exists(css_file): + css_fn = css_file + break + if css_fn: + self.apply_css(css_fn) + else: + self.load_theme() + + # noinspection PyUnusedLocal + def on_window_state(self, widget, event): + # save window current maximized state + self.cur_maximized = event.new_window_state & Gdk.WindowState.MAXIMIZED != 0 + + def on_window_changed(self, widget, data): + size = widget.get_size() + if isinstance(size, tuple): + self.cur_height = size[1] + self.cur_width = size[0] + else: + self.cur_height = size.height + self.cur_width = size.width + + def exception_handler(self, e): + """Called if exception occours in methods with the + @ExceptionHandler decorator. + """ + close = True + msg = str(e) + logger.error(f"EXCEPTION : {msg} ") + err, errmsg = self._parse_error(msg) + logger.debug(f"err: [{err}] - msg: {errmsg}") + if err == "LockedError": + errmsg = "dnf is locked by another process \n" "\nYum Extender will exit" + close = False + elif err == "AccessDeniedError": + errmsg = "Root backend was not authorized and can't continue" + close = True + elif err == "FatalError": + errmsg = "Fatal error in yumex backend" + close = False + elif err == "NoReply": + errmsg = "DNF Dbus backend is not responding \n" "\nYum Extender will exit" + close = False + if errmsg == "": + errmsg = msg + self.error_dialog.show(errmsg) + # try to exit the backends, ignore errors + if close: + try: + self.release_root_backend(quit_dnfdaemon=True) + except Exception: # pylint: disable=broad-except + pass + Gtk.main_quit() + sys.exit(1) + + def set_working(self, state, insensitive=True, splash=False): + """Set the working state. + + - show/hide the progress spinner + - show busy/normal mousepointer + - make gui insensitive/sensitive + - set/unset the woring state in the status icon + based on the state. + """ + self.is_working = state + if state: + self._set_busy_cursor(insensitive) + if splash and CONFIG.conf.show_splash: + self.working_splash.show() + if insensitive: + self._disable_buttons(False) + else: + self.infobar.hide() + self._set_normal_cursor() + if splash and CONFIG.conf.show_splash: + self.working_splash.hide() + if insensitive: + self._disable_buttons(True) + + def _disable_buttons(self, state): + insensitive_widgets = [ + "left_header", + "right_header", + "package_sidebar", + "content_box", + ] + for widget in insensitive_widgets: + self.ui.get_object(widget).set_sensitive(state) + + def _set_busy_cursor(self, insensitive=False): + """Set busy cursor in main window.""" + win = self.get_window() + if win is not None: + win.set_cursor(Gdk.Cursor(Gdk.CursorType.WATCH)) + common.do_gtk_events() + + def _set_normal_cursor(self): + """Set Normal cursor in main window.""" + win = self.get_window() + if win is not None: + win.set_cursor(None) + common.do_gtk_events() diff --git a/src/yumex/updater.py b/src/yumex/updater/__init__.py similarity index 64% rename from src/yumex/updater.py rename to src/yumex/updater/__init__.py index a7985f9..538bfeb 100644 --- a/src/yumex/updater.py +++ b/src/yumex/updater/__init__.py @@ -1,10 +1,3 @@ -""" - Anything needed to provide update notifications for users by a headless - background process. - - This module is intended to be called by instantiating UpdateApplication - from src/yumex/update.py. -""" # -*- coding: iso-8859-1 -*- # Yum Exteder (yumex) - A GUI for yum # Copyright (C) 2015 Tim Lauridsen < timlaufedoraprojectorg > @@ -23,6 +16,14 @@ # along with this program; if not, write to # the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +""" + Anything needed to provide update notifications for users by a headless + background process. + + This module is intended to be called by instantiating UpdateApplication + from src/yumex/update.py. +""" + from signal import SIGINT, SIGTERM, SIGHUP import logging @@ -30,56 +31,57 @@ import sys import time -from gi.repository import Gio, Notify, GObject, GLib from xdg import BaseDirectory - import dnfdaemon.client +from yumex.common import _, ngettext, CONFIG +import yumex.common as common -from yumex.misc import _, ngettext, CONFIG -import yumex.misc as misc +import gi -LOG_ROOT = 'yumex.updater' +gi.require_version("Gtk", "3.0") +gi.require_version("Notify", "0.7") +from gi.repository import Gio, Notify, GObject, GLib # noqa: E402 -logger = logging.getLogger(LOG_ROOT) +LOG_ROOT = "yumex.updater" + +logger = logging.getLogger(LOG_ROOT) BIN_PATH = os.path.abspath(os.path.dirname(sys.argv[0])) -YUMEX_BIN = '/usr/bin/yumex-dnf' +YUMEX_BIN = "/usr/bin/yumex-dnf" -CONF_DIR = BaseDirectory.save_config_path('yumex-dnf') -TIMESTAMP_FILE = os.path.join(CONF_DIR, 'update_timestamp.conf') +CONF_DIR = BaseDirectory.save_config_path("yumex-dnf") +TIMESTAMP_FILE = os.path.join(CONF_DIR, "update_timestamp.conf") DELAYED_START = 5 * 60 # Seconds before first check class _Notification(GObject.GObject): """Used to notify users of available updates""" - __gsignals__ = { - 'notify-action': (GObject.SignalFlags.RUN_FIRST, None, (str,)) - } + __gsignals__ = {"notify-action": (GObject.SignalFlags.RUN_FIRST, None, (str,))} def __init__(self, summary, body): GObject.GObject.__init__(self) - Notify.init('Yum Extender') + Notify.init("Yum Extender") icon = "yumex-dnf" self.__notification = Notify.Notification.new(summary, body, icon) self.__notification.set_timeout(10000) # timeout 10s - self.__notification.add_action('later', _('Not Now'), - self.__callback) - self.__notification.add_action('show', _('Show Updates'), - self.__callback) - self.__notification.connect('closed', self.__on_closed) + self.__notification.add_action("later", _("Not Now"), self.__callback) + self.__notification.add_action("show", _("Show Updates"), self.__callback) + self.__notification.connect("closed", self.__on_closed) def show(self): """Show the notification. This call does not block.""" self.__notification.show() def __callback(self, notification, action): - self.emit('notify-action', action) + self.emit("notify-action", action) def __on_closed(self, notification): - self.emit('notify-action', 'closed') + reason = self.__notification.get_closed_reason() + logger.debug(f"closed reason: {reason}") + self.emit("notify-action", "closed") class _UpdateTimestamp: @@ -98,14 +100,12 @@ def get_last_time_diff(self): now = int(time.time()) if self.__last_time == -1: try: - file = open(self.__time_file, 'r') - t_old = int(file.read()) - file.close() - self.__last_time = t_old + with open(self.__time_file, "r", encoding="UTF-8") as file: + t_old = int(file.read()) + self.__last_time = t_old except OSError as ose: # File has not been written yet, this might happen on first run - logger.info('Error reading last timestamp from file: %s', - ose.strerror) + logger.info(f"Error reading last timestamp from file: {ose.strerror}") self.__last_time = 0 if self.__last_time > now: return -1 @@ -114,14 +114,12 @@ def get_last_time_diff(self): def store_current_time(self): """Save current time stamp permanently.""" now = int(time.time()) - file = open(self.__time_file, 'w') - file.write(str(now)) - file.close() + with open(self.__time_file, "w", encoding="UTF-8") as file: + file.write(str(now)) self.__last_time = now class _Updater: - def __init__(self): # update checking self.__update_timer_id = -1 @@ -136,66 +134,70 @@ def __init__(self): self.__backend = dnfdaemon.client.Client() except dnfdaemon.client.DaemonError as error: msg = str(error) - logger.debug('Error starting dnfdaemon service: [%s]', msg) - misc.notify('Error starting dnfdaemon service\n\n%s' % msg, msg) + logger.debug(f"Error starting dnfdaemon service: [{msg}]") + common.notify(f"Error starting dnfdaemon service\n\n{msg}", msg) sys.exit(1) def __get_updates(self): - logger.debug('Checking for updates') + logger.debug("Checking for updates") if self.__backend.Lock(): - pkgs = self.__backend.GetPackages('updates') + pkgs = self.__backend.GetPackages("updates") update_count = len(pkgs) self.__backend.Unlock() - logger.debug('#Number of updates : %d', update_count) + logger.debug(f"#Number of updates : {update_count}") else: - logger.debug('Could not get the dnfdaemon lock') + logger.debug("Could not get the dnfdaemon lock") update_count = -1 if update_count > 0: if self.__mute_count < 1: # Only show the same notification once # until the user closes the notification if update_count != self.__last_num_updates: - logger.debug('notification opened : # updates = %d', - update_count) - notify = _Notification(_('New Updates'), - # Translators: %d is a number of available updates - ngettext('%d available update', - '%d available updates', - update_count) - % update_count) - notify.connect('notify-action', self.__on_notify_action) + logger.debug(f"notification opened : # updates = {update_count}") + notify = _Notification( + _("New Updates"), + # Translators: %d is a number of available updates + ngettext( + "%d available update", "%d available updates", update_count + ) + % update_count, + ) + notify.connect("notify-action", self.__on_notify_action) notify.show() self.__last_num_updates = update_count else: - logger.debug('skipping notification (same # of updates)') + logger.debug("skipping notification (same # of updates)") else: self.__mute_count -= 1 - logger.debug('skipping notification : mute_count = %s', - self.__mute_count) + logger.debug( + f"skipping notification : mute_count = {self.__mute_count}" + ) self.__update_timestamp.store_current_time() self.start_update_timer() # restart update timer if necessary return update_count def __on_notify_action(self, notification, action): - """Handle notification actions. """ - logger.debug('notify-action: %s', action) - if action == 'later': - logger.debug('setting mute_count = 10') + """Handle notification actions.""" + logger.debug(f"notify-action: {action}") + if action == "later": + logger.debug("setting mute_count = 10") self.__mute_count = 10 - elif action == 'show': - logger.debug('Starting: %s', YUMEX_BIN) - flags = Gio.AppInfoCreateFlags.NONE - yumex_app = Gio.AppInfo.create_from_commandline( - YUMEX_BIN, YUMEX_BIN, flags) - yumex_app.launch(None, None) - elif action == 'closed': + elif action == "show": + self.start_yumex() + elif action == "closed": # reset the last number of updates notified # so we will get a new notification at next check self.__last_num_updates = 0 + def start_yumex(self): + logger.debug(f"Starting: {YUMEX_BIN}") + flags = Gio.AppInfoCreateFlags.NONE + yumex_app = Gio.AppInfo.create_from_commandline(YUMEX_BIN, YUMEX_BIN, flags) + yumex_app.launch(None, None) + def startup_init_update_timer(self): - """ start the update timer with a delayed startup. """ - logger.debug('Starting delayed update timer') + """start the update timer with a delayed startup.""" + logger.debug("Starting delayed update timer") GObject.timeout_add_seconds(DELAYED_START, self.start_update_timer) def start_update_timer(self): @@ -211,12 +213,12 @@ def start_update_timer(self): if time_diff == -1 or delay < 0: delay = 0 - logger.debug('Starting update timer with a delay of %i min' - ' (time_diff=%i)', delay, time_diff) + logger.debug( + f"Starting update timer with a delay of {delay} min (time_diff={time_diff})" + ) self.__next_update = delay self.__last_timestamp = int(time.time()) - self.__update_timer_id = GObject.timeout_add_seconds( - 1, self.__update_timeout) + self.__update_timer_id = GObject.timeout_add_seconds(1, self.__update_timeout) return False def __update_timeout(self): @@ -231,11 +233,12 @@ def __update_timeout(self): if cur_timestamp - self.__last_timestamp > 60 * 2: # this can happen on hibernation/suspend # or when the system time changes - logger.debug('Time changed: restarting update timer') + logger.debug("Time changed: restarting update timer") self.start_update_timer() else: self.__update_timer_id = GObject.timeout_add_seconds( - 60, self.__update_timeout) + 60, self.__update_timeout + ) self.__last_timestamp = cur_timestamp return False @@ -247,7 +250,8 @@ def __init__(self): Gio.Application.__init__( self, application_id="dk.yumex.yumex-updater", - flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE) + flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE, + ) self.connect("activate", self.__on_activate) self.connect("command-line", UpdateApplication.__on_command_line) @@ -255,17 +259,31 @@ def __init__(self): self.__main_loop = GLib.MainLoop.new(GLib.MainContext.default(), False) self.add_main_option( - "debug", ord('d'), GLib.OptionFlags.NONE, GLib.OptionArg.NONE, - "Enable advanced debug output", None) + "debug", + ord("d"), + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + "Enable advanced debug output", + None, + ) self.__debug = False self.add_main_option( - "exit", 0, GLib.OptionFlags.NONE, GLib.OptionArg.NONE, - "Quit other updater instance", None) + "exit", + 0, + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + "Quit other updater instance", + None, + ) self.add_main_option( - "delay", 0, GLib.OptionFlags.NONE, GLib.OptionArg.INT, + "delay", + 0, + GLib.OptionFlags.NONE, + GLib.OptionArg.INT, "Specify delay between update notifications, in seconds. " "If omitted, the value will be read from configuration files.", - "timeout") + "timeout", + ) self.__delay = None def __on_activate(self, app): @@ -277,8 +295,7 @@ def __on_activate(self, app): self.__updater.start_update_timer() signals = [SIGINT, SIGTERM, SIGHUP] for signal in signals: - GLib.unix_signal_add_full(GLib.PRIORITY_HIGH, signal, - self.__on_unix_signal) + GLib.unix_signal_add_full(GLib.PRIORITY_HIGH, signal, self.__on_unix_signal) self.__main_loop.run() def __on_unix_signal(self): @@ -287,28 +304,29 @@ def __on_unix_signal(self): def __cleanup_and_quit(self): # all of UpdateApplication is running in main loop, so this is easy - misc.dbus_dnfsystem('Exit') + common.dbus_dnfsystem("Exit") self.__main_loop.quit() def __log_setup(self): if self.__debug: - misc.logger_setup( - logroot='yumex.updater', - logfmt='%(asctime)s: [%(name)s] - %(message)s', - loglvl=logging.DEBUG) + common.logger_setup( + logroot="yumex.updater", + logfmt="%(asctime)s: [%(name)s] - %(message)s", + loglvl=logging.DEBUG, + ) else: - misc.logger_setup() + common.logger_setup() def __on_command_line(self, new_cli): options = new_cli.get_options_dict() - debug = options.contains('debug') - do_exit = options.contains('exit') - if options.contains('delay'): - delay = options.lookup_value('delay', GLib.VariantType("i")) \ - .get_int32() + debug = options.contains("debug") + do_exit = options.contains("exit") + if options.contains("delay"): + delay = options.lookup_value("delay", GLib.VariantType("i")).get_int32() if not delay > 0: new_cli.do_printerr_literal( - new_cli, "Delay must be a number greater than 0.\n") + new_cli, "Delay must be a number greater than 0.\n" + ) return 2 else: delay = False @@ -316,29 +334,30 @@ def __on_command_line(self, new_cli): exit_status = 0 if new_cli.get_is_remote(): # second instance - logger.debug('Successive run. Remote arguments: %s', - " ".join(new_cli.get_arguments())) + args = " ".join(new_cli.get_arguments()) + logger.debug(f"Successive run. Remote arguments: {args}") # --debug if self.__debug: new_cli.do_printerr_literal( - new_cli, "Can't change debug level of remote updater.\n") + new_cli, "Can't change debug level of remote updater.\n" + ) exit_status = 1 # --delay if delay: - logger.debug('Changing delay from remote command') + logger.debug("Changing delay from remote command") self.__delay = delay # TODO restart timer CONFIG.conf.update_interval = delay # --exit if do_exit: # kill dnf daemon and quit - logger.debug('quitting from remote command') + logger.debug("quitting from remote command") self.__cleanup_and_quit() return exit_status # return status of second instance else: # --debug self.__debug = debug self.__log_setup() - logger.debug('First run') + logger.debug("First run") # --delay if delay: self.__delay = delay diff --git a/tools/git2cl.py b/tools/git2cl.py index 1acece0..157dcf0 100644 --- a/tools/git2cl.py +++ b/tools/git2cl.py @@ -20,6 +20,8 @@ messageNL = False files = "" prevAuthorLine = "" +date = "" +author = "" # The main part of the loop for line in fin: @@ -74,7 +76,7 @@ continue # Collect the files for this commit. FIXME: Still need to add +/- to files elif authorFound & dateFound & messageFound: - fileList = re.split(' \| ', line, 2) + fileList = re.split(r' \| ', line, 2) if len(fileList) > 1: if len(files) > 0: pass diff --git a/tools/update-translations.sh b/tools/update-translations.sh new file mode 100755 index 0000000..7635169 --- /dev/null +++ b/tools/update-translations.sh @@ -0,0 +1,27 @@ +#!/bin/bash + + +PYFILES=$(find src -name "*.py") +GLADEFILES=data/ui/*.ui +OTHERFILES=misc/*.in +POTFILES="$PYFILES $OTHERFILES $GLADEFILES" +# Generate a new yumex-dnf.pot & a LINGUAS + +function generate_pot() +{ + cd po + >yumex-dnf.pot + for file in $POTFILES + do + xgettext --from-code=UTF-8 -j ../$file -o yumex-dnf.pot + done + >LINGUAS + for po in *.po + do + language=${po%.po} + echo $language >>LINGUAS + done + cd .. +} + +generate_pot \ No newline at end of file diff --git a/yumex-dnf.spec b/yumex-dnf.spec index 628b51c..8c19d3b 100644 --- a/yumex-dnf.spec +++ b/yumex-dnf.spec @@ -1,7 +1,7 @@ %global appname yumex Name: %{appname}-dnf -Version: 4.4.0 +Version: 4.5.0 Release: 1%{?dist} Summary: Yum Extender graphical package management tool @@ -15,7 +15,9 @@ BuildRequires: desktop-file-utils BuildRequires: gettext BuildRequires: intltool BuildRequires: python3-devel >= 3.8 -BuildRequires: make +BuildRequires: meson +BuildRequires: python3-libsass +BuildRequires: libappstream-glib Requires: python3-dnfdaemon >= 0.3.10 Requires: python3-gobject >= 3.10 @@ -34,13 +36,11 @@ Graphical package tool for maintain packages on the system %build -make %{?_smp_mflags} - +%meson +%meson_build %install -make install PYTHON=%{__python3} DESTDIR=%{buildroot} DATADIR=%{_datadir} -desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop -desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}-local.desktop +%meson_install %find_lang %name @@ -62,13 +62,16 @@ update-desktop-database %{_datadir}/applications &> /dev/null || : %doc README.md COPYING %{_datadir}/%{name} %{_bindir}/%{name}* -%{python3_sitelib}/* +%{python3_sitelib}/%{appname}/ %{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/ -%{_datadir}/appdata/*.xml +%{_metainfodir}/%{name}.metainfo.xml %changelog +* Sat Sep 17 2021 Tim Lauridsen 4.5.0-1 +- bumped release to 4.5.0 (dev) + * Fri Jun 4 2021 Tim Lauridsen 4.4.0-1 - bumped release to 4.4.0 (dev)